14 种贡献开源的方法(14 Ways to Contribute to Open Source without Being a Programming Genius or a Rock Star)

By | 2018年7月11日

Plenty of people want to get involved in open source, but don’t know where to start. Here are several ways to help out even if you lack confidence in your technical chops.


Open source software has changed computing and the world, and many of you would love to contribute. Unfortunately, many people are daunted by what they imagine is a high barrier to entry into a project. I commonly hear people say that they’d love to contribute but can’t because of three reasons:

  • "I’m not a very good programmer."
  • "I don’t have much time to put into it."
  • "I don’t know what project to work on.”


  • 我不是一个好的程序员
  • 我没有很多时间投入
  • 我不知道参与哪个项目

There are three core principles to remember as you look for opportunities to contribute:

  • Projects need contributions from everyone of all skills and levels of expertise.
  • The smallest of contributions is still more than none.
  • The best project to start working on is one that you use already.


  • 每一个项目都需要各种不同的技能,各种不同的水平的贡献
  • 再少的贡献也比没有要好
  • 选择你正在使用的项目参与
The most damaging idea that I’ve observed among open source newbies is that to contribute to open source, you have to be some sort of
genius programmer. This is not true. Certainly, there are those in the open source world who are seen as rock stars, and they may certainly be genius programmers. However, the vast majority of us are not. We’re just people who get stuff done. Sometimes we do a little, and sometimes we do a lot. Sometimes it’s programming, and sometimes it’s not.


Most of what makes open source work is actual work, time spent making things happen for the project. Most of these things don’t require the brains or vision of a Larry Wall, creator of
Perl, or a David Heinemeier Hansson, creator of
Rails. Designing a new language or a web framework may take inspiration, but the rest of what makes projects like Perl and Rails successful is perspiration. This work may not get all the glory, but it’s still necessary, and after a while, your contributions 
will get noticed.

使得开源前行的绝大部分工作是实实在在的行动,是在项目进展上花费的时间。这些东西绝大多数时候不需要有像Perl语言发明者Larry Wall或是Rails创造者David Heinemeier Hansson一样的头脑及视角。设计一种新的语言或Web框架需要灵感,但接下来使得诸如Perl和Rails项目成功的则是汗水。这些工作或许无法得到荣誉,但却是必不可少的,一段时间后,你的贡献就会被注意到。

Start listening

Everything in open source involves other people. You’re looking to
join a team, and that means understanding the community and how it works. Walking in to a project and saying "Hi, here’s what I think this project should be doing" is usually not taken as a good thing. Some projects may welcome that sort of approach, but if the project has been running a while, the chances of that attitude being embraced are small. Listening is the best way to know what the project needs.


Join a mailing list: For many projects, the mailing list is the main conduit of communication about the development of the project. On large projects, there are many mailing lists to choose from. For example, the
PostgreSQL project has no fewer than 12 user-oriented lists and six developer lists on its mailing list page. I suggest you follow the main user-oriented list and the core developer list in which to start listening.


Follow a blog: Blogs maintained by core developers often give information about what’s coming up in future releases, and what it’s taken to get there. A planet site aggregates news and blog entries from many sources related to the project. If there is a planet site, like 
http://planet.gnome.org or 
http://planet.mysql.com, start there. Just search Google for "planet <projectname>."





电子邮件地址不会被公开。 必填项已用*标注