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


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.