나는 오픈 소스 경험이 거의 없고, 현재 어떤 오픈 소스 프로젝트에도 소속되어 있거나 활동하고 있지 않다. 참여하고 싶고, 이를 위한 좋은 계획이 있다. 내 경험상 좋은 계획이라고 생각하기 때문에, 참여하고 싶지만 어려움을 겪는 다른 사람들에게 도움이 될 수도 있다. 이것은 내 계획이며 모든 사람에게 맞지는 않을 수 있다는 점을 명심하자.
주의 사항
많은 가이드가 장밋빛 그림을 그리지만, 두 가지 핵심 사항을 명심하자:
- 처음 올린 이슈, 풀 리퀘스트, 댓글은 무시당할 수 있다—인내와 끈기가 신뢰를 쌓는다.
- 적응 과정은 어렵다. 코드베이스, 문화, 워크플로를 깊이 이해하는 데는 시간이 걸리며, 직접적인 멘토링이 없다면 특히 그렇다.
- 초보자 친화적이고 자신을 설레게 하는 OSS를 고른다. 예를 들어 프로젝트의 README.md에 초보자 친화적인 내용이 있거나, 기여 가이드가 있는 경우다. 커뮤니케이션 채널(예: Github 이슈, Discord)에서도 초보자를 환영하는지 확인한다.
- GitHub에서 good first issue 태그가 붙은 이슈를 찾거나, 코드에서 TODO 주석을 찾아 해결한다. 그런 다음 이슈에 댓글을 쓰거나 그 이슈를 해결하는 PR을 제출한다. 프로젝트 기여자 중 한 명이 자신의 존재를 알아챌 때까지 이 일을 반복한다.
- 기여 범위를 제한하지 않는다. 새로운 테스트나 기능 요청을 추가하는 것도 정말 좋다. 자신의 행동에 의미가 있도록 노력한다. 더 의미 있는 기여를 위한 힌트를 얻으려면 다른 기여자들에게 도움을 요청한다.
- 커뮤니케이션 채널(예: Discord, Slack, 이메일)로 메시지를 보내 관심을 표현하고, 어떻게 하면 더 깊이 참여할 수 있을지 조언을 구한다. 몇 차례 기여했다면 누군가—아마도 자신의 PR을 리뷰한 사람이—질문에 답해 줄 것이라고 생각한다.
- 그들에게 인정받을 때까지 계속 기여한다. 신뢰를 쌓는 것이 중요하다. 무언가를 할 실력이 부족할 수도 있고, 관심을 보인 뒤 사라질 수도 있다. 두 경우 모두 프로젝트 초보자 사이에서 매우 흔하다.
- 의미 있는 일을 할 능력을 증명하고 인정받았다면, 들어온 것이다.
나는 몇 주 동안 이 계획을 따르고 있다. 아직 기념비적인 성과를 이루지는 못했다.
실제로 무언가를 이룬 뒤, 나중에 이 글을 다시 살펴볼 것이다.
私はオープンソースの経験がほとんどなく、現在はどのオープンソースプロジェクトにも所属しておらず、活動もしていない。参加したいと思っていて、そのための良い計画がある。自分の経験から、これは良い計画だと思っているので、参加したいのに苦戦しているほかの人にも役立つかもしれない。これは私の計画であり、誰にでも合うとは限らないことを覚えておいてほしい。
注意事項
多くのガイドは明るい展望を描いているが、次の2つの重要な点を覚えておいてほしい:
- 最初に出したIssue、プルリクエスト、コメントは無視されるかもしれない——忍耐と粘り強さが信頼を築く。
- 立ち上がりは大変だ。コードベース、文化、ワークフローを深く理解するには時間がかかり、直接指導してくれる人がいなければなおさらだ。
- 初心者に優しく、自分がワクワクできるOSSを選ぶ。たとえば、プロジェクトのREADME.mdに初心者向けの項目がある、またはコントリビューションガイドがある、といったものだ。コミュニケーションチャンネル(例:Github Issues、Discord)でも初心者が歓迎されていることを確認する。
- GitHubでgood first issueタグの付いたIssueを探すか、コード内のTODOコメントを探して解決する。その後、Issueにコメントを書くか、そのIssueを解決するPRを提出する。プロジェクトのコントリビューターの誰かが自分の存在に気づくまで、これを続ける。
- コントリビューションの範囲を限定しない。新しいテストや機能リクエストを追加するのも本当に素晴らしい。 自分の行動に意味を持たせるようにする。より意味のあるものにするためのヒントを得るには、ほかのコントリビューターに助けを求める。
- コミュニケーションチャンネル(例:Discord、Slack、メール)でメッセージを送り、関心があることを伝え、どうすればもっと深く関われるかアドバイスを求める。いくつかコントリビューションをしていれば、誰か——おそらく自分のPRのレビュアー——が質問に答えてくれると思う。
- 彼らに認められるまでコントリビューションを続ける。信頼を築くことが重要だ。何かをするのに十分なスキルがないかもしれないし、関心を示したあとに姿を消すかもしれない。どちらもプロジェクトの初心者には非常によくあることだ。
- 意味のある仕事をする能力を証明し、認められたら、仲間入りだ。
私はこの計画を数週間続けている。まだ記念碑的な成果は何も達成していない。
実際に何かを成し遂げたあとで、またこの投稿を振り返るつもりだ。
我几乎没有开源方面的经验,目前也没有加入任何开源项目或参与其中。我想参与,而且为此制定了一个不错的计划。根据我的经验,我认为这是个好计划,所以其他想参与却遇到困难的人或许也会觉得它有帮助。请记住,这是我的计划,未必适合所有人。
注意事项
许多指南描绘了一幅美好的图景,但请记住两个要点:
- 你最初提交的议题、拉取请求和评论可能会被忽略——耐心和坚持能建立信誉。
- 上手并不容易;深入理解代码库、文化和工作流程需要时间,尤其是在没有直接指导的情况下。
- 选择一个对新手友好、能让你兴奋的 OSS。例如,项目的 README.md 中有对新手友好的内容,或有贡献指南。你还要看看其沟通渠道(例如 Github issues、Discord)是否欢迎新手。
- 在 GitHub 上寻找带有 good first issue 标签的议题,或者在代码中寻找 TODO 注释并解决它们。然后在议题中留言,或提交一个解决该议题的 PR。一直这样做,直到项目的某位贡献者注意到你的存在。
- 不要限制你的贡献。添加新测试、提出功能请求也都非常好。尽量让你的行动有意义。想获得让贡献更有意义的提示,可以向其他贡献者求助。
- 在他们的沟通渠道(例如 Discord、Slack、电子邮件)上发送消息,表达你的兴趣,并询问如何更深入地参与。我相信,如果你已经做出了一些贡献,那么会有人——最有可能是你 PR 的审阅者——回答你的问题。
- 继续贡献,直到得到他们的认可。建立信誉很重要。你可能没有足够的能力去做某件事,也可能在表达兴趣后就消失;这两种情况在项目新手中都非常常见。
- 一旦你证明了自己有能力完成有意义的工作并得到认可,你就加入进来了。
我已经按照这个计划做了几个星期。目前还没有取得任何了不起的成就。
等我真正完成一些事情后,我会再回来重看这篇文章。
I have little experience with open source, but currently I’m neither associated with nor active in any open source project. I want to be, and I have a good plan for it. From my experience, I believe it’s a good plan, so other people who want to get involved but struggle might find it helpful. Keep in mind this is my plan and may not suit everyone.
Precaution
While many guides paint a rosy picture, keep in mind two key points:
- Your initial issues, pull requests, and comments may be ignored—patience and persistence build credibility.
- Ramping up is challenging; gaining deep understanding of the codebase, culture, and workflows takes time, especially without direct mentorship.
- Pick a beginner-friendly OSS, something that excites you. For example, if the project has newbie friendly things in their README.md, or Contribution guide. You also see newbies are welcomed in their communication channel (e.g., Github issues, Discord).
- Find issues with good first issue tags on GitHub, or look for some TODO comments in the code, and resolve them. Then, write a comment on the issue or submit a PR solving that issue. Do this until one of the contributors to the project notices your existence.
- Don’t limit your contributions. Adding new tests, feature requests are also really great. Try to make your actions meaningful. To get hints to be more meaningful, ask help from other contributors.
- Send a message on their communication channel (e.g., Discord, Slack, email) to express your interest and seek advice on how to get more involved. I believe that if you have made a handful of contributions, then someone—most likely the reviewer of your PR—will answer your question.
- Continue contributing until you get recognized by them. It’s important to build credibility. You may not have enough skill to do something, or you may disappear after showing your interest; both cases are very common among newcomers to a project.
- Once you have proven your ability to do meaningful work and have been acknowledged, you’re in.
I’ve been following this plan for a few weeks. I have not achieved anything monumental yet.
I’ll revisit this post later, after I have actually accomplished something.