18-1 오픈소스 Ⅱ
오픈소스
오픈소스란?
- 누구나 자유롭게 접근하고, 수정하고, 배포할 수 있는 소스코드
- 다수가 참여하여 만드는 집단지성의 결과물
- 넓은 관점에서 위키피디아 같은 온라인 백과사전도 오픈소스의 일종
오픈소스 기여 시도를 통해 얻는 장점
- 좋은 코드에 대해 학습이 가능
- 협업 방식에 대해 배울 수 있다
- 포트폴리오 / 영어, 코드 독해실력 향상
대포적인 오픈소스 라이선스 비교
| MIT | Apache | GPL |
|---|
| 무료 | ⭕ | ⭕ | ⭕ |
| 배포 가능 여부 | ⭕ | ⭕ | ⭕ |
| 2차 저작물 공개 의무 | X | X | ⭕ |
| | | |
| 대표 소프트웨어 | 부트스트랩 | 안드로이드 | 리눅스 커널 |
오픈소스 기여를 위한 사전지식
Markdown
- 텍스트 형식 구문의 가벼운 마크업 언어
- 개발 도메인에서 문서 작업에 널리 사용됨
- 간결한 문법과, 지원하는 플랫폼이 광범위함
Git
- 소스코드 버전 관리 시스템 (Version Control System; VCS)도구
- 세이브 포인트 같은 역할
- 소스코드의 변경 내역을 추적하고 관리하기가 용이
Github
- 깃허브(Github)는 분산 버전 관리 툴인 깃(Git)을 사용하는 프로젝트를 지원하는 웹호스팅 서비스
- 원격 저장소를 통하여 소스코드를 원격으로 관리하고 협업 할 수 있다
- 많은 오픈소스가 Github 서비스를 이용하여 관리되고 있다
기타
오픈 소스 기여는 쉬운가 어려운가?
- 마라톤이나 달리기 처럼 자신의 역량에 맞는 프로젝트에 도전 (100m, 1km, 39km)
- 명확한 목표를 세우고 기여 과정을 통해서 얻을 수 있는 장점을 중점으로 시작하면 좋음 (문서 기여, 버그 제보 같이 쉬운단계부터)