아마추어로서 오픈 소스 프로젝트에 참여하는 것이 나쁜가요?


17

나는 Objective-C에서 기술을 연마하기 위해 오픈 소스 iPhone 또는 iPad 프로젝트에 참여해야한다고 약 6 개월 동안 생각했지만, 내가 갈 때마다 거대한 프로젝트에서 수천 줄의 코드를 보게됩니다. 내가 결코 이해하지 못할 자신을 설득. 나는 항상 내 커밋이 프로젝트 관리자와 더 많은 고위 기고자들에게 번거 로움이 될 것이라고 생각하므로 항상 마지막 순간에 물러납니다.

내 질문은 본질적으로 중간 경험이 풍부한 프로그래머가 오픈 소스 프로젝트에 참여할 때 번거 롭습니까?


1
Macke의 대답은 더 철저하지만, 당신의 대담한 질문에 대한 간결한 대답은 다음과 같습니다.
Chris Browne

1
@ChrisBrowne : 좋은 지적입니다. 일치하도록 답변을 수정했습니다. :)
Macke

답변:


15

아뇨.

보고있는 프로젝트의 코드 기반이 너무 어렵다면 다음을 고려하십시오.

  • 작업 할 (작은) 작은 프로젝트를 선택하십시오.
  • 프로젝트 내에서 더 작은 작업을 선택하십시오.
    • 무언가에 대한 예제 / 자습서 / 데모 작성
    • 문서 업데이트 및 수정 (모든 프로젝트, OS 또는 아니요, 더 나은 문서가 필요함)
    • 우선 순위가 낮지 만 버그를 쉽게 수정합니다 (코드에 크게 노출, 개발자는 일반적으로 행복하고 위험이 낮음)
  • 다음과 같은 핵심 소스에 대한 커밋 액세스없이 기여할 수있는 방법이 있습니다.
    • 댓글을 달 수있는 패치 제출
    • 풀 요청 포크 및 제출 (위 참조)
    • 어디로 가야하는지 알아보기 위해 스스로 포크 작업을합니다. 당신이 행복하다면, 개발자들에게 당신이 무엇을했는지 보도록 요청하십시오.

커밋을 수락하지 않았다는 "두려움"을 극복하려면 먼저 안전한 포인트를 찾으십시오. 이를 통해 귀하와 개발자 팀 모두 귀하의 관계에 대한 신뢰를 얻고 서로의 사고 방식을 배울 수 있습니다. OS 프로젝트 팀과 기술에 대한 기술, 경험, 코드 품질 및 이해도를 향상 시키면 번거 로움을 덜고 더 큰 작업을 수행 할 수 있습니다.

또한 적절한 출발점을 요청하고 팀이 귀하에게 적합한 것을 알아볼 수 있습니다.

예를 들어, 저는 수년간 Buildbot에 약간의 기여를했습니다. 몇 가지 작은 문제를 해결하기 시작한 후 눈부신 버그를 수정하여 Mercurial 소스 단계의 품질을 떨어 뜨 렸습니다. 마지막으로 대부분의 웹 페이지를 다시 작성하고 코드 기반 HTML 붙여 넣기를 템플릿 기반 HTML 생성 솔루션으로 교체했습니다. 후자는 몇 달 동안 열심히 일한 수백 건의 커밋이었습니다.

나는 또한 Mercurial 작업을 수행했지만 그 사람들은 더 까다 롭고 기술은 더 복잡하므로 아직 핵심에 대한 수정 사항을 얻지 못했습니다. 몇 가지 버그 보고서를 작성하고 몇 가지 작은 확장 프로그램을 작성했지만 지금은 더 이상 큰 것을 얻지 못했습니다.

도움이 되길 바랍니다.


빌드 봇 +1-매우 훌륭하고 도움이되는 관리자가있는 환상적인 프로젝트입니다. 좋은 프로젝트를 시작하려면 분명히 가치가 있습니다.
Nate

완전한 아마추어는 어떻습니까? 프로그래밍 수준이 낮고 공식 교육이없는 사람들?
Roy

1
@Roy이 경우, 나는 그것을 배우기 위해 소스와 함께 어리둥절하고 땜질로 시작합니다. 효과적으로 기여할 수있는 시점에 도달하려면 시간이 조금 더 걸립니다. 프로젝트와 프레임 워크 / 라이브러리를위한 좋은 튜토리얼을 스스로 시작하고 기여할 위치와 방법을 알 수 있도록 지식을 쌓는 것이 좋습니다. 게임 모드 (및 플러그인)는 샌드 박스에서 단독으로 사용하고 핵심 개발자 수준을 유지하는 데 탁월한 성능을 발휘할 수 있습니다.
Macke

4

잠깐 동안 개발 목록을 모니터하고 편안하다고 느낄 때 자신을 소개하십시오. 많은 프로젝트는 버그 수정이나 문서 작성에있어 더 쉬운 작업을 수행하여 일반 직원이 귀하에게 알려줄 것입니다. 대부분의 프로젝트는 새로운 손에 매우 친숙하며, 프로젝트의 실제 자산이 될 수 있도록 충분히 빨리 긁을 수 있습니다.

잠시 후 코드베이스의 구조와 가장 중요한 부분에 익숙해 질 것입니다. 이와 같은 코드를 이해하는 것은 프로그래밍에서 실제로 중요한 부분이며 오픈 소스는이를 배우는 좋은 방법입니다.


2

해봐 많은 초보자들이 똑같이하고 있습니다. 프로젝트 리더는 리그 외부에서 수행 할 작업을 찾는 데 도움을 줄 수 있습니다. 당신은 점차 나머지로 자랍니다.

아, 그리고 당신이 그것의 의미하지 않는다 코드를 이해하지 않기 때문에 좋은 . 나는 거기에 심각한 끔찍한 코드를 보았습니다. 제대로 작성되지 않았고 훨씬 복잡해지기 때문에 이해하기가 어렵습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.