英文原文:i-dont-feel-guilty-about-not-contributing-to-open-source
曾经有很长一段时间,我都模糊地觉得我必须为开源软件做些什么。在某种意义上来说开源是很有意义的事,我会因为做得不够多而觉得有点内疚。
我曾常常对自己说这样的话:
我试着不再感到内疚。现在如果我要参与一个开源项目的话,我会需要某种动机。Mel Chua 在 hacker school 有过一场很棒的演讲,她说动机是由胜任力(知道如何去做!)、自主性(自己做出决定!)以及关联性(知道为何要做!)组成的。
开源项目中会有很高的自主性–几乎没有人会强迫你做什么事。而经常会缺失关联性和胜任力。
对于关联性,我会问自己:
“我希望从参与这个项目中获得什么?”
对于胜任力,我会问:
“是否有什么东西会阻碍我完成工作?”
通常会是因为相关性阻碍我参与某个开源项目–我不知道我能得到什么!Drupal 项目的例子可以很好地说明这一点。Drupal 是个非常重要的项目。以前我曾经参与过!我可以再次参与进去的!社区论坛非常友好!但现在对于我来说已经不存在相关性了–我已经不再开发网站了。
大多数时候会因为缺乏相关性而不参与到某个开源项目中去–如果我不用某个东西,那我目前就不会想要学习相关知识,也不认识有谁在做这个东西,也不会很强烈地觉得它有用,因此就不会想参与进去!这其实完全没问题。还有数不清的其他人在参与这些项目!少我一个根本不差的=)
缺乏胜任力的一个例子就是前面说到的 Pidgin 项目–聊天客户端遇到了一些问题,我想要修复它,但是对于那时的我来说太难了。
下面要说的是我参与过的开源项目,以及原因:
你能做的事情有很多。如果你在三个星期里花了超过三十个小时来修复一个网卡故障,那可能是很值的,因为你会学到很多,而且你的硬件会更好地运作!或者也许你会更愿意把这些时间花在陪伴家人朋友或者志愿活动或者踢足球或者看电影或者赚房租上面。
有时我听到有人会说“你必须开发开源软件!”,说得好像这是“普遍的善”一样。不要感到内疚。对你没有意义就不要做!除非你知道能获得什么并且觉得值得你花时间才去做!否则的话就做点别的吧!
Lukas Eder 是开源项目 jOOQ 的全职开发者,下面是他对 Julia Evans 文章的评论:
I’m a full-time Open Source developer (for jOOQ), and I get a lot of requests from people who would like to contribute. They’re often asking where they can start, how they should proceed, etc.
Then, I never hear from them again :-)
I think that your categorisation makes a lot of sense. The lack of relatedness is something that many people underestimate in search of The Cool. In our case, working on jOOQ means loving SQL and programming languages to the max. This can get quite boring and frustrating if there isn’t a concrete problem with a concrete database at hand.
In the end of the day, merely contributing to Open Source is much like being a customer of any other (even non-software) product. People also contribute to – say – Microsoft, to help them improve their operating system, or MS Office. It just feels great to be heard, as a customer. But since Microsoft sells commercial software, people don’t make the mistake of trying to contribute withoutrelatedness. So maybe, we should start seeing Open Source more like commercial software in general.