3. 오픈소스는 무료인가?
• 실제로 비용이 들지 않는다는 점은 오픈소스의 매력 중
하나입니다.
• 비용이 들지 않는다 == 무료 ? TRUE ???
>아니다. 라이선스를 지켜야 한다.
저작권자가 라이센스에 명시한 무료 사용 조건과 의무 사항
지킬 시 무료!!
4. 오픈소스 사용 시 주의할 점
• 오픈소스의 출처와 저작권 라이선스 정보를 남겨야 한다.
Q . 그럼 어떻게 남길까?
- 소스코드 시작 부분에 저작권과 라이선스 정보 주석으로 명시!
이 주석 부분을 절대로 지우지 말자!
훗날 내 프로젝트를 오픈소스로 공개할 경우도 있을 수 있으니.
(대부분의 오픈소스가 저작권과 라이선스 정보 표기를 의무 조항으로
두고 있음!!)
6. 오픈소스 라이선스 주요 요구 사항
• 저작권, 개발자 및 컨트리뷰션 정보의 표시
• 소스 코드를 수정한 정보(수정한 사람, 수정 일자 등)의 표시
• 라이선스 정보의 제공(배포자 > 해당 라이선스의 사본을 함께 첨부 해야함.)
• 동일한 라이선스로 재배포(copyleft 라이선스(GPL)는 사용자가 소프트웨어를 수정한
후 배포하고자 할 때 수정된 소프트웨어도 동일한 라이선스로 배포할 것을 요구)
• 소스코드의 제공
(copyleft 조항을 포함하는 라이선스는 소프트웨어를 배포할 때 소스코드까지 함께
배포하도록 요구)
7. COPYLEFT란?
• copyleft란 소프트웨어를 배포할 때, 수정 유/무에 관계
없이, 복사/수정의 권리를 함께 주어야만 하는 것이다.
• copyleft는 모든 사용자들에게 자유를 보장해 준다.
• 지적 소유권(copyright)가 상용 소프트웨어들에서는 사
용자들의 권리를 빼앗기 위하여 사용되지만, 여기서는
사용자들의 권리를 보장하기 위하여 사용된다.
9. 컨트리뷰션 시작하기
• 컨트리뷰션의 유형
- 오타 수정 (https://github.com/facebook/flux/pull/320)
- 번역 (https://github.com/Quick/Quick/tree/master/Documentation/ko-kr)
- 가이드 문서 작성 (https://github.com/pypa/python-packaging-user-
guide/issues/194)
- 디자인 작업 …
- 의견 제시 …
- 기타 등등 …
10. 컨트리뷰션 활동 이유
•전 세계 개발자에게 멘토링 받을 수 있음
•이력서에 활용 가능
•코딩 능력 향상
•+ETC..
11. 컨트리뷰션 전 사전 지식(1)
• 사용자 : 프로젝트 사용하는 사람
• 컨트리뷰터 : 프로젝트에 컨트리뷰션 활동을 하는 모든 사람
• 커미터 : 다른 사람의 컨트리뷰션 내용을 리뷰하고 프로젝트에 반영할 권한을 가진
컨트리뷰터. (커미터가 없는 프로젝트도 있다.)
• 메인테이너 : 프로젝트의 방향을 설정하고 프로젝트를 관리하는 책임이 있는 컨트
리뷰터. 보통 커미터 중 일부가 메인테이너가 된다. (메인테이너가 없는 플젝도 있
음.)
• 저작자 : 프로젝트를 만든 사람 또는 조직
12. 컨트리뷰션 전 사전 지식(2)
• README 문서 : 프로젝트 목적, 사용 방법 설명
• LICENSE 문서 : 오픈소스 라이선스 명시한 문서
• CONTRIBUTING 문서 : 프로젝트에 어떻게 컨트리뷰션
활동을 할 수 있는지 설명한 문서.
(컨트리뷰션 절차 포함)
• + 코딩 컨벤션 등등..
13. 오픈소스 프로젝트 커뮤니케이션 방식
• 이슈 트래커
• Slack or IRC - 실시간 채팅 채널 사용
• Github’s Pull&Request - 기능 제안 or 코드 주고 받는
것
• 메일링 리스트
14. 오픈소스 찾는 방법?
• 1) 핫한 오픈소스를 찾아라! (현재 사용하고 있는 오픈
소스를 뒤져보자)
• 2) 오픈소스 라이선스를 명시한 프로젝트인지 확인
• 3) 커뮤니티가 컨트리뷰션을 적극적으로 수용하는지
확인
• 4) 새로운 사람들에게 우호적인가?(구성원들이 얼마나
빨리 답변해주는가 확인)
15. 컨트리뷰션시 주의사항
• 기존에 있는 이슈를 수정하고자 할 때, 작업 시작을 다른 사람들이
알 수 있게 이슈에 의견을 다는 것이 좋다.
(동일한 작업을 다른 사람이 시작하는 걸 예방 할 수 있음)
• 작업한 결과물을 프로젝트에 적용해 달라고 요청할 때는 컨트리뷰
션 가이드에 따라 요청해야함
(코딩 컨벤션, 사전 테스트 등이 있을 수 있음)
• 겸손한 자세
(문화, 지역, 시간대에 따라 문맥의 의미가 달라질 수 있음)
16. 컨트리뷰션 이후
• 응답 받지 못할 수 있음
• 거절당할 수도 있음
> 궁극적으로 커뮤니티 결정을 존중해야 함.
• 컨트리뷰션 내용을 개선하거나 수정해 달라는 요청을 받을 수 있
음
변경 가능 여부, 필요한 시간 등의 내용을 답변으로 보내줘야 함.
잘 모르겠으면 커뮤니티에 도움 청하면 됨