한 마디로 말해서, 오픈 소스는 협업(collaboration)이라고 할 수 있다. 보다 구체적으로 말하면, 소프트웨어 프로젝트에 대한 공개적 협업(public collaboration)이다. IBM은 리눅스 개발에 10억 달러 이상을 투자한 것 외에도120개 이상의 프로젝트에 기여함으로서 오픈 소스에 헌신하고 있다. Open Source Initiative(OSI)는 다음과 같이 정의를 내리고있다. “오픈 소스는 독립적인 피어 리뷰와 재빠른 소스 코드 진화를 지원하여 소프트웨어의 신뢰성과 품질을 촉진하고 있다. OSI의 인증을 받기 위해서는, 소프트웨어가 무료로 읽혀지고, 재배포, 변경, 수정될 수 있음을 보장하는 라이센스를 통해 배포되어야 한다.”
오픈 소스는 이 같은 소프트웨어 사용을 주류에 편입시키고자 하는 개인, 조직, 기업들의 대중적인 움직임에도 적용될 수 있다. Open Source Initiative는 오픈 소스가 될 수 있는 10 가지 조건들을 발표했다. 오픈 소스는 소스 코드에 접근하는 것만을 의미하지는 않는다. 오픈 소스 소프트웨어의 배포 조건은 다음의 기준들을 따른다.
1. 무료 재배포 라이센스는 여러 다른 소스들의 프로그램을 포함하고 있는 집합적 소프트웨어 배포판의 컴포넌트로서 소프트웨어의 판매나 기부에 대해서 그 어떤 누구도 배제되어서는 안된다. 라이센스는 로열티 또는 판매 비용이 없다.
2. 소스 코드 프로그램에는 소스 코드가 포함되어 있어야 하며 소스 코드 형태와 컴파일이 완료된 형태로 배포될 수 있어야 한다. 특정 형태의 제품이 소스 코드로 배포되지 않으면 소스 코드를 구매해야 하며 인터넷을 통해 무료로 다운로드 해야 한다. 소스 코드는 프로그래머가 프로그램을 변경하기에 좋은 형식이다. 알아보기 힘든 소스 코드는 사용될 수 없다. 프리프로세서(preprocessor)의 아웃풋 또는 트랜슬레이터 같은 중간 형태도 사용될 수 없다.
3. 파생 작업 (Derived work) 라이센스는 변경과 파생 작업이 가능해야 한다. 원래의 소프트웨어 라이센스와 같은 조건 하에 배포되어야 한다.
4. 소스 코드의 무결성 구현 시 프로그램을 변경할 목적으로 소스 코드와 함께 “패치 파일”의 배포를 허용하는 경우에만, 라이센스는 소스 코드가 변경된 형태로 배포되는 것을 제한한다. 라이센스는 변경된 소스 코드에서 구현된 소프트웨어의 배포를 허용해야 한다. 라이센스는 파생 작업(derived work)을 통해 다른 이름 또는 다른 버전을 만들어야 한다.
5. 개인 또는 그룹의 평등 라이센스는 어떤 개인이나 그룹에 차별을 두어서는 안된다.
6. 분야에 대한 평등 라이센스는 특정 분야에서 프로그램을 사용하는 것에 대해 제한을 두어서는 안된다. 예를 들어, 프로그램은 비즈니스 또는 유전공학 연구 분야에서 사용될 수 있다.
7. 라이센스 배포 프로그램에 대한 권한은 프로그램이 재배포 된 모든 곳에 적용되어야 한다. 추가 라이센스를 발행할 필요가 없다.
8. 제품 스팩에 따른 라이센스 프로그램에 대한 권한은 특정 소프트웨어 배포판의 프로그램의 일부에 해당하지 않는다. 프로그램이 그 배포판에서 추출되었고, 그 프로그램의 라이센스의 조건 하에 사용 및 배포된다면 재배포 된 프로그램을 사용하는 모든 당사자들은 원래의 소프트웨어 배포판에서 허용된 것과 같은 권한을 갖게 된다.
9. 라이센스는 다른 소프트웨어를 제한하지 않는다. 라이센스는 라이센스를 받은 소프트웨어와 함께 배포된 다른 소프트웨어에 제약 사항을 두어서는 안된다. 예를 들어, 같은 미디어에 배포된 모든 다른 프로그램들이 오픈 소스 소프트웨어가 될 필요는 없다.
10. 라이센스는 기술 중립적이어야 한다. 라이센스는 기술이나 인터페이스 스타일을 한정해서는 안된다.
developerWorks 기술자료 "Open source licensing, Part 1: The intent" 와 "Open source licensing, Part 2: Academic v. reciprocal" 을 참조하라. |