對開源的理解和價值觀?最近幾年,開源在全球蓬勃發展:一方面,越來越多人投身于開源生态中,除了開發者,不懂代碼的人也能為開源社區做貢獻;另一方面,開源貢獻的形式更多元,不再拘泥于寫代碼,文檔貢獻、開源布道也是建設開源生态的重要動作,接下來我們就來聊聊關于對開源的理解和價值觀?以下内容大家不妨參考一二希望能幫到您!
最近幾年,開源在全球蓬勃發展:一方面,越來越多人投身于開源生态中,除了開發者,不懂代碼的人也能為開源社區做貢獻;另一方面,開源貢獻的形式更多元,不再拘泥于寫代碼,文檔貢獻、開源布道也是建設開源生态的重要動作。
開源生态日漸龐大的同時,也給開發者和企業帶來了新的思考:「KPI 開源」是不是錯的?做開源,企業和個人誰主導更具有優勢?開源協議能不能保護好開發者或者開源項目的權益?開源「本土化」應該怎麼理解、怎麼做?……
本期《WeOpen Talk》,騰源會與 InfoQ 共同邀請中國信通院雲大所雲計算部副主任,騰源會導師郭雪、清華大學軟件學院助理研究員,Apache IoTDB PMC Chair,騰源會特聘專家黃向東以及 SphereEX 公司創始人兼 CEO,Apache ShardingSphere PMC Chair,騰源會導師張亮三位老師,共同探讨這些問題。
「KPI 開源」真的一無是處?
企業越來越重視開源了,最明顯的一個表現是,将開源項目相關的指标列入到 KPI 的考核中。同時,「KPI 開源」一度成為程序員「口誅筆伐」的對象,其主要原因是:其不符合開源精神,而且對企業的資源造成了嚴重浪費。那麼,「KPI 開源」真的一無是處嗎?
首先,KPI 開源僅是一種考核的形式,而其中的考核指标是什麼,更為重要。如果隻是将 Star、Fork 等數量列為考核指标,極有可能隻得到這些數據的增長。「如果能定義出更加理智的考核标準,比如将英文文檔的覆蓋率由原來的 60% 提升到 80%,我相信這是一個很好的 KPI」清華大學軟件學院助理研究員,Apache IoTDB PMC Chair 黃向東表示。
「開源最大的難度不在于上述的那些指标和數據,而在于項目有多少人使用;公司的決策者也應該認識到,開源項目不是一天就能建成的,而是需要一段靜默期去成長。正确的認識開源項目的意義和成長路徑,才能避免盲目制定 KPI 指标。」SphereEX 公司創始人兼 CEO,Apache ShardingSphere PMC Chair,騰源會導師張亮總結道。
其次,企業對 KPI 開源的重視,對行業而言,也釋放出積極信号——企業正在重視開源。中國信通院雲大所雲計算部副主任,騰源會導師郭雪表示,制定 KPI 之後,可能不會使開源項目成為高質量或者有技術創新的項目,但會提升行業對開源的認知度。
如今,「KPI 開源」已經不是企業的專屬,開源社區以及個人也都可能是「KPI 開源」的實施者或助推者。黃向東老師回憶:「去年有段時間,國際上有一個『Give me a T-shirt』的活動,隻要給開源社區貢獻代碼,就能收到一件 T 恤。活動期間,我在社區(IoTDB)中注意到,一個外國人在某一個文件的末尾加了一行回車,然而這個回車沒有任何的意義。所以說,這樣錯誤的做法也會幹擾開源社區的正常運轉」。
總的來說,「KPI 開源」在為團隊制定目标、集中資源進行開源上,是有正向作用的,但如果将其做成隻看 Star、Fork 數的「表面開源」,盲目制定 KPI,那麼即使投入人力與時間,也無法打造出一個優質的開源項目。
開源該由個人驅動還是企業驅動?企業做開源可能會出現「KPI 開源」,而開源項目中,很少有專職做開源項目的開發者,更多人是為企業的開源項目做貢獻,或者在工作之餘出于興趣做開源。那麼,企業驅動和個人驅動的開源優劣勢體現在哪,誰的優勢更大?
作為開源生态中兩個重要的參與主體,個人和企業在開源中都有明顯的優勢。「企業側參與開源,能夠給開源提供長期穩定的支持,而個人側的開源項目,則充分調動了個人的參與,更容易産生技術創新」郭雪解釋道。
但是,企業對開源項目的支持,也是一把「雙刃劍」。開源項目需要避免對企業的過度依賴。黃向東舉例說:「Apache 有一個項目叫作 PLC4X,該項目需要從工業設備上采集數據,在工業設備非常昂貴而且沒有企業支持的情況下,就需要個人解決這些事情,但如果是企業側發起的項目,這些問題就很容易解決了;但是如果開源項目不夠開放,隻有一個企業來主導,那麼在企業面臨戰略轉型時,項目就會面臨很大的風險」。
總的來說,個人和企業在開源方面的優勢是互有補充的:在開放的開源項目中,企業能給項目提供更多的支持,使個人能探索更多的技術突破,形成良性循環。「當企業由于商業原因,不再對開源項目投入時,開源項目會面臨危機;但是當企業的開源項目在商業計劃中時,那麼将給開源項目提供底線保障」張亮總結道。
因此,對于開源項目的創始人來說,參與别人的開源項目,同時也允許其他人來共創自己的開源項目,這一點非常重要。從某種意義上,這樣能夠同時接納個人和企業的智慧和長處,讓開源項目和社區更有生命力。
開源協議對開發者是保護還是限制?開源讓大家免于「重複造輪子」,但由于開源大多數情況下是偏個人的行為,而且每個人對于開源的認知也不完全統一,因此,開源的發展也伴随着争議和糾紛。開源工作者的利益誰來保障?開源與商業化如何平衡?……目前已經有一些開源協議供開發者選擇,其實際使用情況如何?是否真的有用呢?
「由于開源協議是偏法律的語言,所以它不是很好理解,而且不同協議的條款乍一看非常相似。」談到開源協議,黃向東是這樣評價的,同時他也表示,目前大家普遍不關注開源項目的許可證,開發者需要一個學習開源協議的入口,以提升他們對開源協議的認知。
但是對于開發者而言,大家更加關注技術,學習開源協議是一件「可以但沒必要」的事情。再加上,在開源項目初期大家很難預測項目未來的發展,認真研究開源協議之後選擇與盲選一個短期看差别并不大。
那麼在初期,開源項目應該如何選擇協議?張亮為不了解開源協議的開發者們提供了一個思路。他認為,開源協議的選擇可能與人的性格有關,有的人很極客,讨厭商業,那麼選擇 GPL 就好了;有的人希望給項目提供更多的可能,那麼可以選擇寬松的協議,例如 BSD;有的人比較中立,希望對商業和開源都有一定程度的保護,那麼像 Apache 這樣的協議更合适。
事實上,為了保險起見,在選擇開源協議時,大家更傾向于能同時保護開源和商業權益的中立協議。郭雪說,信通院曾經調研過全球的開源項目,開發者們更願意選擇友好型的協議,在國内,Apache License 是最受歡迎的許可證之一,一方面是如前文所說,其具有中立性質,而另一方面,與其他的許可證相比,Apache License 在在專利授予等方面的規範性上更強,能幫助開源項目規避更多的坑。
除了開源協議之外,政策規範也是讓開源生态更好的一種方式。去年,人民銀行辦公廳、中央網信辦秘書局等五部門聯合發布了《關于規範金融業開源技術應用與發展的意見》,促進開源技術的健康可持續發展,這不僅是傳統行業正在進入開源生态的信号,也對規範開源、合規使用提出了更高的要求。
除了開源協議與政策之外,還有一些機制也需要補足,例如開源領域的合規性維權。黃向東講述了一個真實的案例,由于每年的畢業生都要寫畢業論文,而畢業論文的格式的要求又很嚴格,因此清華内部有一個團體維護了一個 Latex(一種排版軟件)模闆,大家隻需要在這個軟件中寫文檔就不會出錯了。然而前不久,另外一個團隊說他們自己開發了一個開題報告模闆,而實際上這個模闆僅僅是對 Latex 進行了删減改動,因此,Latex 的維護成員在朋友圈發起了維權。雖然 Latex 在清華的學生中使用很廣泛,但是其作者隻能通過朋友圈和 GitHub 庫中發聲。
「我們需要一些維權或者咨詢的渠道,幫助開源工作者在遇到不合規事情時,有保護合法權益的途徑,這對開源生态也會是一個好的增益」黃向東強調。
「本土化」違背開源精神了嗎?在開源生态中,出于開放分享的共識,「本土化」成為了一個頗具争議的話題。一部分開源人認為,「本土化」和開源精神相悖;也有人認為,無論是項目本土化還是社區的本土化,都是有一定意義的。
針對前一種說法,其實開源的「本土化」和「全球化」不是非此即彼的矛盾狀态,因此和「本土化」與開源精神也并不相悖。黃向東提到,開源項目堅持本土化的同時,也要堅持國際化即技術輸出,形成國際的實施标準比成為國内的實施标準意義更大。
針對後一種說法,項目本土化及社區本土化都是有意義的,尤其後者對開源的發展意義更大。「社區的本土化能夠幫助本地人減少語言層面的障礙,拿到更易懂的資料」黃向東表示。張亮進一步補充了自己的看法,他表示:「一個全球化的項目在本土化之後,大家能夠拿到它的源代碼、使用所有的文檔來 Quick start,這是一件非常好的事情。開源項目的本土化不是按地域隔離,而是為開源項目在每個地域的成長創造更便利的條件,像 Apache Local Community(ALC)就能夠幫助本地人接觸開源項目」。
所以說,跨語言的溝通和交流,是開源工作者面對的共同問題。目前支持跨國溝通的方式已經有很多了,作為 IoTDB PMC Chair,黃向東觀察到,目前在 IoTDB 中,國際上的交流經常使用 Slack、MailList 等方式,對于國内用戶而言,大家會更習慣用微信群和 QQ 群進行交流,而外國用戶也能通過微信自帶的翻譯功能,用他們的母語與國内用戶交流,讓開源社區滾動得更大。
當然僅僅依靠工具交流是不夠的,社區中也需要能夠翻譯的文檔貢獻者,把中文的材料翻譯成其他語言,或者将其他語言的材料翻譯成中文。黃向東強調:「本土化這件事應該是雙向的,而不應該是單向的,文檔語言的快速疊代,能夠讓更多人參與到開源社區中」。這樣的開源生态将容納非代碼貢獻者,讓更多人可以了解開源,成為開源貢獻者。
「開源的本土化,最終還是會走向全球化的發展趨勢」郭雪總結說。
寫在最後開源領域雖存在争議,但開源精神所帶來的價值難以估量。如今,開源協議與法規正在完善,除了代碼貢獻者之外,文檔貢獻者、布道師等越來越多角色也可以通過開源項目、組織和社區,加入到開源生态中。未來開源生态中的不同角色會碰撞出怎樣的火花,帶來哪些技術創新,我們正翹首以待。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!