Code 3. Derived Works 4. Integrity of The Author’s Source Code 5. No Discrimination Against Person or Groups 6. No Discrimination Against Fields of Endeavor 7. Distribution of License 8. License Must Not Be Specific to a Product 9. License Must Not Restrict Other Software 10.License Must Be Technology-Neutral
코드 3. 파생 저작물 4. 저작자의 소스 코드 원형 유지 5. 개인 및 단체에 대한 차별 금지 6. 사용 분야에 대한 차별 금지 7. 사용 허가의 배포 8. 특정 제품에만 유효한 사용 허가의 금지 9. 다른 소프트웨어를 제한하는 사용 허가의 금지 10.사용 허가의 기술 중립성 http://korea.gnu.org/documents/copyleft/osd-korean.html
적용해 볼 수 있음 • 다양한 사람들과 협업하는 경험을 얻을 수 있음 • 고수가 작성한 코드를 읽어볼 수 있음 • 다른 사람이 내 코드를 리뷰해 줌 (나도 다른 사람의 코드를 읽으며 리뷰할 수 있음) • 학교에서 아무도 신경 쓰지 않는 것의 중요함을 알게 됨 (문서화, 테스트 케이스 등) • …
배움 • Java는 HashMap이라는 Hash table 구현을 제공하지만, 때때로 직접 만들어 써야할 때도 있음 • 빠른 속도가 필요한 경우 • Garbage collection의 영향에서 벗어나고 싶은 경우 • Flink도 Hash table을 직접 구현한 MutableHashTable 을 만들어서 씀 • 그런데 여기에 버그가 있었음 Background
다른 사람이 작성한 코드를 읽는 능력 • 기여에 필요한 새로운 지식 • 커뮤니티의 높은 기준을 바탕으로 한 내가 작성한 코드에 대 한 꼼꼼한 리뷰 (영어 실력은 덤) • 버전 관리 시스템의 고급 기능 (cherry-pick, rebase, …) • 문서화와 테스트 케이스 작성 요령 • …
프로그램 • 풀 타임, 파트 타임 기여자로 나누어 매달 장려금 지급 • 개발에 필요한 장비 구매 비용 지원 • 다양한 현업 개발자 분에게 멘토링을 받을 수 있도록 필요 경비 지원 • 24시간 개방 되어 있는 개발 공간 제공 (누리꿈스퀘어) • 세미나, 소모임 등을 할 수 있도록 공간 (토즈) 대여 비용 지원 • 가상 개발 환경 비용 지원 • …
• 오픈 소스 프로젝트 기여를 통해 많은 것을 얻을 수 있음 • 내 코드에 대한 리뷰 • 이론의 실제 적용 • 적용하려면 탄탄한 이론적 배경이 필요! • 기여에 필요한 다양한 지식 • 다양한 사람들과의 협업 경험 • 시도하기만 하면, 기여하는 것은 크게 어렵지 않음 • 다양한 지원 프로그램도 있음!
시장” • http://www.hanbit.co.kr/ebook/look.html?isbn=9788968486562 • 송우일, “꾸준히, 자유롭게, 즐겁게: 한국 오픈 소스 개발자 들 이야기” • http://osdi.insightbook.co.kr/ • 허준회, “만화로 나누는 오픈소스 이야기” • http://www.joone.net/