不要因?yàn)闆](méi)有為開(kāi)源事業(yè)做貢獻(xiàn)而感到內(nèi)疚
曾經(jīng)有很長(zhǎng)一段時(shí)間,我都模糊地覺(jué)得我必須為開(kāi)源軟件做些什么。在某種意義上來(lái)說(shuō)開(kāi)源是很有意義的事,我會(huì)因?yàn)樽龅貌粔蚨喽X(jué)得有點(diǎn)內(nèi)疚。
我曾常常對(duì)自己說(shuō)這樣的話(huà):
- 茱莉亞,開(kāi)源軟件非常棒!
- 嗯,我必須為開(kāi)源項(xiàng)目添磚加瓦。
- 是什么項(xiàng)目?呃,我不知道。
- 我用 Pidgin!好像是吧。
- 去看 pidgin 項(xiàng)目
- 好多問(wèn)題啊!我都不知道從何處下手。
- 是用C寫(xiě)的!好多代碼啊!我該怎么辦!
- 心存內(nèi)疚地放棄吧。
我試著不再感到內(nèi)疚。現(xiàn)在如果我要參與一個(gè)開(kāi)源項(xiàng)目的話(huà),我會(huì)需要某種動(dòng)機(jī)。Mel Chua在 hacker school 有過(guò)一場(chǎng)很棒的演講,她說(shuō)動(dòng)機(jī)是由勝任力(知道如何去做!)、自主性(自己做出決定!)以及關(guān)聯(lián)性(知道為何要做!)組成的。
開(kāi)源項(xiàng)目中會(huì)有很高的自主性–幾乎沒(méi)有人會(huì)強(qiáng)迫你做什么事。而經(jīng)常會(huì)缺失關(guān)聯(lián)性和勝任力。
對(duì)于關(guān)聯(lián)性,我會(huì)問(wèn)自己:
“我希望從參與這個(gè)項(xiàng)目中獲得什么?”
- 我想知道這個(gè)項(xiàng)目是如何運(yùn)作的!(從這個(gè)理由來(lái)說(shuō)參與Linux項(xiàng)目會(huì)超級(jí)有意思!操作系統(tǒng)很驚人!通過(guò)做gunzip in julia這個(gè)項(xiàng)目我學(xué)到了很多。)
- 我找到一個(gè)bug,想要修復(fù)它!我想增加一個(gè)特性!
- 我想積累一些編程工作經(jīng)驗(yàn)以便找到更好的工作!
- 我覺(jué)得這個(gè)項(xiàng)目能實(shí)現(xiàn)很重要的功能而且我想要完善它!(Kelsey Gilmore-Innis的Anti-Eviction Mapping項(xiàng)目就是一個(gè)很棒的例子)
- 我喜歡和參與這個(gè)項(xiàng)目的人來(lái)往!(我參加Drupal會(huì)議的時(shí)候,發(fā)現(xiàn)參與Drupal的開(kāi)發(fā)人員都非常可愛(ài),他們吸引著我參與到Drupal項(xiàng)目中去。)
對(duì)于勝任力,我會(huì)問(wèn):
“是否有什么東西會(huì)阻礙我完成工作?”
- 我是否了解該項(xiàng)目使用的語(yǔ)言?這種語(yǔ)言易學(xué)嗎?
- 我可以在自己的電腦上輕松地搭起開(kāi)發(fā)環(huán)境嗎?
- 代碼庫(kù)的復(fù)雜度如何?項(xiàng)目是否可以完成?相關(guān)文檔是否完善?
- 如果我有什么不懂的話(huà),是否可以在社區(qū)論壇尋找到答案?論壇里傻瓜多嗎?郵寄目錄里的地址是否都有效?
什么情況下我不會(huì)參與
通常會(huì)是因?yàn)橄嚓P(guān)性阻礙我參與某個(gè)開(kāi)源項(xiàng)目–我不知道我能得到什么!Drupal項(xiàng)目的例子可以很好地說(shuō)明這一點(diǎn)。Drupal是個(gè)非常重要的項(xiàng)目。以前我曾經(jīng)參與過(guò)!我可以再次參與進(jìn)去的!社區(qū)論壇非常友好!但現(xiàn)在對(duì)于我來(lái)說(shuō)已經(jīng)不存在相關(guān)性了–我已經(jīng)不再開(kāi)發(fā)網(wǎng)站了。
大多數(shù)時(shí)候會(huì)因?yàn)槿狈ο嚓P(guān)性而不參與到某個(gè)開(kāi)源項(xiàng)目中去–如果我不用某個(gè)東西,那我目前就不會(huì)想要學(xué)習(xí)相關(guān)知識(shí),也不認(rèn)識(shí)有誰(shuí)在做這個(gè)東西,也不會(huì)很強(qiáng)烈地覺(jué)得它有用,因此就不會(huì)想?yún)⑴c進(jìn)去!這其實(shí)完全沒(méi)問(wèn)題。還有數(shù)不清的其他人在參與這些項(xiàng)目!少我一個(gè)根本不差的=)
缺乏勝任力的一個(gè)例子就是前面說(shuō)到的Pidgin項(xiàng)目–聊天客戶(hù)端遇到了一些問(wèn)題,我想要修復(fù)它,但是對(duì)于那時(shí)的我來(lái)說(shuō)太難了。
什么情況下我會(huì)參與
下面要說(shuō)的是我參與過(guò)的開(kāi)源項(xiàng)目,以及原因:
- IPython項(xiàng)目,是因?yàn)槲蚁虢o它增加一個(gè)它本來(lái)沒(méi)有的特性!然后它就有了那個(gè)特性!我把一個(gè)性能要求合進(jìn)了IPython,結(jié)果非常酷。
- 這個(gè)pandas cookbook項(xiàng)目,是因?yàn)槲蚁肓私鈖andas的時(shí)候發(fā)現(xiàn)沒(méi)有那么多我所需要的實(shí)用資料!還有一個(gè)原因!就是我寫(xiě)了一個(gè)東西,別人就可以更加了解pandas了!太***了。
- gzip in julia項(xiàng)目,用來(lái)學(xué)習(xí)gzip是如何工作的。現(xiàn)在我學(xué)會(huì)了!棒極了。參與開(kāi)源項(xiàng)目是件超級(jí)有意思的事!耶!
不要感到內(nèi)疚
你能做的事情有很多。如果你在三個(gè)星期里花了超過(guò)三十個(gè)小時(shí)來(lái)修復(fù)一個(gè)網(wǎng)卡故障,那可能是很值的,因?yàn)槟銜?huì)學(xué)到很多,而且你的硬件會(huì)更好地運(yùn)作!或者也許你會(huì)更愿意把這些時(shí)間花在陪伴家人朋友或者志愿活動(dòng)或者踢足球或者看電影或者賺房租上面。
有時(shí)我聽(tīng)到有人會(huì)說(shuō)“你必須開(kāi)發(fā)開(kāi)源軟件!”,說(shuō)得好像這是“普遍的善”一樣。不要感到內(nèi)疚。對(duì)你沒(méi)有意義就不要做!除非你知道能獲得什么并且覺(jué)得值得你花時(shí)間才去做!否則的話(huà)就做點(diǎn)別的吧!
Lukas Eder 是開(kāi)源項(xiàng)目 jOOQ 的全職開(kāi)發(fā)者,下面是他對(duì) Julia Evans 文章的評(píng)論:
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.
原文鏈接: Julia Evans 翻譯: 伯樂(lè)在線 - 伯樂(lè)在線讀者
























