오픈소스의 개념

오픈소스는 GPL기반의 프로그래밍 협업 개념입니다. 언제 어디서나 커뮤니티를 통해 발전해왔고 앞으로도 그럴것입니다.
이 페이지에서는 오픈소스의 개념에 대해 알아봅시다.
Features
- 오픈소스란?
- 자유로운 재배포 : 오픈소스 라이선스는 라이선스 소유자가 무상으로 소프트웨어를 재배포하는 것을 제한할 수 없다. 유상으로 배포할지, 무상으로 배포할지에 대한 결정은 전적으로 각 라이선스 소유자들에게 달려있어야만 한다. 오픈소스 소프트웨어 제공자들이 미디어, 메뉴얼, 오픈소스 제품에 지원되는 것들에 대해서 요금을 부과하는 것이 일반적이다. 현실적으로 이 조항으로 인해 오픈소스 소프트웨어들은 낮은비용 혹은 무료로 제공된다.
- 소스코드 : 대부분 소스코드는 바이너리에 포함되어 있지만 필수 조건은 아니다. 그러나 만약 소스가 바이너리로 제공되지 않는다면 무료로 다운로드 할 수 있어야한다. 실제로 소스코드를 사용할 수 있기 때문에, 누구나 버그를 수정할 수 있고 소프트웨어를 향상시킬 수 있다.
- 파생 저작물 : 라이선스는 소프트웨어를 수정하고, 수정한 소프트웨어를 재배포 할 수 있도록 허락해야만 한다. 만약 여러분이 오픈소스 소프트웨어를 획득했다면, 여러분은 그것을 자유롭게 변경할 수 있고, 변경된 버전을 자유롭게 재배포 할 수 있다.
- 저작자의 소스코드 무결성 : 오픈소스 커뮤니티 내의 일반적인 개발과정에서 마스터 소스 트리는 보통 관리자에 의해 관리된다. 관리자가 소스구조에 어떤 개발자의 코드를 MERGE하는 것을 거부하더라도 여전히 코드를 적용하고 싶어 하는 경우가 있을 수 있다. 따라서 라이선싱을 하고 승인하는 입장에서는 어떤 수정으로 부터 공식적인 소스를 분리할 수 있는 확실한 방법을 필요로 한다. 그 확실한 방법은 패치라는 이름하에 그 소스를 공개하도록 하는 것이다. 이는 원본이 누구에 의해 만들어진것인지를 알리는 동시에 덧붙여진 코드가 누구의 것인지도 알릴 수 있다. 패치버전이 만들어지는 것을 허용해야 한다는 것이 이 조항의 핵심이지만 원본저자를 숨기지 말하야한다는 전제가 반드시 필요하다.
- 개인 및 단체에 대한 차별금지 : 오픈소스 라이선스가 개인이나 단체에 대해 소프트웨어의 사용이나 배포를 금지해서는 안된다. 특정 사용자를 싫어하는지의 여부는 중요한 것이 아니다. 어떠한 제한도 금지한다.
- 사용 분야에 대한 차별 금지 : 오픈소스 라이센스가 정치적,사회적,문화적 가치를 소스코드 사용자들에게 강요할 수 없고 상업화 또한 막을 수 없다.
- 라이선스의 배포 : 배포시의 라이센스가 유일한 라이센스이다. 따로 계약을 해야하거나 하는 등의 요구는 금지한다.
- 특정제품에만 유효한 사용 허가의 금지 : 특정 제품에만 소프트웨어를 쓰도록 강제할 수 없다.
- 다른 소프트웨어 제품을 사용제한하는 라이센스의 금지 : 오픈소스와 같이 제공되는 소프트웨어가 있을 때 이 소프트웨어를 제한해서는 안된다. 요컨데 라이센스는 오픈소스 그자체에만 해당한다. 다른 것에까지 전염시킬 수 있는 라이센스는 허가하지 않는다.
- 아래 사이트에서 오픈소스 정의에 대한 원본을 볼 수 있습니다.
- </li> </ul> </div>
이 페이지에서는 오픈소스의 개념에 대해 알아봅시다.
오픈소스란 무엇인가? 오픈소스라는 개념은 단순히 소스코드를 개방하고 재배포 할 수 있음을 의미하는 것은 아니다. 이런 단순한 정의는 법적, 사회적 문제를 가져올 수 있기에 좀 더 정교한 형태의 정의가 필요하다. 1998년에 프브루스 페렌스와 에릭 레이먼드는 대기업인 넷스케이프가 자사제품을 오픈소스로 전환하자 이에 고무되어 오픈 소스 이니셔티브(Open Source Initative)라는 단체를 만들어 오픈소스에 대한 정교한 정의를 내렸다. 모든 오픈소스 라이센스들, 이를테면 고전적인 GPL부터 현대적인 MIT,WTFPL까지의 것들이 만족해야하는 라이센스의 라이센스와 같은 것이라 보면 된다. 오픈소스의 정의는 아래의 9개 조건을 만족하는 소스코드로 제한한다.