전통적으로 IT 부서는 상용 상용 소프트웨어를 사용하고 데이터센터는 독점적인 Unix 하드웨어와 x86 기반 Windows 서버를 운영했습니다. 하지만 최근에는 스마트폰과 태블릿의 등장으로 최종 사용자 컴퓨팅 환경이 혼란에 빠지면서 Linux가 데이터 센터에서 점점 더 지배적인 위치를 차지하게 되었습니다. 2015년 8월 IDC 분석가들은 서버 및 모바일 시장에서 이미 Couchbase 및 Couchbase Mobile과 같은 오픈 소스 시스템으로 전환하고 있다는 예측을 내놓은 바 있습니다.

오픈 소스 코드에 기여하는 것은 생각만큼 어렵지 않습니다. 우선, 오픈 소스 커뮤니티는 공통의 문제를 해결하기 위해 함께 노력하는 사람들로 구성되어 있고 규모가 크고 다양합니다.  스택오버플로우 는 집단지성이 어떻게 관련 문제를 더 빨리 해결하고 일상적인 발견을 공유할 수 있는지를 보여주는 사례입니다. 다양한 기술 수준을 가진 방대한 전문가 커뮤니티로부터 직접 피드백을 받는 동시에 챔피언으로 구성된 지원 시스템을 구축할 수 있다는 이점이 있습니다. 

Swift

심지어 Apple도 코딩 언어를 공개했습니다, Swift따라서 애플 외부의 개발자들은 스위프트와 발전에 기여 따라서 Windows 및 Android와 같은 새로운 플랫폼에 적용할 수 있습니다. 이제 오픈 소스이기 때문에 제품 로드맵과 스위프트의 진화 향후 기능 출시 일정도 확인할 수 있습니다.

시작하기

생각만큼 어렵지 않습니다. 오픈소스 프로젝트 리더가 관심을 갖는 주요 기여는 기능 확장이나 주요 버그 수정뿐이라고 생각하는 경우가 많습니다. 하지만 실제로는 몇 줄의 코드만 있으면 작은 것부터 시작할 수 있습니다. 이미 알고 있는 도메인 지식을 바탕으로 작업하면 빠르게 뛰어들 수 있고 프로젝트 전반을 개선하는 데 더 큰 동기를 부여받을 수 있습니다. 또 다른 장점은 새로운 도메인 기술을 배우고 익힐 수 있다는 점입니다. GitHub에는 다음과 같이 기여할 수 있는 다양한 프로젝트가 있습니다. 모두를 위한 라이브러리의 전자책 리더, 리액트 네이티브와 같은 새로운 기술을 배우면서 말이죠. 

문제 보고

어떻게 시작할 수 있을까요? 한 가지 방법은 소스 코드에 기여하는 집단 그룹의 일원이 되는 것이지만, 또 다른 방법은 기존 버그 신고 티켓을 개선하는 것입니다. 이는 유용한 정보를 작성하고 품질 오류 보고의 기준을 설정함으로써 기여할 수 있는 기회입니다. 이를 위한 전략은 다음과 같습니다:

  1. 문제가 계속 발생하고 있는지 확인
  2. 문제 재현을 위한 개요 단계
  3. 버전 정보 제공
  4. 코드 스니펫, 스크린샷, 오류 로그 또는 텍스트를 추가하세요. 

여기서 핵심은 기존 이슈를 종결하는 데 도움을 주고 명확한 세부 정보를 제공함으로써 미해결 티켓을 해결하여 전반적인 경험과 코드를 개선하는 것입니다. 문제를 파악한 후에는 프로젝트 팀의 특정 팀원을 참조하여 문제를 더 자세히 조사할 수도 있습니다. 아래에서 미해결된 카우치베이스 모바일 안드로이드 문제 커뮤니티에서 내 사용자를 신고하고 있습니다. 

개발자 문서

개발자는 기술을 배우고 이해하기 위해 훌륭한 문서에 의존합니다. 개발자가 기술에 뛰어들기 전에 가장 먼저 방문하는 곳이 바로 문서이며, 훌륭한 문서는 개발자가 기술을 빠르게 채택하는 데 핵심적인 역할을 합니다. 프로젝트 문서가 항상 프로젝트의 나머지 부분과 보조를 맞춰 유지되는 것은 아니기 때문에 여러분이 크게 기여할 수 있는 또 다른 영역입니다. 다음과 같은 방법으로 자신과 다른 개발자에게 명확성을 제공하는 데 도움을 줄 수 있습니다:

  1. 메서드에 대한 설명 업데이트
  2. 방법 및 사용 예시 제공
  3. 다이어그램 추가
  4. 오타 수정 및 버전 번호 업데이트

와 마찬가지로 카우치베이스 모바일 안드로이드 README.md 문서나 가이드는 개발자가 매일 접하는 주요 리소스이므로 여러분의 기여가 개발자의 성공에 큰 도움이 될 것입니다.

문제 해결

위의 네 가지 옵션에서 배운 모든 것을 궁극적인 오픈 소스 기여인 버그 패치에 결합할 수 있는 곳이 바로 여기입니다. 물론 발견한 모든 버그를 해결해야 한다는 부담감은 갖지 마시고, 시간적 여유가 있다면 해결책을 찾아보시기 바랍니다. 해결책을 찾지 못했더라도 기존 이슈에 대한 결과를 보고하거나 시도한 모든 사항에 대한 자세한 내용과 함께 새 이슈를 개설하세요.

수정 사항을 찾으면 가능한 한 운영 중단을 일으키지 않는 것이 가장 좋은 패치라는 점을 명심하세요. 구체적으로 수정 사항은 다음과 같아야 합니다. 가능한 한 적은 수의 새 코드 도입로 설정해야 하며, 새 코드는 는 나머지 코드베이스와 동일한 스타일로 작성되었습니다. 풀 리퀘스트는 전체적으로 최소한의 변경 사항으로 제한된 단일 문제를 해결해야 합니다.

풀 리퀘스트를 열 준비가 되면 다음 사항을 반드시 포함하세요:

  • 풀 리퀘스트가 해결 중인 미해결 이슈를 참조하세요. 기존 티켓이 없는 경우 위의 가이드라인에 따라 직접 티켓을 만드세요.
  • 어떤 문제를 어떻게 해결하고 있는지 등 변경 사항에 대한 명확한 설명을 제공하세요.
  • 해당 문서를 업데이트합니다(위에 설명된 대로).
  • 위에서 설명한 대로 수정 사항을 다루는 테스트 스위트에 대한 테스트 케이스를 작성합니다.

- 자세한 내용은 http://blog.flatironschool.com/how-to-contribute-to-open-source-code-5-steps-for-beginners/#sthash.OxOfFtkV.dpuf 참조

이제 이슈를 보고하고 개발자 문서를 업데이트했으니 오픈소스 기여를 한 단계 더 발전시켜 미해결 이슈에 대한 티켓 해결에 노력해 보세요. 가능한 한 적은 코드 변경을 도입하는 데 중점을 두고 다음과 같은 방법으로 이 과정을 시작할 수 있습니다:

  1. 테스트 사례 문서화
  2. 조사 결과에 대한 상세 기록
  3. 해결 중인 미해결 이슈를 참조하세요.
  4. 그에 따라 코드 베이스 업데이트

기존 문제를 살펴보고 해결하려고 노력하는 것은 자신뿐만 아니라 코드 베이스를 사용하는 다른 개발자에게도 도움이 됩니다. 전반적으로 제품을 개선하는 것이며, 결국 문제를 직접 해결하지 못하더라도 추가한 자세한 설명은 다른 사람이 티켓을 해결하는 데 도움이 될 것입니다. 아래에서 어떻게 카우치베이스 모바일 커뮤니티 회원 서로를 돕고 공개적으로 문제를 함께 해결하고 있습니다. 

  

요약

보시다시피 오픈 소스 세계의 일원이 되어 오픈 소스 기술에 기여할 수 있는 방법은 다음과 같이 다양합니다. 카우치베이스 및 카우치베이스 모바일 [Android / iOS]. 전 세계 사람들과 함께 프로젝트와 코드를 공동으로 작업할 수 있는 좋은 방법일 뿐만 아니라 해결 시간도 훨씬 빠릅니다. 기여하는 방법에 대한 자세한 내용은 오픈 소스 참여 방법에 대한 GitHub 가이드라인 를 클릭하고 사용 가능한 프로젝트.

작성자

게시자 윌리엄 호앙, 모바일 개발자 옹호자, Couchbase

윌리엄은 카우치베이스의 모바일 엔지니어링/개발자 경험 팀의 개발자 옹호자였습니다. 커피와 코드에 대한 그의 사랑은 오프라인 대면 경험을 즐기면서 모바일의 세계로 넘어왔습니다. 그 전에는 Twitter, BlackBerry, Microsoft에서 개발자 관계 팀에서 일했으며, Research In Motion에서 소프트웨어 임베디드 GPS 엔지니어로 근무하기도 했습니다. 윌리엄은 맥길 대학교에서 전기 소프트웨어 공학을 전공했습니다.

댓글 남기기