SEMINAR
“개발자들은 디지털로 변화하는 세계의 코드를 작성하는 새로운 시대의 건축가이며, 깃허브는 그들의 집이 될 것입니다. 마이크로소프트는 깃허브와 협력해 개발자의 자유, 개방성, 혁신에 대한 의지를 강화하겠습니다. 이번 인수를 통해 마이크로소프트는 공동체 책임을 인식하고 모든 개발자가 세계에서 가장 시급한 과제들을 혁신하고 해결할 수 있도록 최선을 다할 것입니다.” – Satya Nadella, the CEO of Microsoft
2018년 마이크로소프트가 세계 최대 오픈소스 코드 공유 플랫폼인 깃허브를 인수하며 IT 산업에서 오픈소스의 비중이 얼마나 크게 성장했는지 명확하게 알 수 있었던 대목이었습니다. 이처럼 오픈소스 프로젝트는 다양한 개발자가 참여하여 만드는 최신의 실질적인 기술을 나타내며, 자율적으로 소통하고 협업하여 생산해 나가는 문화는 주목할 만한 가치가 있습니다.
소프트웨어라는 지식 공유 자원을 발전시키고 유지하기 위한,
야심찬 Open Source Contributor 여정을 시작해 볼까요?
🤔 왜 오픈소스에 기여할까요?
오픈소스는 그 자체의 혁신성에 주목할 수 있는데요. 오픈소스 소프트웨어 개발은 일반 상업적인 소프트웨어 개발과 큰 차이를 볼 수 있습니다. 일반 상업적인 소프트웨어의 경우에는 이윤을 추구하는 목적으로 개발이 진행되는 반면, 오픈소스 소프트웨어는 개발 과정 전체가 대중에게 공개되어 있습니다. 오픈소스 프로젝트에 관심이 있는 대중들은 누구나 소스 코드에 대한 자유로운 접근과 수정 그리고 재배포가 가능합니다.
바로 여기서 궁금증이 생길 수 있습니다. 오픈소스는 어떠한 금전적인 보상도 없는데,
어떻게 해서 개발자들은 지금까지도 컨트리뷰션 활동을 통해 오픈소스에 기여하고 있는 걸까요??
- 소프트웨어 개선 : 작은 버그의 문제를 제기하더라도 수백만 명이 작업에 의존하는 소프트웨어를 개선할 수 있습니다.
- 기술 습득 및 기술 공유 : 오픈소스 프로젝트 기여에서 새로운 기술과 도구를 배울 수 있습니다. 다른 개발자들은 어떠한 방식으로 문제를 해결했는지, 최신 기술 활용 등을 배울 수 있습니다.
- 커뮤니케이션 능력 향상 : 오픈소스에 기여하며 다른 개발자들과 네트워크를 형성할 수 있습니다. 새로운 사람들 만나고 프로젝트에서 다른 개발자들과 협력하고 의사소통하며 다양한 경험을 쌓을 수 있습니다.
- 명성 구축 : 오픈소스 프로젝트에 기여하는 것만으로도 타인에게 신뢰와 인정을 받으며 개인의 명성을 쌓기 좋은 방법입니다.
이 외에도 오픈소스 생태계에 기여를 통해 본인의 역량을 높이거나 자신만의 브랜드를 만들기 위해서 컨트리뷰션 활동을 할 수 있습니다. 이러한 혁신성에 기초하여 계속해서 오픈소스가 발전하고 있습니다.
🧑🏻💻 오픈소스 기여 유형
성공적인 오픈소스 소프트웨어 프로젝트에서는 폭넓은 사람들의 참여를 기반으로 커뮤니티가 형성됩니다. 개발자들은 오픈소스 프로젝트의 버그를 수정하거나, 새로운 기능을 추가한 뒤에 프로젝트 관리자에게 새로운 코드를 제안하게 됩니다. 제안된 코드는 검토를 거쳐 병합 여부가 결정된답니다.
버그 수정 외에도 오픈소스 프로젝트에 기여할 수 있는 유형은 아래와 같이 다양하게 있습니다. 일반적인 오픈소스 프로젝트 기여의 28%는 문서화, 입력 오류 수정 또는 번역 등입니다. 따라서, 다양한 방법으로 오픈소스에 기여할 수 있습니다!
- 코드 및 오타 수정 : 애플리케이션의 기능적 동작을 개선하거나 강화하는 코드를 작성할 수 있습니다.
- 번역 : 프로젝트 문서 다국어 번역을 지원하여 작성할 수 있습니다.
- 가이드 문서 작성 : 가이드 폴더 선별 및 프로젝트 내 특정 섹션을 설명하기 위한 튜토리얼 작성을 할 수 있습니다.
- 디자인 작업 : 새로운 로고 작업 및 레이아웃 재구성 등 디자인 작업을 처리할 수 있습니다.
- 기타 의견 제시
💜 Cloudforet 오픈소스 프로젝트에 기여하는 방법
수많은 오픈소스 프로젝트 중에서 Linux Foundation에 등재된 멀티 클라우드 관리 플랫폼인 Cloudforet에 기여해 보기로 했습니다.
1) 가이드라인 읽기 : 모든 프로젝트별 기여를 위한 지침이 포함된 파일이 있습니다. 파일 이름은 README, CONTRIBUTING 등이 될 수 있습니다.
2) 이슈 확인 : 가이드 문서 중에서 오타를 발견해서 오타 수정에 대한 PR을 날렸습니다. 앞서 말씀드렸던 바와 같이 오탈자도 오픈소스 기여 중 하나의 유형입니다.
3) 기능 제안 제출 : 오탈자를 발견했다! 하면 프로젝트 우측의 Fork 버튼을 눌러 내 계정의 원격 저장소에 복사합니다. 그리고 수정하고 싶은 파일을 찾아서 GitHub 우측에 있는 edit 버튼을 눌러 수정을 진행합니다.
4) Pull Request : 내 원격 저장소에 반영했다면 메인 저장소에도 반영해야 되겠죠? 나의 저장소에서 Pull Request 버튼을 누른 뒤 메인 저장소의 Pull Request 버튼을 누르면 작성한 PR을 확인할 수 있습니다.
모든 과정을 충족했다면 오픈소스 메인테이너가 확인 후 Confirm Merge 버튼을 누르면 메인 저장소에 반영이 됩니다. 오픈소스 기여 참 쉽죠?
✨ 마치며
오픈소스 기여 방법에 대해서 어떻게 보셨나요? 오픈소스 프로젝트 기여는 생각보다 진입장벽이 높지 않고 누구나 할 수 있다는 점에서 주목할 부분인 것 같습니다.
“보는 눈이 많으면, 모든 버그는 사라진다”라는 리누스 법칙처럼, 다수의 참여가 지속될 경우 오픈소스 프로젝트는 더욱 높은 수준을 가질 수 있습니다. 이렇듯 개발자들의 참여로 완성되는 오픈소스 프로젝트는 대중의 적극적인 참여가 없다면 완성이 불가능합니다.
모두 오픈소스 프로젝트 Cloudforet 기여를 시작할 준비가 되셨나요?
👉 SpaceONE Tech Blog (클릭)
👉 SpaceONE 공식 홈페이지 (클릭)
👉 문의사항이 있다면? spaceone-support@megazone.com
👉 개발자 문서 바로가기 (클릭)