오픈 소스 같은 가장 광범위하게 성장하고 있는 소프트웨어의 개발 분야를 시작하려는 분들을 위한 지침서이다. 오픈 소스 존에서는 하우투 정보, 툴, 프로젝트 업데이트 등을 통해 IBM 제품을 사용하여 오픈 소스 기술을 개발하고 사용하는 방법에 대한 가이드라인을 제공하고 있다. Eclipse, Apache Derby, Apache Geronimo, 그리고PHP, Python, Perl, 같은 스크립팅 언어들, 라이센싱과 오픈 소스 개발 관련 디스커션 등의 주제들을 다룬다. |
오픈 소스란 무엇인가? |
한 마디로 말해서, 오픈 소스는 협업(collaboration)이라고 할 수 있다. 보다 구체적으로 말하면, 소프트웨어 프로젝트에 대한 공개적 협업(public collaboration)이다. IBM은 리눅스 개발에 10억 달러 이상을 투자한 것 외에도120개 이상의 프로젝트에 기여함으로서 오픈 소스에 헌신하고 있다. Open Source Initiative(OSI)는 다음과 같이 정의를 내리고있다. “오픈 소스는 독립적인 피어 리뷰와 재빠른 소스 코드 진화를 지원하여 소프트웨어의 신뢰성과 품질을 촉진하고 있다. OSI의 인증을 받기 위해서는, 소프트웨어가 무료로 읽혀지고, 재배포, 변경, 수정될 수 있음을 보장하는 라이센스를 통해 배포되어야 한다.” 오픈 소스는 이 같은 소프트웨어 사용을 주류에 편입시키고자 하는 개인, 조직, 기업들의 대중적인 움직임에도 적용될 수 있다. Open Source Initiative는 오픈 소스가 될 수 있는 10 가지 조건들을 발표했다. 오픈 소스는 소스 코드에 접근하는 것만을 의미하지는 않는다. 오픈 소스 소프트웨어의 배포 조건은 다음의 기준들을 따른다. 1. 무료 재배포 2. 소스 코드 3. 파생 작업 (Derived work) 4. 소스 코드의 무결성 5. 개인 또는 그룹의 평등 6. 분야에 대한 평등 7. 라이센스 배포 8. 제품 스팩에 따른 라이센스 9. 라이센스는 다른 소프트웨어를 제한하지 않는다. 10. 라이센스는 기술 중립적이어야 한다. developerWorks 기술자료 "Open source licensing, Part 1: The intent" 와 "Open source licensing, Part 2: Academic v. reciprocal" 을 참조하라. |
|
오픈 소스 기술이 중요한 이유 |
대부분의 사용자들이 오픈 소스 소프트웨어에 끌리는 첫 번째 매력은 가격이다. 오픈 소스 프로그램들은 종종 그 작성자가 누구인지 모른다. 하지만 무료에 가까운 비용이 오픈 소스 소프트웨어의 근본적인 매력은 아니다. 다음은 오픈 소스 개발을 지지할 수 밖에 없는 논거이다.
|
|
FOSS란 무엇인가? |
FOSS는 Free and Open Source Software의 약자이다. 이 용어는 무료 또는 오픈 소스에 대한 정의를 충족시키는 소프트웨어에 사용된다. |
|
“공짜 맥주”와 “자유 연설” 사이에서의 오픈 소스의 입장 |
영어 단어 "free"는 자유(freedom) 또는 “공짜(gratis)” 의미한다. 오픈 소스 사용자들이 “free”라는 단어를 사용할 때에는 “공짜(free) 맥주”의 “공짜(free)”를 의미하는 것이 아닌 “연설의 자유(free speech)”에 사용되는 “자유(free)”를 의미하는 것이다. 누군가는 맥주(또는 소프트웨어)를 만들 때 비용을 지불해야 하는 반면, 어떤 사람들은 무료로 사용할 수도 있다. |
|
오픈 소스를 시작하는 방법은? |
오픈 소스 소프트웨어를 개발하겠다는 결정은 정치적인 이슈이자 라이센스 이슈이다. 기술적인 문제가 아니다. OSI의 승인된 오픈 소스 라이센스 리스트를 참조하여 필요에 맞게 선택하고 프로젝트 계획을 세워야 한다. developerWorks 기술자료 "Open source licensing, Part 1: The intent" 와 "Open source licensing, Part 2: Academic v. reciprocal" 을 참조하라. 기존 라이센싱 조건을 이해할 수 없다면 지적 재산권에 대한 전문가와 상의하라. 2005년 초반, 오픈 소스 라이센스 선지자들은 오픈 소스 라이센스가 더 적어질 것이라고 예견했다. 비록 그러한 예견이 기대한 것 보다 희망적인지는 불투명하다. |
|
LAMP란 무엇인가? |
LAMP는 Linux, Apache, MySQL, PHP를 의미한다. 하지만 누구와 이야기하는가에 따라서 P는 Perl 또는 Python을 의미할 수도 있다. 일반적으로 P는 PHP를 의미한다. LAMP는 두 가지 큰 뜻이 있다. LAMP는 소유권이 없는, 유연한 서버 기반 애플리케이션 개발 방식이다. 이 조건을 구성하고 있는 각 프로그램들은 애플리케이션의 필요에 가장 잘 맞는 대안으로 대체될 수 있다. 각 컴포넌트는 독립적으로 업그레이드 된다. 물론 특별한 주의와 계획이 필요하다. 무엇보다도 LAMP의 각 프로그램은 무료이다. developerWorks는 Linux, Apache, MySQL, PHP, Python, Perl 관련하여 엄선된 기술자료와 튜토리얼을 제공하고 있다. |
|
오픈 소스를 작성할 수 있는 언어는? |
거의 모든 언어가 가능하다. 오픈 소스 뒤에 숨은 기술은 오픈 소스의 가장 중요한 요소가 아니다. 중요한 요소는 작성자들이 소프트웨어를 오픈 소스로 배포하고 많은 오픈 소스 라이센스들 중 하나를 사용하겠다는 결정인 것이다. 승인된 라이센스를 참조하라. |
|
오픈 소스 소프트웨어는 합법적인가? |
그렇다. 그리고 이메일을 사용하거나 웹 서핑을 하는 거의 모든 사람들이 오픈 소스 소프트웨어 사용자라고 할 수 있다. 대부분의 이메일은 인터넷을 돌아다니는 동안 오픈 소스 서버를 통해 전달된다. 대부분의 웹 서버는 오픈 소스 소프트웨어 기반이다. Google도 오픈 소스 기반이다. OSI는 메일 전송, 인터넷 실행 축, 웹과 FTP 서버가 모두 오픈 소스 기반이라고 밝힌 바 있다. 오픈 소스 소프트웨어는 저작권 소유자의 허락이나 적절한 라이센스 없이 배포되는 소프트웨어인 “warez”가 아니다. |
|
IBM의 오픈 소스를 위한 노력은? |
IBM은 오픈 소스 혁신과 협업을 지원하는 중요한 힘이라고 할 수 있다. 120개 이상의 협동 프로젝트에 참여하여 Eclipse, Derby, Geronimo, Globus 같은 오픈 소스 커뮤니티에 기여하고 있다. IBM은 개발과 혁신을 위한 “patent commons”에 500 개 페이턴트를 기부했다. IBM은 10억 달러 이상을 리눅스 개발에 투자하고 있다. IBM은 개발 커뮤니티가 리눅스를 채택하고, 또 리눅스로 마이그레이션 할 수 있도록 장려하고 있으며 엔터프라이즈 레벨의 오픈 소스 개발 툴까지 확장하고 있다. |
|
IBM은 오픈 소스 라이센스가 있는가? |
그렇다. Common Public License가 있다. Common Public License (CPL) Frequently asked questions 참조.) 2005년 초에, 오픈 소스 라이센스 선각자들은 이 커뮤니티가 라이센스를 조금 더 갖추게 될 것이라고 예견했다.
출처: http://www.ibm.com/developerworks/kr/opensource/newto/index.html |