歡迎光臨
每天分享高質量文章

Apache 之道,開源可持續成功的秘籍 | 開源之道

方法論在人類的發展歷史上是至關重要的,很多組織行為、社會學等科學家都認為三次工業革命的本質人類的組織上的變革,而並不僅僅是技術的進化。而以 Apache 為代表的現代軟體工業,是最先進的軟體生產方式,其方法論“Apache 之道”才是精華所在。

— Sally

 

譯自:blogs.apache.org | 作者:Sally
轉自:http://www.ocselected.org/posts/foundation_introduce/the_apache_way_to_sustainable_os/ | 譯者:適兕

方法論在人類的發展歷史上是至關重要的,很多組織行為、社會學等科學家都認為三次工業革命的本質人類的組織上的變革,而並不僅僅是技術的進化。而以 Apache 為代表的現代軟體工業,是最先進的軟體生產方式,其方法論“Apache 之道”才是精華所在。

毫無疑問,開源軟體是越來越重要了,那麼作為開源軟體中重要的中流砥柱的 Apache 軟體基金會[1](ASF)也迎來了 20 周年,那麼我們是不是應該反思一下關於 Apache 的能夠如此長盛不衰?以 Apache 之道Apache Way為原則的社區驅動開放樣式儘管遇到了不少的挑戰,但是仍然在開源的生態系統中發揮著舉足輕重的作用。

Apache 之道的歷史要更為遠久一點,該方法論的提出在 24 年前,即該基金會建立之前的原 Apache 小組Apache Group提出的。該方法論經過時間的證明,是 Apache 成功的一個重要的基礎,而且我們認為它對於開源之所以能走到今天是至為重要的。

這麼多年下來,Apache 之道儘管修改了不少內容,但它仍然堅持初心:高度的透明性,讓所有人可訪問的中立的環境中進行社區驅動的協作。

Apache 之道從法律和社會框架兩個維度對開源進行了定義,它有助於人們理解是什麼讓開源變得如此的強大,以及參與開源的過程中的行為方式。本文我們將在基金會的使命[2]的背景下來詮釋 Apache 之道:

“Apache 軟體基金會的歷史使命是為公眾利益提供軟體。我們由許多志同道合的獨立的個人所組成,這些個人通過參於 ASF 的社區活動,來為軟體專案提供服務和支持。”

接下來就讓我們一句一句的來剖析這段宣言:

提供軟體的公共產品

本節的關鍵點:

◈ 我們生產的軟體是非競爭性的,也是非排他性的。
◈ 在任何背景關係中使用 Apache 軟體都不會降低其他人的可用性。
◈ 用戶和貢獻者對於基金會、專案以及社區均毋須承諾任何的責任。
◈ 使用符合開源定義的許可證是必要的,但這並不足以完成我們的使命。

investopedia[3] 站點定義的公共產品的意思是:”一個人可以消費的產品,而不會降低其對另一個人的可用性,並且不會排除任何人。”從字面上來看,似乎我們使用該定義是蠻不錯的選擇,但是,這其中有一些細微的差別,我們的使命不是生產“公共產品”,而是“為公眾利益提供軟體”。

若要理解為什麼這點差異是如此重要的話,人們必須去思考是什麼激勵著 Apache 軟體基金會去為公眾利益而生產軟體。

開源軟體可以被無限的複製和重用,每一位用戶都可以按照自己特定的需要而去更改代碼,他們也可以根據需要和其它的軟體合起來,他們可以使用自己設計的創新產品和服務,且從中獲得切身利益。以上所談都是可行的,而且也不會影響到其他人對軟體的使用。因此,ASF 所生產的軟體可以通過許多種不同的方式提供給公眾利益。

為了讓我們能夠完成這部分任務,至關重要的是,我們選擇使用法律來保護基金會,即策划了軟體的許可證。對於我們來說就是Apache 許可協議版本 2[4],另外,我們也採用了 入站許可證規定[5],該規定定義了哪些許可證授權的軟體是可以用於 Apache 專案的,該規定可以簡略的總結為:

◈ 協議必須滿足開放原始碼定義Open Source Definition[6](OSD)。
◈ 在實踐中應用的許可證不得強加超出 Apache 許可證 2.0 的限制。

這也就意味著人們完全可以放心,由 Apache 軟體基金會的孵化的軟體專案,既是公共產品,也是為公眾利益。人們可以基於任何目的去使用 Apache 的軟體,而且人們並不會對基金會、專案、以及社區有任何的責任。

這裡有一個值得重點強調的事情是,有些軟體採用了 Apache 許可證,但是沒有遵循相應的入站許可規定,這類專案可能會帶來 Apache 許可證所沒有涵蓋到的限制;因此,仔細檢查這些專案的許可政策非常重要。這也就是說,如果只是採用了 Apache 許可協議,而不是在基金會所孵化,註意這而二者之間有著顯著的差異。

Apache 專案在很多領域里都是成功的,這要歸功於我們所遵守的定義非常清晰的許可證規定。這也讓下游的用戶可以非常清楚的理解那些事情可以做,那些事情是不能做的。Apache 許可的初衷是希望每個人參與開源的機會是均等的,這個開源是廣義的開源,不僅限於 Apache 軟體專案,也包括其它的開源專案。Apache 的許可證是被允許修改的,但是修改之後的 Apache 協議,就再也不是 Apache 許可證了,也不會得到 Apache 軟體基金會的許可或承認。修改之後的許可證是不可以使用 Apache 的名義的,這也是被嚴格禁止的,因為這會讓用戶感到困惑,也會損害 Apache 的名譽/品牌。

雖然我們認識到許多方法可以授權軟體,無論是開放原始碼還是其他方式,但我們斷言,只有同時使用我們的許可證(未修改的)和入站許可規定的專案才能真正遵循並遵守 Apache 之道。

雖然 OSD 批准的許可證和相關政策是成功開源生產所必需的,但我們認為還需要補充一些內容。它們為開源的生產提供了法律框架,但它們沒有提供社會框架,這就引入了我們所闡述的使命的後半句話:

我們由許多志同道合的獨立的個人所組成,這些個人通過參於 ASF 的社區活動,來為軟體專案提供服務和支持。

我們由許多志同道合的獨立的個人所組成

本章節的關鍵點:

◈ Apache 之道提供了一種治理模型,旨在為協作創建一個社會框架。
◈ Apache 軟體基金會(ASF)發展社區,而社區去開發專案。
◈ ASF 專案社區開發和重用軟體組件,而軟體組件又可以在產品中重覆使用。
◈ ASF 軟體的用戶經常使用我們的軟體組件構建產品和服務。
◈ 我們的模型以及其他類似的模型已經產生了一些規模最大、壽命最長的開源專案,這些專案徹底改變了行業。

這句話雖然很短,但是它蘊含的內容卻非常的豐富。理解了這些文字,就基本理解了 Apache 之道所持續發展的軟體和其它開源許可證下的軟體之間的差別了。而且還特別的強調了基金會本身並不參與軟體的開發與生產,這個事實就擺在面前,Apache 軟體基金會,軟體代碼價值超過 80 億美元,其本身並不開發軟體。相比於專註於軟體本身,基金會更加傾向於構建和支持協作的社區;軟體則是這一標的的附帶產物。

這些志同道合的專案社區之所以能夠聚在一起,是因為他們分享遇到的共同的問題,且可以在軟體的開發中得到解決。常言道:“分享問題,問題其實已經解決了一半。” 通過將具有獨特想法和技能的個人聚在一起,我們打破了協作的邊界。

Apache 之道經過精心設計,旨在創建一個協作的社交結構,它補充了上面討論的法律框架。在法律框架確保使用軟體的平等權利的情況下,Apache 之道確保了為軟體做出貢獻的同樣的效果,這對於開源軟體專案的長期可持續性至關重要。許多非 Apache 專案沒有採用類似這樣的協作社交結構,但強大的社交結構無疑是 ASF 專案長期成功的關鍵組成部分。

Apache 之道是完全包容、開放、高度透明、以及基於共識的。積極的倡導供應商中立原則,以防止來自單個公司的不當影響(以及控制)。它可確保任何有價值貢獻的個人均有權獲得授權,儘管社區成員資格隨著時間的推移不可避免地會發生變化,但是它可確保專案可持續性發展。

Apache 專案通常會以不同的方式生成可與其他軟體(任何許可證)組合的軟體組件,以解決不同的問題。這為參與者提供了大量機會,可以在給定的軟體專案中進行協作,而不依賴於他們在基金會之外的關係。這與根據開源許可證將產品作為一個整體來授予許可是非常不同的做法,Apache 之道的樣式提供了更多的重用機會,反過來又為社區的人才儲備做出了一定的準備。

此外,Apache 之道以實際成績為基礎的制度旨在確保:在社區人來人往的情況下,保持專案的持續前進,總是有人能夠代替現有的人。也正因為此,一些獨一無二的 Apache 專案能夠存在 20 多年,在萬維網(WWW)的商業化行程中,功不可沒,當然,也有數十個專案也站在時代的前沿,在諸如大資料、物聯網等細分的行業內引領創新。

Apache 之道的核心原則是”社區勝於代碼”,這句精煉的話深刻體現我們的哲學:健康的社區優先於卓越的代碼。一個健壯的社區總能糾正代碼的問題,而一個不健康的社區可能很難以可持續的方式來進行代碼的維護。健壯的社區確保基金會可以在未來的 20 年甚至更遠的未來保持茁壯成長的態勢。

Apache 的專案在擴展到其它專案上並沒有遇到任何問題,這區別於那些聚焦於法律框架下的開源專案,如果環顧四周,看看和 Apache 專案一起成長起來的專案,就能明顯的看到 Apache 在治理樣式上的重點傾向。這並非是偶然的事情,是我們精心設計的結果。

為什麼 Apache 之道很重要

軟體是現代經濟中不可或缺的一部分。軟體已經觸及到現代社會的方方面面,生活的各個角落,而且也反過來改變著人們的日常生活,從生到死,無處不在。

在 Apache 軟體基金會,我們深信每一位開發者都明白自己打造軟體的驅動力所在。我們尊重他們選擇何時以及如何構建軟體的權利,包括他們使用非開放許可的權利。

我們也不會去決定什麼對開發人員或軟體行業最為有利。

相對來說,我們更加軟體的供應,這使得我們的用戶、貢獻者以及公眾能夠決定什麼是最適合他們的。

我們非常歡迎任何人使用我們的軟體,也歡迎大家去為專案做出貢獻,即使不做貢獻也沒有關係,完全取決於人們自身。

當然,我們對於商業的要求,是留在 Apache 的大門之外。

無陣列織證明,他們在供應商中立環境中協作的團隊成員經常將開放式創新流程(例如 Apache 之道)應用於他們的工作。這有助於創造內部效率,併為可能提供額外附加利益的新外部機會奠定基礎。

只有帶來讓人們參與貢獻的意願才是讓 Apache 社區更為壯大,也是增強 Apache 品牌的不二途徑,且可以贏得大眾的信任,更是幫助我們實現為公眾利益提供軟體的使命。

我們一起學習,共同提高,只為交付出我們所能做出的最好的軟體。

Apache 的軟體是提供給所有人的。

選擇的自由是基金會和 Apache 專案如此強大的原因。

總結

軟體工業已經徹底改變,而且改變將會一直持續。而且交付軟體的方式也已經徹底改變。身處軟體產業的老前輩們有的已經退休,而新人正在積極的跟進。但是這個世界上有些東西是不會變的,那就是我們通過法律和社會框架共同約束下軟體開發的協作樣式,也是繼續保持生產軟體的最佳樣式。

伴隨著用戶數量的增加,哪怕是他們沒有為代碼做過貢獻,這對於專案仍然是有益處的,其實對於開源專案來說,多多益善。這意味著一個很簡單的道理,越多的用戶機會就越多,在 Apache,更多的用戶意味著他們在未來有極大的可能成為貢獻者。

作為一家在美國註冊為 501©(3) 的公共慈善機構,Apache 軟體基金會幫助獨立個體和組織去理解開源是如何在一個激烈競爭的市場中發揮優勢的。二十多年來,我們的重點不是生產軟體,而是指導生產軟體的社區。Apache 之道對於開源社區的持久發展有著顯著的優勢:我們所做的一切都是開源的,所有的用戶都可以從中受益。Apache 是所有人的 Apache。

赞(0)

分享創造快樂