開源項目資深大佬:被冒犯到停止維護代碼,讓它真涼吧!

2023-11-23     51CTO

原標題:開源項目資深大佬:被冒犯到停止維護代碼,讓它真涼吧!

一、萬星AI開源項目大佬回歸突然就被冒犯了

Max Woolf是一位多款AI開源工具的作者,目前在舊金山BuzzFeed任職數據科學家,一直致力於基於人工智慧的內容生成。自2015年以來,Max陸續發布了許多過萬星的開源Python包,如textgenrnn、gpt-2-simle、aitextgen和simpleaichat,儼然已經成為了一名開源大佬。

Max 表示他開發這些工具包的主要動機一直都是:一,興趣;二,改善垃圾帖子。在那段時間裡,包括最近一段時間,大眾對於網站種充斥著AI生成的內容的反抗情緒如此強烈,Max開始意識到沒有人類控制的情況下發布AI生成內容的危險性,因為現在他如果發布「Made by AI」的內容,多半會收到死亡威脅。

激烈的抵抗AI生成內容的大眾情緒,再加上AI行業發展速度之快,讓Max決定修整一段時間為自己充電。

在這段時間中,Max暫停了開源項目的更新與維護,這本應該很好。然而,令Max意想不到的情況讓他氣炸了。

二、一個嘲諷的問題,一個「補刀」評論

問題就出在Max一個最新開源的項目上。simpleaichat,是Max開發的一款用於與ChatGPT交互的Python包,目前已經取得了3000 Github Stars。由於這個包的設計範圍非常明確且有限,而且依賴性最小,Max就認為這個包可以在不破壞代碼的情況下暫停開發,等他自己將狀態調整恢復過來之後再進行維護。

可等他恢復了正常的開源節奏之後,卻收到了這樣一個關於simpleaichat的GitHub問題,標題簡短且充滿諷刺:「這已經被放棄了嗎?」

另一位GitHub用戶也補了一刀:「恕我直言,我也對答案感興趣。」Max看到這個問題,還以為這個項目出現了很嚴重的Bug或依賴性問題,但檢查之後完全沒有。

這還沒完,2天之後,Max又一次被這類問題cue到了——「這個包還在開發中嗎?」「是不是已經被人分叉出去維護了?」

一串問題看下來,Max有些被冒犯到了:「這絕對是在施加壓力,並且非常無禮!」「我從未見到多有人會對開源作者詢問『開源存儲庫是否已經被廢棄』這樣的問題!」

Max覺得這很無理取鬧:是否有一個潛在的條款來要求開源人必須積極維護他發布的任何開源軟體?如果在GitHub上達到一定的星級或通過GitHub Sponsorships/Patreon申請資金,你就有義務提供免費的支持嗎?

沒有。畢竟,像MIT等大多數許可的開原始碼許可證都包含類似的一條:「軟體按原樣提供,沒有任何形式的保證」的變體。

三、大佬:非個例,許多請求都非常離譜

這樣粗魯的情況並非個例。simpleaichat並不是Max第一次遭到這樣抱怨嘲諷的開源項目。

大約十年前,Max在GitHub上發布了一個跟蹤對抗性用戶輸入文本字符串的項目—— Big List of Naughty Strings,現在已經有45k星,這個項目本質上就是一個txt文件,根本不存在依賴性問題。而且,如果添加對各種字符串問題不敏感的內容到列表中,可能會使列表變得更加混亂,所以我很猶豫是否接受每個拉取請求。但儘管如此,依舊會有人感到不爽。

可能到現在也有人認為,GitHub 零問題或零拉取請求(PR)是理所應當的,但這過於理想化,工作生活的現實就是,我們的收件箱永遠做不到清空狀態。

每個平凡的開源項目都會有一個問題/PR隊列,這需要一個分類優先級:並非所有問題和PR都是同等重要的,篩選隊列需要時間和精力。

作為一名維護人員,Max越來越意識到這一點,因為接受誤導性的PR,反而會帶來更多的技術債務,需要付出更多的努力來解決。

四、分叉:本來挺美好,結果成了威脅

Max舉了一個發生在自己身上的例子。用戶遇到一個很酷的GitHub項目,很長一段時間沒有更新了,難免沮喪。這種事也經常發生在Max身上。

如果代碼仍然有效,那就太棒了,我很高興。但如果不好用,那就下一個,或者把它當作一個有趣的新機會來自己研究。這就是開源的美妙之處!

如果有一個非活動的開源項目對你自己的商業項目至關重要,那麼就更好了,因為這是一個很好的財務理由,通過為項目添加適當的功能就可以得到一份諮詢合同或者獎金。

開源的一大好處是,如果一個擁有許可證的開源項目確實處於非活動狀態,那麼它就可以無縫分叉。有時分叉可以變得比原來的項目更好,這對每個人來說都很棒!

但根據Max的經驗,它反而被用作威脅。維護人員一旦懈怠,就會有人拿分叉當做威脅的理由,甚至分裂開發社區。

五、大佬:那就讓開源項目涼吧!不值得

AI行業實在太獨特了,發展速度非常驚人,變化也完全超出了人們的預期。Max看來,最近的ChatGPT受益者,如LangChain、LlamaIndex和AutoGPT,產生了一種錯誤的感覺,即開源的人工智慧項目必須像火箭一樣一直持續衝刺發光發熱,但問題就在於開源維護者是人,不是機器,並且現在的維護者也有自己的全職工作,當然現在也有不少是由大量風險投資所支持的公司在管理。

持續為開源項目提供支持的這種壓力,Max認為已經無形中成為了開源工作的最大障礙。Max目前已經停止了發布有趣的一次性項目和人工智慧模型,因為他實在沒有足夠的「帶寬」(精力)去處理這些偷懶的問題,比如「嗨,這裡出問題了,請修復,謝謝!」不管是不是會產生依賴性中斷的問題。

Max表示:「如果能掙到同等的薪水,我很樂意辭去數據科學家的專業工作,全職從事開源項目。」他認為,現在唯一能讓開源項目它發揮作用的方法,就是像所有人工智慧初創公司一樣籌集風險投資。

六、開源項目拖延實屬正常

許多人可能認為一個良好的開源維護者應該做到積極及時地響應和解決各種issue,要不斷地、有節奏地發布版本,要有十分完善的說明文檔,還要在各種交流社區回復問題等等。

但事實並非如此,開源維護者也許只有幾個人甚至只有一個人在作戰。他們並不是全職做開源項目,精力和能力有限。就如同某位Alluxio社區的開源維護者提到的:「對於不少其實還是挺合理的用戶需求和反饋,甚至一些好很好的PR,我都拖延了很久很久,這裡給大家先道個歉。」

更何況在本文案例中,使用者提出的「這個開源項目是不是涼了」的問題,簡直犯了大忌。

源:知乎

七、理性提問題,請別做槓精

另外提醒一點,使用開源項目提問題需要理性,而不是無腦抬槓。最近就曝出了一條新聞,說一名開發者在 Vant 的 GitHub 倉庫提交了一個 issue,跟有贊的開源維護者槓上了。

這位開發者最後有些吵架的情緒:「我的問題是,那你說它到底合理不合理呢?中文理解就這麼困難嗎?」(PS:讓維護者給出2選1的答案:合理或者不合理。)

八、寫在最後:給開源該有的敬意

沒錯開源精神鼓勵自由和分享,但並不意味著使用者可以用命令甚至威脅的口吻去冒犯。不管是精神領袖斯托曼還是Linus,他們倡導的都不是這樣一種維護者不被尊重的文化。當然,這也再一次暴露出了目前開源項目維護管理的問題所在:用愛發電被當成理所當然。

最後,千萬不要再當面詢問維護者「開源項目是否已經涼了」這種問題了,非常愚蠢。輕則惹惱維護人員並延遲開發。重則會刺激到維護人員,讓他們重新考慮繼續從事開源項目是否值得,真的讓項目涼透。

文章來源: https://twgreatdaily.com/zh-mo/b92fd13e9a959de779d615ff357b3826.html