Apache為什么會(huì)開(kāi)源?騰云網(wǎng)絡(luò)帶你看看開(kāi)源成功后的它
2019-04-15
方法論在人類(lèi)的發(fā)展歷史上是至關(guān)重要的,很多組織行為、社會(huì)學(xué)等科學(xué)家都認(rèn)為三次工業(yè)革命的本質(zhì)人類(lèi)的組織上的變革,而并不僅僅是技術(shù)的進(jìn)化。而以 Apache 為代表的現(xiàn)代軟件工業(yè),是最先進(jìn)的軟件生產(chǎn)方式,其方法論“Apache 之道”才是精華所在。
毫無(wú)疑問(wèn),開(kāi)源軟件是越來(lái)越重要了,那么作為開(kāi)源軟件中重要的中流砥柱的 Apache 軟件基金會(huì)(ASF)也迎來(lái)了 20 周年,那么我們是不是應(yīng)該反思一下關(guān)于 Apache 的能夠如此長(zhǎng)盛不衰?以 Apache 之道為原則的社區(qū)驅(qū)動(dòng)開(kāi)放模式盡管遇到了不少的挑戰(zhàn),但是仍然在開(kāi)源的生態(tài)系統(tǒng)中發(fā)揮著舉足輕重的作用。
Apache 之道的歷史要更為遠(yuǎn)久一點(diǎn),該方法論的提出在 24 年前,即該基金會(huì)建立之前的原 Apache 小組提出的。該方法論經(jīng)過(guò)時(shí)間的證明,是 Apache 成功的一個(gè)重要的基礎(chǔ),而且我們認(rèn)為它對(duì)于開(kāi)源之所以能走到今天是至為重要的。
這么多年下來(lái),Apache 之道盡管修改了不少內(nèi)容,但它仍然堅(jiān)持初心:高度的透明性,讓所有人可訪問(wèn)的中立的環(huán)境中進(jìn)行社區(qū)驅(qū)動(dòng)的協(xié)作。
Apache 之道從法律和社會(huì)框架兩個(gè)維度對(duì)開(kāi)源進(jìn)行了定義,它有助于人們理解是什么讓開(kāi)源變得如此的強(qiáng)大,以及參與開(kāi)源的過(guò)程中的行為方式。本文我們將在基金會(huì)的使命的背景下來(lái)詮釋 Apache 之道:
“Apache 軟件基金會(huì)的歷史使命是為公眾利益提供軟件。我們由許多志同道合的獨(dú)立的個(gè)人所組成,這些個(gè)人通過(guò)參于 ASF 的社區(qū)活動(dòng),來(lái)為軟件項(xiàng)目提供服務(wù)和支持。”
接下來(lái)就讓我們一句一句的來(lái)剖析這段宣言:
我們由許多志同道合的獨(dú)立的個(gè)人所組成
本章節(jié)的關(guān)鍵點(diǎn):
Apache 之道提供了一種治理模型,旨在為協(xié)作創(chuàng)建一個(gè)社會(huì)框架。
Apache 軟件基金會(huì)(ASF)發(fā)展社區(qū),而社區(qū)去開(kāi)發(fā)項(xiàng)目。
ASF 項(xiàng)目社區(qū)開(kāi)發(fā)和重用軟件組件,而軟件組件又可以在產(chǎn)品中重復(fù)使用。
ASF 軟件的用戶(hù)經(jīng)常使用我們的軟件組件構(gòu)建產(chǎn)品和服務(wù)。
我們的模型以及其他類(lèi)似的模型已經(jīng)產(chǎn)生了一些規(guī)模最大、壽命最長(zhǎng)的開(kāi)源項(xiàng)目,這些項(xiàng)目徹底改變了行業(yè)。
這句話雖然很短,但是它蘊(yùn)含的內(nèi)容卻非常的豐富。理解了這些文字,就基本理解了 Apache 之道所持續(xù)發(fā)展的軟件和其它開(kāi)源許可證下的軟件之間的差別了。而且還特別的強(qiáng)調(diào)了基金會(huì)本身并不參與軟件的開(kāi)發(fā)與生產(chǎn),這個(gè)事實(shí)就擺在面前,Apache 軟件基金會(huì),軟件代碼價(jià)值超過(guò) 80 億美元,其本身并不開(kāi)發(fā)軟件。相比于專(zhuān)注于軟件本身,基金會(huì)更加傾向于構(gòu)建和支持協(xié)作的社區(qū);軟件則是這一目標(biāo)的附帶產(chǎn)物。
這些志同道合的項(xiàng)目社區(qū)之所以能夠聚在一起,是因?yàn)樗麄兎窒碛龅降墓餐膯?wèn)題,且可以在軟件的開(kāi)發(fā)中得到解決。常言道:“分享問(wèn)題,問(wèn)題其實(shí)已經(jīng)解決了一半?!?通過(guò)將具有獨(dú)特想法和技能的個(gè)人聚在一起,我們打破了協(xié)作的邊界。
Apache 之道經(jīng)過(guò)精心設(shè)計(jì),旨在創(chuàng)建一個(gè)協(xié)作的社交結(jié)構(gòu),它補(bǔ)充了上面討論的法律框架。在法律框架確保使用軟件的平等權(quán)利的情況下,Apache 之道確保了為軟件做出貢獻(xiàn)的同樣的效果,這對(duì)于開(kāi)源軟件項(xiàng)目的長(zhǎng)期可持續(xù)性至關(guān)重要。許多非 Apache 項(xiàng)目沒(méi)有采用類(lèi)似這樣的協(xié)作社交結(jié)構(gòu),但強(qiáng)大的社交結(jié)構(gòu)無(wú)疑是 ASF 項(xiàng)目長(zhǎng)期成功的關(guān)鍵組成部分。
Apache 之道是完全包容、開(kāi)放、高度透明、以及基于共識(shí)的。積極的倡導(dǎo)供應(yīng)商中立原則,以防止來(lái)自單個(gè)公司的不當(dāng)影響(以及控制)。它可確保任何有價(jià)值貢獻(xiàn)的個(gè)人均有權(quán)獲得授權(quán),盡管社區(qū)成員資格隨著時(shí)間的推移不可避免地會(huì)發(fā)生變化,但是它可確保項(xiàng)目可持續(xù)性發(fā)展。
Apache 項(xiàng)目通常會(huì)以不同的方式生成可與其他軟件(任何許可證)組合的軟件組件,以解決不同的問(wèn)題。這為參與者提供了大量機(jī)會(huì),可以在給定的軟件項(xiàng)目中進(jìn)行協(xié)作,而不依賴(lài)于他們?cè)诨饡?huì)之外的關(guān)系。這與根據(jù)開(kāi)源許可證將產(chǎn)品作為一個(gè)整體來(lái)授予許可是非常不同的做法,Apache 之道的模式提供了更多的重用機(jī)會(huì),反過(guò)來(lái)又為社區(qū)的人才儲(chǔ)備做出了一定的準(zhǔn)備。
此外,Apache 之道以實(shí)際成績(jī)?yōu)榛A(chǔ)的制度旨在確保:在社區(qū)人來(lái)人往的情況下,保持項(xiàng)目的持續(xù)前進(jìn),總是有人能夠代替現(xiàn)有的人。也正因?yàn)榇?,一些?dú)一無(wú)二的 Apache 項(xiàng)目能夠存在 20 多年,在萬(wàn)維網(wǎng)(WWW)的商業(yè)化進(jìn)程中,功不可沒(méi),當(dāng)然,也有數(shù)十個(gè)項(xiàng)目也站在時(shí)代的前沿,在諸如大數(shù)據(jù)、物聯(lián)網(wǎng)等細(xì)分的行業(yè)內(nèi)引領(lǐng)創(chuàng)新。
Apache 之道的核心原則是”社區(qū)勝于代碼”,這句精煉的話深刻體現(xiàn)我們的哲學(xué):健康的社區(qū)優(yōu)先于卓越的代碼。一個(gè)健壯的社區(qū)總能糾正代碼的問(wèn)題,而一個(gè)不健康的社區(qū)可能很難以可持續(xù)的方式來(lái)進(jìn)行代碼的維護(hù)。健壯的社區(qū)確?;饡?huì)可以在未來(lái)的 20 年甚至更遠(yuǎn)的未來(lái)保持茁壯成長(zhǎng)的態(tài)勢(shì)。
Apache 的項(xiàng)目在擴(kuò)展到其它項(xiàng)目上并沒(méi)有遇到任何問(wèn)題,這區(qū)別于那些聚焦于法律框架下的開(kāi)源項(xiàng)目,如果環(huán)顧四周,看看和 Apache 項(xiàng)目一起成長(zhǎng)起來(lái)的項(xiàng)目,就能明顯的看到 Apache 在治理模式上的重點(diǎn)傾向。這并非是偶然的事情,是我們精心設(shè)計(jì)的結(jié)果。
提供軟件的公共產(chǎn)品
本節(jié)的關(guān)鍵點(diǎn):
我們生產(chǎn)的軟件是非競(jìng)爭(zhēng)性的,也是非排他性的。
在任何上下文中使用 Apache 軟件都不會(huì)降低其他人的可用性。
用戶(hù)和貢獻(xiàn)者對(duì)于基金會(huì)、項(xiàng)目以及社區(qū)均毋須承諾任何的責(zé)任。
使用符合開(kāi)源定義的許可證是必要的,但這并不足以完成我們的使命。
investopedia 站點(diǎn)定義的公共產(chǎn)品的意思是:”一個(gè)人可以消費(fèi)的產(chǎn)品,而不會(huì)降低其對(duì)另一個(gè)人的可用性,并且不會(huì)排除任何人。”從字面上來(lái)看,似乎我們使用該定義是蠻不錯(cuò)的選擇,但是,這其中有一些細(xì)微的差別,我們的使命不是生產(chǎn)“公共產(chǎn)品”,而是“為公眾利益提供軟件”。
若要理解為什么這點(diǎn)差異是如此重要的話,人們必須去思考是什么激勵(lì)著 Apache 軟件基金會(huì)去為公眾利益而生產(chǎn)軟件。
開(kāi)源軟件可以被無(wú)限的復(fù)制和重用,每一位用戶(hù)都可以按照自己特定的需要而去更改代碼,他們也可以根據(jù)需要和其它的軟件合起來(lái),他們可以使用自己設(shè)計(jì)的創(chuàng)新產(chǎn)品和服務(wù),且從中獲得切身利益。以上所談都是可行的,而且也不會(huì)影響到其他人對(duì)軟件的使用。因此,ASF 所生產(chǎn)的軟件可以通過(guò)許多種不同的方式提供給公眾利益。
為了讓我們能夠完成這部分任務(wù),至關(guān)重要的是,我們選擇使用法律來(lái)保護(hù)基金會(huì),即策劃了軟件的許可證。對(duì)于我們來(lái)說(shuō)就是Apache 許可協(xié)議版本 2,另外,我們也采用了 入站許可證規(guī)定,該規(guī)定定義了哪些許可證授權(quán)的軟件是可以用于 Apache 項(xiàng)目的,該規(guī)定可以簡(jiǎn)略的總結(jié)為:
協(xié)議必須滿足
開(kāi)放源代碼定義(OSD)。
在實(shí)踐中應(yīng)用的許可證不得強(qiáng)加超出 Apache 許可證 2.0 的限制。
這也就意味著人們完全可以放心,由 Apache 軟件基金會(huì)的孵化的軟件項(xiàng)目,既是公共產(chǎn)品,也是為公眾利益。人們可以基于任何目的去使用 Apache 的軟件,而且人們并不會(huì)對(duì)基金會(huì)、項(xiàng)目、以及社區(qū)有任何的責(zé)任。
這里有一個(gè)值得重點(diǎn)強(qiáng)調(diào)的事情是,有些軟件采用了 Apache 許可證,但是沒(méi)有遵循相應(yīng)的入站許可規(guī)定,這類(lèi)項(xiàng)目可能會(huì)帶來(lái) Apache 許可證所沒(méi)有涵蓋到的限制;因此,仔細(xì)檢查這些項(xiàng)目的許可政策非常重要。這也就是說(shuō),如果只是采用了 Apache 許可協(xié)議,而不是在基金會(huì)所孵化,注意這而二者之間有著顯著的差異。
Apache 項(xiàng)目在很多領(lǐng)域里都是成功的,這要?dú)w功于我們所遵守的定義非常清晰的許可證規(guī)定。這也讓下游的用戶(hù)可以非常清楚的理解那些事情可以做,那些事情是不能做的。Apache 許可的初衷是希望每個(gè)人參與開(kāi)源的機(jī)會(huì)是均等的,這個(gè)開(kāi)源是廣義的開(kāi)源,不僅限于 Apache 軟件項(xiàng)目,也包括其它的開(kāi)源項(xiàng)目。Apache 的許可證是被允許修改的,但是修改之后的 Apache 協(xié)議,就再也不是 Apache 許可證了,也不會(huì)得到 Apache 軟件基金會(huì)的許可或承認(rèn)。修改之后的許可證是不可以使用 Apache 的名義的,這也是被嚴(yán)格禁止的,因?yàn)檫@會(huì)讓用戶(hù)感到困惑,也會(huì)損害 Apache 的名譽(yù)/品牌。
雖然我們認(rèn)識(shí)到許多方法可以授權(quán)軟件,無(wú)論是開(kāi)放源代碼還是其他方式,但我們斷言,只有同時(shí)使用我們的許可證(未修改的)和入站許可規(guī)定的項(xiàng)目才能真正遵循并遵守 Apache 之道。
雖然 OSD 批準(zhǔn)的許可證和相關(guān)政策是成功開(kāi)源生產(chǎn)所必需的,但我們認(rèn)為還需要補(bǔ)充一些內(nèi)容。它們?yōu)殚_(kāi)源的生產(chǎn)提供了法律框架,但它們沒(méi)有提供社會(huì)框架,這就引入了我們所闡述的使命的后半句話:
我們由許多志同道合的獨(dú)立的個(gè)人所組成,這些個(gè)人通過(guò)參于 ASF 的社區(qū)活動(dòng),來(lái)為軟件項(xiàng)目提供服務(wù)和支持。
為什么 Apache 之道很重要
軟件是現(xiàn)代經(jīng)濟(jì)中不可或缺的一部分。軟件已經(jīng)觸及到現(xiàn)代社會(huì)的方方面面,生活的各個(gè)角落,而且也反過(guò)來(lái)改變著人們的日常生活,從生到死,無(wú)處不在。
在 Apache 軟件基金會(huì),我們深信每一位開(kāi)發(fā)者都明白自己打造軟件的驅(qū)動(dòng)力所在。我們尊重他們選擇何時(shí)以及如何構(gòu)建軟件的權(quán)利,包括他們使用非開(kāi)放許可的權(quán)利。
我們也不會(huì)去決定什么對(duì)開(kāi)發(fā)人員或軟件行業(yè)最為有利。
相對(duì)來(lái)說(shuō),我們更加軟件的供應(yīng),這使得我們的用戶(hù)、貢獻(xiàn)者以及公眾能夠決定什么是最適合他們的。
我們非常歡迎任何人使用我們的軟件,也歡迎大家去為項(xiàng)目做出貢獻(xiàn),即使不做貢獻(xiàn)也沒(méi)有關(guān)系,完全取決于人們自身。
當(dāng)然,我們對(duì)于商業(yè)的要求,是留在 Apache 的大門(mén)之外。
無(wú)數(shù)組織證明,他們?cè)诠?yīng)商中立環(huán)境中協(xié)作的團(tuán)隊(duì)成員經(jīng)常將開(kāi)放式創(chuàng)新流程(例如 Apache 之道)應(yīng)用于他們的工作。這有助于創(chuàng)造內(nèi)部效率,并為可能提供額外附加利益的新外部機(jī)會(huì)奠定基礎(chǔ)。
只有帶來(lái)讓人們參與貢獻(xiàn)的意愿才是讓 Apache 社區(qū)更為壯大,也是增強(qiáng) Apache 品牌的不二途徑,且可以贏得大眾的信任,更是幫助我們實(shí)現(xiàn)為公眾利益提供軟件的使命。
我們一起學(xué)習(xí),共同提高,只為交付出我們所能做出的最好的軟件。
Apache 的軟件是提供給所有人的。
選擇的自由是基金會(huì)和 Apache 項(xiàng)目如此強(qiáng)大的原因。
總結(jié)
軟件工業(yè)已經(jīng)徹底改變,而且改變將會(huì)一直持續(xù)。而且交付軟件的方式也已經(jīng)徹底改變。身處軟件產(chǎn)業(yè)的老前輩們有的已經(jīng)退休,而新人正在積極的跟進(jìn)。但是這個(gè)世界上有些東西是不會(huì)變的,那就是我們通過(guò)法律和社會(huì)框架共同約束下軟件開(kāi)發(fā)的協(xié)作模式,也是繼續(xù)保持生產(chǎn)軟件的最佳模式。
伴隨著用戶(hù)數(shù)量的增加,哪怕是他們沒(méi)有為代碼做過(guò)貢獻(xiàn),這對(duì)于項(xiàng)目仍然是有益處的,其實(shí)對(duì)于開(kāi)源項(xiàng)目來(lái)說(shuō),多多益善。這意味著一個(gè)很簡(jiǎn)單的道理,越多的用戶(hù)機(jī)會(huì)就越多,在 Apache,更多的用戶(hù)意味著他們?cè)谖磥?lái)有極大的可能成為貢獻(xiàn)者。
作為一家在美國(guó)注冊(cè)為 501?(3) 的公共慈善機(jī)構(gòu),Apache 軟件基金會(huì)幫助獨(dú)立個(gè)體和組織去理解開(kāi)源是如何在一個(gè)激烈競(jìng)爭(zhēng)的市場(chǎng)中發(fā)揮優(yōu)勢(shì)的。二十多年來(lái),我們的重點(diǎn)不是生產(chǎn)軟件,而是指導(dǎo)生產(chǎn)軟件的社區(qū)。Apache 之道對(duì)于開(kāi)源社區(qū)的持久發(fā)展有著顯著的優(yōu)勢(shì):我們所做的一切都是開(kāi)源的,所有的用戶(hù)都可以從中受益。Apache 是所有人的 Apache。