開源專案是如何被搞砸的?
搞砸開源專案的法子有很多,要指責的地方也有很多。GitHub的一位負責人則認為,專案維護者和使用者都應受到責備。
在近日一場題為《搞砸開源專案的99種法子》的警示性報告中,GitHub主管開源專案的Brandon Keepers列舉了開源專案因使用者或維護者採取了錯誤步驟而出岔子的無數方式。Keepers在俄勒崗州波特蘭召開的O'Reilly開源大會(OSCON)大會上作了那場報告,他列舉了如何搞砸開源專案的N種法子。
Keepers表示,專案參與者可能會幹些避免給予建設性反饋之類的事件,這讓維護者頓無動機。“我們不報告錯誤,我們遇到問題後說‘這一定是我的問題……別人會報告這個問題的。’”
參與者還可能很懶,提些未經深思熟慮的問題,或者不細讀說明文件。Keeper表示,那樣一來,要是維護者沒有足夠迅速地回答使用者提出的問題,使用者就會衝他們發火。“我們忘了一點,就是維護者是在閒餘時間自願做這份工作的。”
Keepers表示,反過來,至於專案維護者,他們會讓使用者很難“明白專案的用途何在”,而這會打擊使用者的信心。他們可能讓使用者甚至很難上手。“最簡單的就是我們不告訴使用者如何使用它。”相反,維護者可能覺得最懂行的使用者應該自個能搞清楚。維護者還可能讓專案無法配置,或者需要過多的配置。
發行不可靠的版本以及避免公佈版本路線圖也會導致問題。Keeper說:“眾所周知,我們其實並不喜歡規劃新軟體,不是嗎?實際上我覺得,我們許多人卻稱之為敏捷開發”,他對沒有事先規劃整個專案的敏捷開發方法頗有微詞。“但其實,要是根本就沒有計劃,再敏捷有啥用?”
其他問題包括:因重大修正版而拖延發布版本,在次要版本中做一些破壞性變化,版本與版本之間不提供升級路徑。不提到軟體專案的已知侷限性也是個問題。
Keepers表示,如果維護者引入模稜兩可的法律用語,沒有采用適當的開源許可證,還會毀了程式碼的完整性。侵犯專利權、版權和商標也是些問題。
如果維護者在專案還沒有準備好之前吸引使用者,或者給專案選取令人不快或難以正確發音的名字,會搞砸專案的聲譽。Keepers說表示,“無法透過谷歌搜尋引擎在網上找到的名字”也是個問題,他提到了備受關注的兩個專案:Rust語言和Go語言。他認為,這些專案雖然很優秀,但是很難找到關於它們的資訊。Keepers表示,避免大力推銷專案也是個錯誤。
Keepers表示,要是施加過多的控制權,忽視對專案的擔憂,或者對貢獻程式碼管理不善,也會徹底打擊社群的信任。另一個障礙因素就是沒有向程式碼貢獻者表示感謝。
另一個問題就是,維護者對網上討論出現不適當的行為沒有進行制止。Keepers說:“網際網路其實是個可怕的地方”,許多人排斥女性和少數派,嘲笑不是以英語為母語的人。專案新來者也常常發現自己成為嘲笑的物件。
搞砸專案的大多數類別都是不顯眼的小問題,比如缺乏資訊。雖然這些行為無傷大雅,但日積月累會破壞圍繞專案建立起來的社群,並且讓維護者身心疲憊。Keepers強調,維護者需要為軟體專案樹立好的榜樣。
相關文章
- 如何高效的學習開源專案?
- 如何研究開源專案的程式碼?
- 如何開始參與開源專案?
- 我是如何把 GitHub 開源專案做到 5300+ star 的Github
- 如何正確使用開源專案?
- 如何熟悉一個開源專案?
- 如何打造規範的開源專案workflow
- 如何靠你的開源專案經歷求職求職
- PlantUML 是繪製 uml 的一個開源專案
- 專家解讀:開源軟體專案是否會被限制出口?
- 機器學習專案是如何開發和部署的?機器學習
- 如何給開源專案做貢獻
- 如何高效地學習開源專案
- 如何給開源專案發起提案
- 開源專案如何利用社交媒體
- Hi,我是ChunJun,一個有趣好用的開源專案
- 維護大型開源專案,是怎樣的體驗?
- 其實大多開源專案是這樣維護的
- 如何閱讀大型前端開源專案的原始碼前端原始碼
- 如何在Github打造你的爆款開源專案Github
- 如何學習開源專案及Ceph的淺析
- 一個檔案的開源專案,開啟你的開源之旅
- 老闆要調,那就調!思維惰性是如何搞砸留存優化的?優化
- 小白觀察:開源專案如何在雲端生存
- 如何去參與一個開源專案
- 談談如何高效學習開源專案
- TensorFlow 團隊如何管理開源專案
- 如何才能運作好一個開源專案?
- 開源專案推薦:提高研發效率的5個開源專案
- 半棵樹的開源專案
- Amoeba -阿里的開源專案阿里
- IOS開源專案iOS
- 開源專案-WaterMark
- 淘寶開源專案
- 開源專案:MMPopupViewView
- 我們在開源專案中是怎樣埋彩蛋的
- JFrog:開源專案的最大挑戰是文件和許可
- android開源專案【專案篇】Android