偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

若相關(guān)程序員不幸逝世,他的開源軟件會(huì)有人維護(hù)嗎

開發(fā) 前端 開源
一個(gè)開源軟件的維護(hù)者越少,其被孤立的風(fēng)險(xiǎn)就越大。開發(fā)商甚至有這樣一個(gè)病態(tài)的名字:大巴系數(shù),這意味著在沒有人維護(hù)開源項(xiàng)目的情況下會(huì)受到影響的人數(shù)。 Libraries.io已經(jīng)確定了大約3000個(gè)開源庫,在許多其他程序中使用,但只有極少數(shù)的人在默默貢獻(xiàn)。

你可能從來沒有聽說已故Jim Weirich或他開發(fā)的軟件。但是你幾乎肯定會(huì)使用過在他研究基礎(chǔ)上開發(fā)出的各種應(yīng)用程序。

Weirich為面向?qū)ο?面向?qū)ο蟪绦蛟O(shè)計(jì))腳本語言Ruby創(chuàng)建了幾個(gè)關(guān)鍵工具,Ruby是Hulu,Kickstarter,Twitter和其他無數(shù)主流網(wǎng)站代碼的編程語言。Ruby的代碼是開源的,這意味著任何人都可以使用它并對其進(jìn)行修改。 Ruby開發(fā)人員兼軟件公司Test Double聯(lián)合創(chuàng)始人Justin Searls說:“Weirich是西方世界Ruby社區(qū)的創(chuàng)始人之一。

當(dāng)Weirich于2014年去世時(shí),Searls注意到?jīng)]有人再去維護(hù)Weirich的一個(gè)軟件測試工具。這意味著如果其他開發(fā)者再向Ruby社區(qū)提交關(guān)于Ruby語言的錯(cuò)誤修復(fù),安全補(bǔ)丁或其他改進(jìn),就不會(huì)有人批準(zhǔn)更改。任何依賴該工具的測試最終都會(huì)失敗,因?yàn)榇a會(huì)隨著時(shí)間推移變得過時(shí),并且與新技術(shù)不再兼容。

事件凸顯了開源軟件社區(qū)日益關(guān)注的一個(gè)問題。當(dāng)程序員過世后他們所編寫的代碼會(huì)怎么樣?關(guān)于在用戶死后其社交媒體賬戶會(huì)發(fā)生什么的文章已經(jīng)寫得很多了。但關(guān)于程序員過世這個(gè)問題沒有那么嚴(yán)重。部分原因是因?yàn)榇蠖鄶?shù)公司和政府所運(yùn)行的都是商業(yè)軟件,都有專人維護(hù)。但現(xiàn)在,更多的程序依賴于像Weirich這樣的程序員所開發(fā)的晦澀難懂但卻重要的開源軟件。

一些開源項(xiàng)目是眾所周知的,如Linux操作系統(tǒng)或Google的人工智能框架TensorFlow.但是這些項(xiàng)目中都依賴于更小的開源代碼庫。而這些開源代碼庫又是基于另一個(gè)代碼庫。結(jié)果構(gòu)成了一個(gè)復(fù)雜的,不為人知的相互依存的軟件網(wǎng)絡(luò)。

這可能會(huì)帶來很大的問題,如2014年,在OpenSSL中發(fā)現(xiàn)了一個(gè)被稱為“Heartbleed”的安全漏洞,幾乎每個(gè)處理信用卡或借記卡支付過程的網(wǎng)站都會(huì)使用這個(gè)開放源代碼程序。該軟件與大多數(shù)Linux版本捆綁在一起,但由幾個(gè)志愿者維護(hù),他們沒有時(shí)間或資源進(jìn)行廣泛的安全審計(jì)。在Heartbleed安全漏洞被發(fā)現(xiàn)后不久,在另一個(gè)常見的開源應(yīng)用程序Bash中也發(fā)現(xiàn)了一個(gè)同樣的安全問題,這使得無數(shù)的Web服務(wù)器和其他設(shè)備很容易受到攻擊。

肯定還有更多未發(fā)現(xiàn)的漏洞。 Libraries.io是一個(gè)分析軟件項(xiàng)目之間關(guān)系的團(tuán)隊(duì),其已經(jīng)確定了超過2,400個(gè)開源代碼庫在其他1000個(gè)程序中使用,但是很少受到開源社區(qū)的關(guān)注。

安全問題只是這個(gè)問題的一部分。如果軟件庫無法及時(shí)更新,軟件升級(jí)后也就無法運(yùn)行。這意味著在用戶在更新了相應(yīng)軟件之后,那些依賴于過期庫的應(yīng)用程序可能無法工作。當(dāng)維護(hù)代碼庫的開發(fā)人員離世或放棄一個(gè)項(xiàng)目時(shí),使用該軟件的每個(gè)人都會(huì)受到影響。去年,當(dāng)程序員AzerKo ulu從互聯(lián)網(wǎng)上刪除了一個(gè)叫做Leftpad的代碼庫后時(shí),它造成了漣漪效應(yīng),據(jù)說在Facebook,Netflix和其他很多地方都引起了令人頭痛的問題。

若相關(guān)程序員不幸逝世,他的開源軟件會(huì)有人維護(hù)嗎

大巴系數(shù)

一個(gè)開源軟件的維護(hù)者越少,其被孤立的風(fēng)險(xiǎn)就越大。開發(fā)商甚至有這樣一個(gè)病態(tài)的名字:大巴系數(shù),這意味著在沒有人維護(hù)開源項(xiàng)目的情況下會(huì)受到影響的人數(shù)。 Libraries.io已經(jīng)確定了大約3000個(gè)開源庫,在許多其他程序中使用,但只有極少數(shù)的人在默默貢獻(xiàn)。

項(xiàng)目孤立是使用開源軟件的風(fēng)險(xiǎn),但商業(yè)軟件制造商也可能會(huì)停止支持或更新舊程序,從而給用戶帶來同樣的麻煩。在某些情況下,別有用心的程序員會(huì)采用孤立的開源代碼。

這就是Searls在處理Weirich開源項(xiàng)目中遇到的一個(gè)問題。 Weirich最受歡迎的項(xiàng)目在他去世的時(shí)候有共同管理者。但是Searls注意到一個(gè)測試工具Rspec-Given沒有被移交出去,他有意負(fù)責(zé)更新,但一路上遇到了不少麻煩。

Rspec-Given的代碼托管在代碼托管和協(xié)作站點(diǎn)GitHub上,后者目前擁有6700萬個(gè)代碼庫。 Weirich在GitHub上的Rspec-Given頁面是其他Ruby用戶報(bào)告錯(cuò)誤或自愿幫助改進(jìn)代碼的主要地方。但GitHub不會(huì)讓Searls控制這個(gè)頁面,因?yàn)閃eirich在他去世之前還沒有進(jìn)行命名。所以Searls必須創(chuàng)建一個(gè)新的代碼副本,并將其轉(zhuǎn)移到其他地方。他還必須說服分發(fā)代碼的“包管理系統(tǒng)”Ruby Gems運(yùn)營商使用他的Rspec-Given版本,而不再是Weirich的版本,以便使所有用戶都能訪問的變更。 GitHub拒絕討論其關(guān)于轉(zhuǎn)移項(xiàng)目控制的政策。

相關(guān)方法能夠解決與Rspec-Given有關(guān)的潛在問題,但是它也讓Searls看到了許多可能出潛在問題。 Searls說:“我們很容易將開源看作一種純粹的技術(shù)現(xiàn)象。但是,一旦有些事情產(chǎn)生,并且被其他人所依賴,這也是一種社會(huì)現(xiàn)象。”

大多數(shù)軟件包管理系統(tǒng)的維護(hù)人員至少有一個(gè)專門的流程來轉(zhuǎn)移對庫的控制權(quán),但是這個(gè)過程通常取決于是否有人能夠注意到項(xiàng)目已經(jīng)被孤立,然后自愿接管它。 Ruby Gems項(xiàng)目的Evan Phoenix說:“我們沒有官方政策,主要是因?yàn)樗粫?huì)經(jīng)常出現(xiàn)。 ”我們有一個(gè)顧問委員會(huì),用來逐個(gè)處理這種類型的事情。“

現(xiàn)在,一些軟件包管理人員會(huì)監(jiān)視他們的庫運(yùn)行狀態(tài),并標(biāo)記那些很久沒有更新且使用頻繁的項(xiàng)目。協(xié)助維護(hù)編程語言Perl軟件包管理器的Neil Bowers說,他有時(shí)候會(huì)尋找志愿者接管孤立項(xiàng)目。鮑爾斯說,他的小組時(shí)常會(huì)指出,一個(gè)項(xiàng)目已經(jīng)被開發(fā)者放棄,并推薦接管人。

一個(gè)“去世開關(guān)”

Searls接管Rspec-Given時(shí)只有30歲,他為自己的開源項(xiàng)目制定了遺囑和繼任計(jì)劃。除此之外,開發(fā)人員還可以針對未來做出其他努力。例如,他們可以將版權(quán)轉(zhuǎn)讓給諸如Apache基金會(huì)等其他組織。但是許多開源項(xiàng)目本質(zhì)上是以業(yè)余愛好開始的,所以程序員可能不會(huì)想到轉(zhuǎn)移所有權(quán),想到時(shí)已經(jīng)為時(shí)已晚。

Searls認(rèn)為,GitHub和Gems等軟件包管理者可以在他們的平臺(tái)上添加一個(gè)類似于“去世開關(guān)”的東西,如果創(chuàng)建者沒有登錄或者長時(shí)間沒有更新,程序可以自動(dòng)將項(xiàng)目或者帳戶的所有權(quán)轉(zhuǎn)讓給其他人。

而過渡計(jì)劃不僅僅是讓人們能夠訪問代碼。Matplotlib是一個(gè)Python編寫的2D數(shù)字繪圖庫,在創(chuàng)始人約翰。亨特(John Hunter)于2012年去世后,Michael Droettboom進(jìn)行了接管。他指出,繼任者也需要了解這些代碼。他說:“有時(shí)候只有一個(gè)人可以理解部分代碼。知識(shí)只存在于一個(gè)人的頭腦中。”

這意味著理想情況是,一旦項(xiàng)目被原始開發(fā)人員以外的人使用,就需要讓其他人盡早參與一個(gè)項(xiàng)目。 Searls指出,這還有另外一個(gè)好處,那就是分配維護(hù)項(xiàng)目的工作,以防止開發(fā)人員產(chǎn)生倦怠。

責(zé)任編輯:未麗燕 來源: 36氪
相關(guān)推薦

2022-12-09 14:34:40

程序員工資離職

2011-02-23 10:11:13

衛(wèi)士通總經(jīng)理李學(xué)軍

2009-05-21 15:58:12

程序員工作經(jīng)驗(yàn)職場

2012-08-13 09:25:50

程序員

2021-12-20 14:42:39

程序員職業(yè)技術(shù)

2017-11-06 13:59:48

程序員行業(yè)趨勢收入

2020-03-02 09:50:50

程序員技能開發(fā)者

2015-11-16 13:32:51

2013-08-20 09:33:59

程序員

2021-09-26 09:09:20

開源APP程序員

2019-04-16 14:00:28

程序員開源字體

2020-11-29 17:08:50

程序員IT

2014-12-05 09:59:17

程序員

2012-05-25 10:54:24

程序員

2009-06-02 13:43:04

程序員定義職場

2019-07-10 09:05:14

程序員開源軟件軟件

2011-05-13 14:34:02

程序員

2020-11-14 15:35:01

程序員技術(shù)標(biāo)簽

2021-06-29 08:29:25

開源程序員github

2015-04-28 11:31:43

程序員軟件項(xiàng)目項(xiàng)目預(yù)估
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)