九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
從GitHub何Stack Overflow說開去:后開源時(shí)代,開源的未來往哪邊?
作者|Nadia Eghbal
譯者丨薛命燈
編輯|小智
開源改變了世界,世界也回報(bào)了開源。我們現(xiàn)在正處在開源的黃金時(shí)代,但隨著開源成指數(shù)級的規(guī)模增長,有很多挑戰(zhàn)亟待解決。開源的冬天已經(jīng)逼近,似乎也不是一個(gè)危言聳聽的觀點(diǎn)?


我們已經(jīng)目睹了開源在初創(chuàng)公司的發(fā)展過程中所扮演的重要角色,不過事實(shí)不僅限于此。

開源改變了初創(chuàng)公司,而初創(chuàng)公司也反過來改變了開源。

兩個(gè)典型的初創(chuàng)公司,GitHub和Stack Overflow,它們一起為軟件技術(shù)開啟了新的篇章。我們現(xiàn)在所做的決定將影響著軟件行業(yè)未來5到10年的發(fā)展走向。要想知道為什么,我們需要從頭講起。


70到80年代:軟件行業(yè)的開端


在70年代,所有人都在開發(fā)自己的軟件,都在組建自己的電腦。IBM在1981年發(fā)布了IBM PC,也就是所謂的“個(gè)人電腦”,從此讓硬件市場繁榮了起來。

隨著硬件的繁榮,軟件也搭上了這趟順風(fēng)車。商人從IBM身上看到了巨大的市場機(jī)會,而風(fēng)險(xiǎn)資本意識到軟件比硬件的風(fēng)險(xiǎn)更小,而且更具上升的潛力。

于是,紅杉資本注資Oracle開發(fā)數(shù)據(jù)庫軟件,IBM委托微軟為他們的個(gè)人電腦開發(fā)操作系統(tǒng)MS-DOS。

突然間,開發(fā)自由軟件的想法變得不受待見。軟件開始變成商品。試想,如果你可以因此賺上百萬美元,有什么理由不去做?

開發(fā)自由軟件開始受到排擠,變成了反主流文化。如果你開發(fā)自由軟件,你就無法跟上Oracle或微軟的步伐。如果有人開發(fā)自由軟件,那么他們也只是想把它們作為平臺,而絕非產(chǎn)品。

這些程序員聚集在郵件列表和IRC上一起寫代碼,并且把代碼公開放到網(wǎng)站上。任何人都可以根據(jù)需要使用和修改這些代碼。

不過這些軟件項(xiàng)目也并不好過,畢竟它們不帶有商業(yè)性質(zhì)。

如果你想為某個(gè)項(xiàng)目貢獻(xiàn)代碼,你必須先加入到維護(hù)者的聯(lián)系通道。它們可能是IRC,也可能是郵件列表,或者你需要先向他們發(fā)送一封自我介紹郵件,更有甚者你可能根本無法找到他們的聯(lián)系方式。

這些項(xiàng)目不僅沒有標(biāo)準(zhǔn)的溝通方式,也沒有標(biāo)準(zhǔn)的開發(fā)工具。

開源項(xiàng)目使用版本控制系統(tǒng)來跟蹤開發(fā)者對代碼所做的修改。通過這種方式,開發(fā)者避免了重復(fù)工作和變更沖突。

在今天,如果有人說到版本控制,很多人會想到Git,但其實(shí)除了Git之外還有很多其他系統(tǒng),比如SVN和CVS。每種系統(tǒng)的工作方式都有點(diǎn)不一樣,開發(fā)者可以選擇他們喜歡的系統(tǒng)。

所以,如果你想為某個(gè)項(xiàng)目貢獻(xiàn)代碼,必須先弄清楚要聯(lián)系誰,以及如何跟他溝通。在你可以貢獻(xiàn)代碼之前,需要先做足功課。


90年代后期:開源開始流行


在90年代后期,事情開始發(fā)生轉(zhuǎn)變。很多組織開始使用LAMP(Linux、Apache、MySQL、PHP)技術(shù)棧,這個(gè)技術(shù)棧所包含的工具都是開源的。此時(shí),幾乎所有人都可以開發(fā)幾近免費(fèi)的軟件系統(tǒng)。

不過大公司仍然認(rèn)為開源是一個(gè)笑話。Steve Ballmer視Linux為“毒瘤”,并認(rèn)為“人們需要適當(dāng)?shù)貫檐浖Ц顿M(fèi)用”。Bill Gates在1976年寫了一封公開信譴責(zé)盜版BASIC軟件的“業(yè)余愛好者”,并說他們是在“偷竊”:

誰能夠毫無目的地做著這些專業(yè)的工作?那些業(yè)余愛好者可以花上三個(gè)人年在編程上,并修復(fù)缺陷、寫好產(chǎn)品文檔,最后免費(fèi)發(fā)布出來,他們可以從中得到什么?

不過不管怎樣,初創(chuàng)公司對LAMP技術(shù)棧很感興趣,因?yàn)樗麄冎灰獮橹冻鍪召M(fèi)軟件十分之一的成本。因?yàn)槭褂眠@些免費(fèi)軟件,他們不需要太多的錢就可以啟動他們的業(yè)務(wù)。

開源軟件開始占領(lǐng)市場。

隨著越來越多的人開始使用開源軟件,開發(fā)者需要更好的工具來管理他們的項(xiàng)目。VA Research公司看到了機(jī)會,他們出售預(yù)裝了Linux操作系統(tǒng)的個(gè)人電腦,這里的Linux也就是LAMP技術(shù)棧里的“L”。

VA Research公司發(fā)現(xiàn)越來越多的人使用開源軟件對他們的業(yè)務(wù)來說就越是有好處。于是在1999年夏天,該公司的一些員工決定開發(fā)一個(gè)協(xié)作工具,名字叫作SourceForge,并在同年秋天發(fā)布。

開發(fā)者在SourceForge上開發(fā)開源軟件,SourceForge成為一個(gè)標(biāo)準(zhǔn)的開源項(xiàng)目網(wǎng)站。開發(fā)者可以在SourceForge上免費(fèi)存放代碼、管理他們的項(xiàng)目、跟蹤缺陷,這些事情都在一個(gè)地方完成。

不過版本控制仍然是一個(gè)棘手的問題。


Git是如何改變一切的?


開源操作系統(tǒng)Linux變得越來越受歡迎。不過Linux項(xiàng)目使用的版本控制系統(tǒng)BitKeeper不是免費(fèi)的。雖然Linux之父Linus Torvalds喜歡BitKeeper(BitKeeper為他們發(fā)放了“社區(qū)許可”),但大部分開發(fā)人員對他的決定并不認(rèn)可。

作為所有權(quán)軟件,BitKeeper對它的用戶做了很多限制。例如,如果有人在Linux上使用BitKeeper,他們就無法在SVN或CVS中打開BitKeeper管理的代碼。

2005年,BitKeeper的開發(fā)者宣布,因?yàn)樵S可方面的問題,BitKeeper結(jié)束對Linux的免費(fèi)支持。BitKeeper用戶要么被迫接受一項(xiàng)商業(yè)協(xié)議,要么去尋找其他解決方案。

Linus Torvalds并不喜歡現(xiàn)有的任何一款免費(fèi)的版本控制系統(tǒng),于是他決定自己開發(fā)。2005年,Linus發(fā)布了一款新的版本控制系統(tǒng)Git。

對于這個(gè)名字,Linus開玩笑地說自己是一個(gè)“任性的混蛋”,總是“為所有項(xiàng)目使用跟自己有關(guān)的名字”?!癵it”在英式俚語里是“不高興的人”的意思。也就是說,除了Linus,還有很多人都需要一個(gè)更好的版本控制系統(tǒng)。除了Linus,其他開發(fā)者也喜歡Git。Git速度更快,而且它是分布式的,可以處理多個(gè)代碼貢獻(xiàn)者。

不過Git不是很直觀,它跟其它的版本控制系統(tǒng)很不一樣。SourceForge并不支持Git。

幾年之后,SourceForge迎來了新的競爭對手。2008年,兩個(gè)新的協(xié)作平臺GitHub和Bitbucket出現(xiàn)了。它們都是很好的協(xié)作平臺,不過它們之間有一個(gè)很大不同:Bitbucket只支持Mercurial,而GitHub只支持Git。

在BitKeeper慘敗之后,Matt Mackall發(fā)布了Mercurial,Linus幾乎在同一時(shí)間發(fā)布了Git。Mercurial和Git之間的競爭趨于白熱化。

不過最后,GitHub算是壓對了籌碼。

Linux和其它優(yōu)秀的開源項(xiàng)目轉(zhuǎn)向了Git。GitHub讓本來不是很直觀的Git變得易于使用。

2010年,SVN在版本控制系統(tǒng)市場占據(jù)著主要位置,有60%的軟件項(xiàng)目在使用SVN,而使用Git的僅11%。但在今天,Git幾乎占據(jù)了SVN原來的市場份額。

Bitbucket最初使用的Mercurial現(xiàn)今只有2%的軟件項(xiàng)目在用。

GitHub成為代碼協(xié)作的首選平臺。開源需要具備以下兩個(gè)條件:

1.標(biāo)準(zhǔn)的溝通方式

2.標(biāo)準(zhǔn)的代碼管理方式

GitHub滿足了以上兩種需求,并且提供了更多的功能,比如新的社交機(jī)制,開發(fā)者之間可以互相關(guān)注,并且可以通過新聞種子查看項(xiàng)目變更?,F(xiàn)在開發(fā)者還具有:

3.標(biāo)準(zhǔn)的Web社交方式

到這里,整個(gè)故事就完整了。

好吧,幾乎算是完整了。


Stack Overflow:為代碼尋求幫助的地方


GitHub成為代碼協(xié)作的集中地。那么當(dāng)開發(fā)者在碰到困難時(shí)該怎么辦?他們一直在互相請教,并分享知識。

編程書籍因此變得非常受歡迎。有時(shí)候,人們會在私人郵件或郵件列表里討論問題。不過,還沒有一個(gè)專門的地方可以用來討論代碼內(nèi)容。

1996年,Experts-Exchange,作為第一批.com網(wǎng)站,為IT從業(yè)者提供了一個(gè)可以尋求幫助的地方。

Experts-Exchange采用的是高級會員制,并在2001年隨著.com浪潮的崩塌而破產(chǎn)。有人把這歸咎于風(fēng)險(xiǎn)資本,JP Morgan以550萬美元持有該網(wǎng)站51%的股份,并讓網(wǎng)站以拔苗助長式的速度增長。不過這個(gè)網(wǎng)站在擁有了新主人之后還是存活了下來。

不管怎樣,這個(gè)網(wǎng)站的想法是非常好的。2008年,Jeff Atwood和Joel Spolsky決定創(chuàng)建一個(gè)更加開放的網(wǎng)站,它的名字叫作Stack Overflow。

開發(fā)者從此有了一個(gè)可以尋求幫助的地方,他們可以在上面問關(guān)于編程語言的問題,或者為他們無法解決的代碼缺陷尋求幫助。Stack Overflow太過成功了,以至于后來發(fā)展成一個(gè)全面的問答網(wǎng)站,涉及的領(lǐng)域包括數(shù)學(xué)、Ubuntu操作系統(tǒng)和密碼學(xué),等等。他們把整個(gè)問答網(wǎng)絡(luò)稱為Stack Exchange。

開發(fā)者便擁有了他們需要的所有工具。而在80年代,他們需要同時(shí)使用IRC、郵件列表、論壇和版本控制系統(tǒng)。

截止2010年,開發(fā)者可以使用Git做版本控制,在GitHub上進(jìn)行協(xié)作,并在Stack Overflow上進(jìn)行問答。


2010年至今:開源的黃金時(shí)期


現(xiàn)如今,加入開源項(xiàng)目變得很容易,因?yàn)樗腥硕加猛瑯拥墓ぞ撸掖蠖鄶?shù)項(xiàng)目都托管在同一個(gè)平臺上。

現(xiàn)在要找出開源項(xiàng)目的維護(hù)者,以及這些人還在哪些項(xiàng)目上有過貢獻(xiàn),或者找出代碼有哪些變更以及哪些缺陷仍然處在未修復(fù)狀態(tài),都變得比以前容易得多。因?yàn)檫@些準(zhǔn)入門檻的降低,讓我們迎來了一個(gè)開源的黃金時(shí)期。


開源項(xiàng)目的爆發(fā)


在2011年,GitHub上有200萬個(gè)代碼倉庫,而現(xiàn)在達(dá)到了2900萬個(gè)。GitHub的Brian Doll說,創(chuàng)建第一批百萬個(gè)倉庫用了4年時(shí)間,而從第9個(gè)百萬到第10個(gè)百萬只用了48天。


開源項(xiàng)目的發(fā)現(xiàn)


GitHub的社交機(jī)制和平臺特性讓項(xiàng)目發(fā)現(xiàn)變得比之前任何時(shí)候都來得容易,這意味著更多的人可以參與到更多的項(xiàng)目當(dāng)中去。


開源現(xiàn)在看起來很酷


還記得在80年代那些公司和風(fēng)險(xiǎn)資本是如何啟動開源項(xiàng)目的嗎?那樣的狀況一去不復(fù)返了。我們可以說“開源”已經(jīng)變成了主流的科技名詞了,而且它不僅僅只跟軟件有關(guān)系。

例如,Bloomberg開源了他們的投資手冊Beta版,紐約時(shí)報(bào)開源了他們的代碼風(fēng)格指南,O'Reilly Media開源了一本書?!伴_源”變成了“開放信息”,或許有人會說“開源”可以指任何的事物。


開源不再只是一個(gè)可選項(xiàng)


說一個(gè)有趣的故事,在80年代自由軟件運(yùn)動的開端,他們推廣了一個(gè)叫作GPL的許可協(xié)議。隨后其它的開放許可協(xié)議也紛紛加入進(jìn)來,包括Apache、MIT和BSD,這些協(xié)議有著不同層級的寬容度。

而GitHub在開始時(shí)并沒有推廣任何新的許可協(xié)議。有些人認(rèn)為GitHub之所以這樣做,是擔(dān)心太多的“法律”約束會對開發(fā)人員加入開源造成影響。GitHub對托管在自己平臺上的項(xiàng)目并沒有采取任何許可約束,你可以允許人們查看你的代碼,并拉取它們的分支,除此之外的所有東西都只受版權(quán)的約束。

GitHub的方式奏效了,很少會有人在GitHub上使用許可協(xié)議。一個(gè)來自SFLC的調(diào)查表明,截止2013年,GitHub上只有15%的項(xiàng)目使用了許可協(xié)議。

在自由軟件時(shí)代,人么需要考慮許可,因?yàn)樗麄冃枰鞔_自己的立場(比如他們要跟所有權(quán)軟件區(qū)分開來)。而在GitHub時(shí)代,人們不關(guān)心權(quán)限問題,因?yàn)樗鼈兡J(rèn)就是開放的。

開源在今天這么流行,我們不認(rèn)為它只是一個(gè)意外。我們是如此的“開源”,或者說“后開源”,但在后開源的世界里并非萬事亨通。


未來:后開源時(shí)代


隨著開源成指數(shù)級的規(guī)模增長,有很多挑戰(zhàn)亟待解決。


越來越多的貢獻(xiàn)者帶來的工作負(fù)載


因?yàn)樵絹碓蕉嗟娜丝梢园l(fā)現(xiàn)并使用你的項(xiàng)目,他們會針對你的項(xiàng)目表達(dá)自己的觀點(diǎn),而你不得不去處理這些問題。

在以前的黃金時(shí)期,程序員的數(shù)量并不多,而且很多東西都沒有標(biāo)準(zhǔn)化,項(xiàng)目的準(zhǔn)入門檻比較高。而在今天,任何人都可以加入到GitHub項(xiàng)目中,并提出問題或需求,甚至說一些不是很好聽的話……然后溜之大吉。

這個(gè)問題很難得到解決,因?yàn)镚itHub本身不是開源的!也就是說,只有GitHub的員工能夠?qū)ζ脚_做出改進(jìn)。

使用所有權(quán)軟件來管理開源項(xiàng)目,這個(gè)聽起來有點(diǎn)像BitKeeper和Linux的故事,人們并沒有完全忘記這一點(diǎn)。有些開發(fā)者拒絕把代碼放在GitHub上,他們想保持獨(dú)立性。Linus Torvalds,作為Git的創(chuàng)始人,他也拒絕別人從GitHub上拉取他的代碼。

當(dāng)然,使用一個(gè)集中式的平臺來管理百萬個(gè)代碼倉庫也存在著一些問題:GitHub在近年經(jīng)歷了幾次宕機(jī),包括去年的一次DDoS攻擊,以及最近的一次網(wǎng)絡(luò)癱瘓。癱瘓的是一個(gè)網(wǎng)站,但是受影響的卻是所有人。

在這個(gè)月早些時(shí)候,一波開發(fā)人員向GitHub寫了一封公開信,他們在信中表達(dá)了他們的沮喪,因?yàn)樗麄內(nèi)狈σ粋€(gè)工具能夠有效管理持續(xù)增長的工作負(fù)載,他們希望GitHub能夠?qū)ζ脚_做出重大改進(jìn)。


開源項(xiàng)目走向產(chǎn)品化


開源項(xiàng)目的激增意味著圍繞它們建立鞏固的社區(qū)變得愈加困難,甚至不現(xiàn)實(shí)。

2008年,GitHub大約有18000個(gè)活躍的開源項(xiàng)目,而SourceForge大概擁有15萬開源項(xiàng)目(包括活躍和不活躍的)。

而今天,GitHub上有2900萬個(gè)項(xiàng)目,比2008年的SourceForge高出200倍。

而在開發(fā)者規(guī)模方面又是什么樣的情況?在美國,軟件開發(fā)人員從2002到2012年期間翻了一番,超過了100萬,不過這個(gè)跟開源項(xiàng)目的增長并不在一個(gè)數(shù)量級上。

以上數(shù)據(jù)截止2012年。美國勞工統(tǒng)計(jì)局期望接下來10年軟件從業(yè)人員的工作崗位可以有17%的增長,這個(gè)看起來已經(jīng)不少了,不過跟項(xiàng)目的增長比起來仍然不值一提。

在過去的2到3年里,有很多人開始學(xué)習(xí)編程,不過指望這些新手具備專業(yè)資格來為開源項(xiàng)目做貢獻(xiàn)是不大現(xiàn)實(shí)的。

事實(shí)是,大量的業(yè)余開發(fā)者使用著開源項(xiàng)目,但他們對這些項(xiàng)目并不感興趣,他們甚至無法為它們做一些回饋。他們或許可以為開源項(xiàng)目修復(fù)一些次要的問題,而重?fù)?dān)仍然落在了那些有經(jīng)驗(yàn)的老程序員的肩上。

有經(jīng)驗(yàn)的維護(hù)者感覺到肩頭的重?fù)?dān)。在今天看來,開源不太像是一條雙行線,而更像是沒有人為之掏錢的產(chǎn)品,但仍然要在維護(hù)這些項(xiàng)目上花費(fèi)很多時(shí)間。

這個(gè)與發(fā)生在報(bào)紙和音樂行業(yè)的情況有點(diǎn)像,只不過軟件是開源的而已。


代碼并不凌駕于法律之上


許可協(xié)議的故事后續(xù)是這樣的:軟件并不凌駕于法律之上。2013年,GitHub開始在許可問題上表明自己的立場。他們建議人們在創(chuàng)建新項(xiàng)目時(shí)使用許可,并創(chuàng)建了一個(gè)小網(wǎng)站來幫助項(xiàng)目所有人更好地選擇許可協(xié)議:

http://choosealicense.com

Stack Overflow也在后開源時(shí)代里痛苦地掙扎。自2008年以來,Stack Overflow為它的全站內(nèi)容使用了CC-BY-SA許可協(xié)議。CC-BY-SA要求對發(fā)布的內(nèi)容指明所有權(quán),而且要求對該內(nèi)容的分享要遵循同樣的許可,然而這并不利于人們?yōu)樗麄兊拇a尋求幫助。

從原則上說,如果你使用了Stack Overflow上的代碼,必須注明代碼的所有權(quán),那么這個(gè)人的代碼在你的代碼里就相當(dāng)于開啟了自己的許可。

大部分業(yè)余開發(fā)者也許并不關(guān)心這些規(guī)則,不過基于上述的原因,大部分公司會禁止他們的員工使用來自Stack Overflow的代碼。

隨著我們進(jìn)入后開源時(shí)代,Stack Overflow決定轉(zhuǎn)向MIT許可,但這并非一件易事。那些遺留的代碼和代碼以外的東西,會讓人們產(chǎn)生混淆和強(qiáng)烈的反應(yīng)。

從公司層面來看,公司也在試圖理解他們參與開源項(xiàng)目或發(fā)布自己項(xiàng)目的合法性?,F(xiàn)在有很多公司都有專門部門來處理開源問題,比如HP和Facebook。


軟件開發(fā)變得碎片化


Drew Hamlett在這個(gè)月寫了一篇叫作“Web開發(fā)的悲哀現(xiàn)狀”,他在文章里抱怨開發(fā)者總是在重復(fù)發(fā)明輪子,而不是幫助一起構(gòu)建一個(gè)穩(wěn)定的生態(tài)系統(tǒng):

沒有人能夠開發(fā)出一個(gè)可以包羅萬象的軟件庫。而項(xiàng)目一個(gè)比一個(gè)有野心……我只是不明白。我所能想到的是,人們只是在不斷地重寫Node.js應(yīng)用程序。

在開源流程變得標(biāo)準(zhǔn)化的同時(shí),它的產(chǎn)出卻在發(fā)生碎片化。開始新項(xiàng)目要比為舊項(xiàng)目貢獻(xiàn)來得容易得多。例如,我們可能得到10000個(gè)功能重復(fù)的小型代碼倉庫,而不是100個(gè)大型的活躍的開源項(xiàng)目。開源項(xiàng)目最大的一個(gè)優(yōu)勢是彈性。從理論上說,一個(gè)具有多個(gè)貢獻(xiàn)者的開放項(xiàng)目要比一個(gè)只有少數(shù)貢獻(xiàn)者的公司私有項(xiàng)目要健壯得多。

而現(xiàn)在,對開源項(xiàng)目的大規(guī)模采用,卻可能把我們帶向另一個(gè)方向。


前行之路


LAMP技術(shù)棧、GitHub和Stack Overflow為開源的流行做了很大貢獻(xiàn)。就像“移動電話”變成事實(shí)上的“電話”,“開源軟件”正在成為事實(shí)上的“軟件”。

這是開源的偉大勝利。不過與此同時(shí),開源也面臨著新的挑戰(zhàn),比如,如何有效地管理需求和工作流,如何鼓勵代碼貢獻(xiàn),以及如何構(gòu)建健壯的生態(tài)系統(tǒng)。

或許我們還未感受到肩上的重?fù)?dān),但是冬天真的來了。在后開源時(shí)代,我們必須去面對這些問題。

本文翻譯已獲授權(quán),原文鏈接見:

https://medium.com/@nayafia/we-re-in-a-brave-new-post-open-source-world-56ef46d152a3#.hudqzkz27

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Linux、Git 之父 Linus Torvalds 的別樣技術(shù)人生
用戶破億編程界當(dāng)之無愧的神滋養(yǎng)了全世界的碼農(nóng)
遇到 Bug 時(shí)的 30 個(gè)反應(yīng),你是哪一種?
Git與GitHub,Gitlab的區(qū)別
重新敲一遍代碼,勝過拷貝粘貼
Git 10 周年之際,創(chuàng)始人 Linus Torvalds 訪談
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服