不要因為沒有為開源事業做貢獻而感到內疚
| 2014-05-01 06:39 評論: 4 收藏: 1 分享: 2
曾經有很長一段時間,我都模糊地覺得我必須為開源軟體做些什麼。在某種意義上來說開源是很有意義的事,我會因為做得不夠多而覺得有點內疚。
我曾常常對自己說這樣的話:
- 茱莉亞,開源軟體非常棒!
- 嗯,我必須為開源專案添磚加瓦。
- 是什麼專案?呃,我不知道。
- 我用 Pidgin!好像是吧。
- 去看 pidgin 專案
- 好多問題啊!我都不知道從何處下手。
- 是用C寫的!好多程式碼啊!我該怎麼辦!
- 心存內疚地放棄吧。
我試著不再感到內疚。現在如果我要參與一個開源專案的話,我會需要某種動機。Mel Chua在 hacker school 有過一場很棒的演講,她說動機是由勝任力(知道如何去做!)、自主性(自己做出決定!)以及關聯性(知道為何要做!)組成的。
開源專案中會有很高的自主性–幾乎沒有人會強迫你做什麼事。而經常會缺失關聯性和勝任力。
對於關聯性,我會問自己:
“我希望從參與這個專案中獲得什麼?”
- 我想知道這個專案是如何運作的!(從這個理由來說參與Linux專案會超級有意思!作業系統很驚人!透過做gunzip in julia這個專案我學到了很多。)
- 我找到一個bug,想要修復它!我想增加一個特性!
- 我想積累一些程式設計工作經驗以便找到更好的工作!
- 我覺得這個專案能實現很重要的功能而且我想要完善它!(Kelsey Gilmore-Innis的Anti-Eviction Mapping專案就是一個很棒的例子)
- 我喜歡和參與這個專案的人來往!(我參加Drupal會議的時候,發現參與Drupal的開發人員都非常可愛,他們吸引著我參與到Drupal專案中去。)
對於勝任力,我會問:
“是否有什麼東西會阻礙我完成工作?”
- 我是否瞭解該專案使用的語言?這種語言易學嗎?
- 我可以在自己的電腦上輕鬆地搭起開發環境嗎?
- 程式碼庫的複雜度如何?專案是否可以完成?相關文件是否完善?
- 如果我有什麼不懂的話,是否可以在社群論壇尋找到答案?論壇裡傻瓜多嗎?郵寄目錄裡的地址是否都有效?
什麼情況下我不會參與
通常會是因為相關性阻礙我參與某個開源專案–我不知道我能得到什麼!Drupal專案的例子可以很好地說明這一點。Drupal是個非常重要的專案。以前我曾經參與過!我可以再次參與進去的!社群論壇非常友好!但現在對於我來說已經不存在相關性了–我已經不再開發網站了。
大多數時候會因為缺乏相關性而不參與到某個開源專案中去–如果我不用某個東西,那我目前就不會想要學習相關知識,也不認識有誰在做這個東西,也不會很強烈地覺得它有用,因此就不會想參與進去!這其實完全沒問題。還有數不清的其他人在參與這些專案!少我一個根本不差的=)
缺乏勝任力的一個例子就是前面說到的Pidgin專案–聊天客戶端遇到了一些問題,我想要修復它,但是對於那時的我來說太難了。
什麼情況下我會參與
下面要說的是我參與過的開源專案,以及原因:
- IPython專案,是因為我想給它增加一個它本來沒有的特性!然後它就有了那個特性!我把一個效能要求合進了IPython,結果非常酷。
- 這個pandas cookbook專案,是因為我想了解pandas的時候發現沒有那麼多我所需要的實用資料!還有一個原因!就是我寫了一個東西,別人就可以更加了解pandas了!太完美了。
- gzip in julia專案,用來學習gzip是如何工作的。現在我學會了!棒極了。參與開源專案是件超級有意思的事!耶!
不要感到內疚
你能做的事情有很多。如果你在三個星期裡花了超過三十個小時來修復一個網路卡故障,那可能是很值的,因為你會學到很多,而且你的硬體會更好地運作!或者也許你會更願意把這些時間花在陪伴家人朋友或者志願活動或者踢足球或者看電影或者賺房租上面。
有時我聽到有人會說“你必須開發開源軟體!”,說得好像這是“普遍的善”一樣。不要感到內疚。對你沒有意義就不要做!除非你知道能獲得什麼並且覺得值得你花時間才去做!否則的話就做點別的吧!
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.
原文連結: Julia Evans 翻譯: 伯樂線上 - 伯樂線上讀者
譯文連結: http://blog.jobbole.com/66610/
相關文章
- 為開源社群做貢獻
- 以Dubbo為例,聊聊如何為開源專案做貢獻
- 從 SDWebImage 談如何為開源軟體做貢獻Web
- 為什麼要貢獻開源
- 如何為開源軟體做出貢獻
- 如何向開源專案做貢獻(以 incubator-dubbo 為例)BAT
- 如何給開源專案做貢獻
- 如何向 Mozilla 開源社群做貢獻
- 【開源社】您會為開源專案貢獻程式碼嗎?
- 程式設計師不需要為老的專案感到太多的內疚程式設計師
- 為何《貢獻者許可協議》不利於開源社群?協議
- 邀請學生加入 Google Summer of Code,為開源做出貢獻!Go
- 訓練營 | 如何成為一名開源社群貢獻者?
- 如何為PHP貢獻程式碼PHP
- 如何為 PHP 貢獻程式碼PHP
- [譯] 為 Django Framework 貢獻你的力量並沒有想象中的那麼難DjangoFramework
- 2019 年第 9 周沸點看點:我為開源做貢獻(文末招聘專場)
- 為謀求生存而就業,為終生髮展而職業,為人生價值而事業就業
- CNCF:中國已成為全球第二大開源貢獻國 CNCF專案的程式碼貢獻接近100萬
- 【直播回顧】戰碼先鋒第七期:三方應用開發者如何為開源做貢獻
- 實踐心得:從讀論文到復現到為開源貢獻程式碼
- Measure階段是如何為六西格瑪專案做貢獻的?
- 貢獻開源專案沒那麼簡單,你要負責到底
- 福布斯:商業無人機行業將為美國經濟貢獻數十億美元無人機行業
- 如何幫助OpenStack開發者成為貢獻者
- 開源貢獻者翻譯組 LCTT 九歲啦
- 零起點的開源社群貢獻指南
- 如何看待Steam遊戲因為沒有中文,而被打差評的行為?遊戲
- 成為Apache SeaTunnel貢獻者的N種方式Apache
- 貢獻Dubbo生態,阿里開源Nacos專案阿里
- 如何向開源軟體貢獻自己的力量
- 一年內每天向開源貢獻程式碼所發生的事情
- 本週四晚19:00戰碼先鋒第7期直播丨三方應用開發者如何為開源做貢獻
- [譯] 為 GitHub 專案做出貢獻的初學者指南Github
- 大資料為全球貿易貢獻大價值大資料
- Tnooz:Expedia為TripAdvisor貢獻的收入下降iPad
- 個人/團隊/公司開源,Joyqi 談貢獻開源的「不同姿勢」
- TDengine 上榜 BenchCouncil 全球第一個開源貢獻榜