技術創業者對開源文化和商業的再思考
原創嘉賓 | 張建鋒
整理 | 陳豪
策劃 | 徐杰承
目前,開源技術在國內企業已經得到了廣泛的應用,且國家級綱要文件中也表示鼓勵開源發展,但國內技術社區對于開源的理解卻不盡相同。很多企業只是把開源產品拿來使用,并沒有認真思考和對待開源涉及到的商業、權屬、貢獻等問題。
在日前由51CTO主辦的??WOT全球技術創新大會??中,永源中間件創始人張建鋒老師為廣大聽眾帶來了《技術創業者對開源文化和商業的在思考》專題演講,重點分享了開源協作的一手經驗;國內外企業開展的開源相關工作,以及對開源技術和商業的實踐經驗與思考。本文對張建鋒老師的演講內容進行了整理,望能對開源愛好者們有所幫助。
國內開源現狀
目前國內開源和十年前或二十年前相比有著很大的變化。我們有開源基金會、開源組織,每個商業公司里也都會有一些專門做開源的團隊,公司與投資機構對開源領域也都有很多的關注。國內開發者在例如Github等開源平臺上也貢獻了很多的項目,有一些項目的Star數非常高,使用的人也很多,國際影響力也很大。
隨著影響力逐步增強,開源在近年來也得到了前所未有的關注和重視。在“十四五”的規劃綱要中,首次提到了“支持數字技術開源社區等創新聯合體發展,完善開源知識產權和法律體系,鼓勵企業開放軟件源代碼、硬件設計和應用服務”。能夠在國家頂層文件中看到對開源的肯定,這也給予了開源愛好者們很大的鼓舞。
開源社區的分工協作
?開源社區的分工協作,首先非常重要的是代碼的所有權是屬于團隊的每一個人,國內開發者較難有這樣的一個認知。核心是一個團隊中的每個成員都要承擔責任,每個人都要有提出意見和修改的權利。
在開源的領域中有一個很關鍵的認知,開源團隊一定是一個開放平等的組織,當然也要有leader,leader在團隊中起著決定性的作用。只要建立一個開源團隊或開源組織,每一個人在團隊中的平等性是非常重要的,這是一種團隊文化,往大了說甚至和國家的文化有一定關系。
開源不是特指源碼
?開源并不是特指源代碼,雖然現在一般稱開源為Open Source,譯為開放源代碼,但其實源代碼只是其中之一。source一詞譯為“來源、出處、起源、根源”的意思。開源是指將一個事物的本源對公眾開放,這件事的來龍去脈都是公開透明的。軟件中源代碼只是開源中的一部分,真正的開源還要包括軟件開發過程中的文檔、討論記錄、代碼提交注解、問題處理過程和結果等。例如,Github中除了記錄軟件代碼的本身和提交記錄以外,還有處理PR的過程、Issue的創建、跟蹤和關閉記錄等信息,這些內容共同構成了開源軟件的開發過程。
對于一個軟件產品或軟件應用,如果只能夠拿到代碼,其實并沒有很大的用處。如果真的想要了解產品的全貌,就需要了解它的整個過程。從第一行代碼開始就要開源,用戶需要知道項目是怎么構成的,還有整個協作的過程,這些全部都是要公開的。此外,技術服務也需要開源,對于開源軟件將能夠提供什么服務、達到什么程度、能給客戶帶來什么收益,這些都應當公開透明。通過定價或其它量化方式,讓客戶有一個比較。
開源 != 免費
?開源不等于免費,免費和開源是兩碼事。現在所講的Open Source并沒有提到任何free的東西。如果項目的開發者不掙錢,那該拿什么更好的維護項目呢?如果真的想打造一個正向業務循環,項目的開發者最擔心的是工作成果怎樣才能夠不被別人無償地拿走,根本是在這里。
例如當你寫出一本好書的時候,并不會擔心這本書已經發表或出版了,后續就賺不到錢了。書的背后會有版權,如果這本書真的很知名,別人也不會再去費盡心思地盜版,你的名譽各方面已經形成了有價值的東西。開源并不是別人拿到項目的源代碼后,項目就會失去商業價值,使用者拿到源代碼未必能夠真正很有效地使用。
開放的文化和商業收費之間是沒有沖突的,對國內而言,做開源表面看可能會失去一些商業利益相關的東西。但是從另一個角度講,做開源能夠收獲更多的市場關注,從而獲得一些其他方面的支持和利益,這是一個取舍的過程。任何人都能夠免費得到開源的產品,并對其進行評估,但使用的權限應當是保留在開發者或團隊手中的,開發者或團隊可以對使用者進行要求和約束,使用者也可以通過付費的方式獲得來自開源軟件開發者提供的增值服務。
開源軟件質量
開源的質量是大家也很關心的問題。首先,要與商業產品進行對比。對于頭部的開源軟件,關注和使用的人很多,它的完整提交記錄,包括參與的人數是一種比較理想的情況,滿足這些條件的軟件質量一般都會很好。因為軟件是需要打磨的,就算是在大廠,很有經驗的開發者,做出來的東西肯定都有bug。好的項目一定要經過打磨,經過很多人去使用,不斷地讓它變得更好。因此,開源軟件的優勢就是在于它會受到更多人的關注,有更多人去使用,提出更多的意見。因此,對于使用者較多的頭部開源軟件,一般來說軟件的質量都是很不錯的。而且對基礎軟件來說更是這樣,在基礎軟件領域,比如操作系統、容器,包括中間件領域,開源軟件市場份額最大。
促成正向循環發展
?開源軟件之所以能夠做得越來越好,正是由于它的開放性。因為開放性,使用的人多,反饋也更加全面。社區力量大、版本更新快,這樣使用的體驗也會變得越來越好,隨之形成一個正向循環。一種商品,最好的形態就是廣泛使用、市場公平競爭,最終能達到一個相對的平衡點,這也是開源的核心價值之一。
目前有很多機構都在關注開源軟件的價值,甚至有些機構根據軟件的代碼行數、獲取星星的個數等指標來判斷軟件價值,其實這些方法都不太精確。關鍵在于產品自身的價值,以及是否能提供高質量的產品服務,開源產品只是一個商業的引領,真正能夠為客戶提供價值的是附加在開源軟件上的服務。提供了什么服務、到什么程度,都可以在開放透明化的前提下,通過定價或其他量化方式制定規則。使用者則需要通過付費來獲得更好的支持,這樣開源的商業就能夠正常運作下去。
開源理念與商業模式
?開源存在一定的理想成分,真正能做到純開源精神的,只有實現了財富自由的一些個體。即便是商業成功的開源公司,也無法做到真正意義的完全開源。開源是希望開放很多東西,但是也希望通過這種行為,獲取一定的經濟價值。這其中是有一些方法的,第一種是通過更多功能的商業版軟件獲取利益,這是我們看到的最多的一種方式。很多軟件有開源版、社區版,也有專門收費的商業版。這種方式的開源,我個人認為不是一種特別好的選擇,因為相當于將產品分為兩種,對客戶來說開源意義打了折扣。采用這種方式的公司非常多,這是無可厚非的。但如果選擇開源模式,勢必不是能夠賺取最大利益的一種方法,我們還是應當更加開放一些。
第二種模式,通過商業許可來進行約束、收費,這是沒有問題的。如果他人違反了開源條約,又沒有進行付費,可以通過法律的方式去尋求一些幫助或采取一些其他行動。項目的開發者付出了勞動,別人是不可以不勞而獲的。
第三種模式,開源但隱藏掉一些關鍵的文檔或開發過程,甚至將文檔寫得比較生澀,以此來提高軟件的使用門檻。一般而言軟件或產品的開發者,希望客戶能夠熟悉產品,這樣用戶對產品的使用才能夠更加充分、更加順利。當然也有一些開發者希望用戶對產品的細節特性不要太過了解,這樣客戶就會尋求產品方更好的技術服務,這就是第三種模式的思想,這類模式也是可行的。而且一般而言,開源公司相對來說資源是比較少的,所以在某些產品細節方面做的沒那么好,也是可以被接受的。
開源許可證
開源許可證的種類是非常多的。開放的形式應該允許開源作者使用任何形式的開源許可證,甚至后續根據意愿對其進行修改。只要是真實的開源,在不觸犯法律法規、不泄漏他人隱私的情況下使用他人的軟件,這都是可以允許的。這方面有很多的例子,比如GPL利用“傳染性”確保衍生代碼繼續開放;Apache 鼓勵更多開發者貢獻和商業友好;一些學院派有著更加寬松和自由的方式。對一個公司或企業而言,如果需要使用開源軟件做一些產品,要非常注意許可證的使用規則,不能對其視而不見。
開源的參與者
?開源的參與者一般分為三類:使用者、參與者、引領者。這三類參與者對開源文化而言都是非常好的,沒有所謂的高下之分。
使用就是利用開源軟件,國內大多數群體都是開源的使用者,包括很多大型的商業公司。而使用者需要注意的,首先是不要違反開源許可證和相應商業公司的權利。其次,在使用開源軟件的過程中,遇到了問題要以正確的方式反饋給軟件的社區,幫助軟件進步,維護整個開源文化。
參與則是充分融入開源社區,積極貢獻代碼和參與討論,回饋社區。這里所指的不一定是貢獻代碼,幫助項目翻譯或完善文檔、布道、校對代碼,甚至修改一些代碼中的拼寫,都可以算是參與開源。在這個過程中保持活躍、熱情、持續貢獻,便能快速融入社區組織,與社區中的其他人熟悉后,大家也會更愿意幫助你了解項目,熟悉開發過程。這樣的例子在各大社區中非常多,雖然對于有些不太擅長英語的同學而言,一開始可能會遇到一些困難,但這并不是主要阻礙,更重要的是你是否愿意不斷地參與其中。
而引領者是開源上游社區發展的驅動力量。這一點國外的上游社區會更多,但近年來國內也出現了越來越多的上游力量。大家了解Git的分支方式就會知道,上游是可以更改的,參與的越多,就越有可能成為上游。國內在這方面是非常有優勢的,因為我們的開發者眾多。上游是開源的根,如果想要做開源商業公司,更需要抓住這一點。
開源面臨的問題
開源同樣也面臨著很多問題,比如被濫用、存在安全漏洞等。因為它初始的使用成本很低,尤其是在國內,很多企業在做項目時,會直接將開源軟件拿來使用。現有很多開源軟件的確會存在安全漏洞的問題。安全漏洞并不是開源軟件特有的,任何軟件都會存在這個問題,商業軟件有時會更多,因為它的使用者體量沒有開源大,對于漏洞的發現能力也就不會那么強、那么迅速。因此,開源軟件在更新很快的情況下,反而能夠更好地避免漏洞。同時開源項目治理也是非常重要的,需要形成一套完備的開源社區管理制度,例如: 如何提交代碼、如何審核與檢查質量、討論內容范圍等。
開源商業訂閱模式
開源的商業模式就是訂閱,就像現在大家去購買在線的視頻是一樣的,訂閱不是為一次購買行為付費,而是對一個時間段的使用權付費。紅帽公司在這一方面做的就比較成功,它的方式就是所有的產品都開源,但使用者可以選擇為訂閱服務付費,以此來獲得后續的支持,包括各種各樣的安全補丁,在整個訂閱期獲得商業公司的支持,使用者的體驗和對安全的需求便能夠得到更好的滿足。
開源商業機會及中間件發展總結
?開源商業機會:1.投資熱點;2.基礎軟件IT服務;3. 市場宣傳效應;4.通過云服務獲得商業收入。
關于開源中間件的發展,首先中間件是重要的基礎軟件組成部分,能夠幫助更高效的開發優質軟件。中間件的發展方向就是PaaS,現在國內外都做得比較好。目前國內外的中間件商品并不像原來銷售那么旺盛,但畢竟有市場需求在,未來我們希望在這方面通過開源,通過產品+咨詢+培訓+開發的組合方式能夠有一些著力點。
最后,對開源而言更重要的是重視其真正的價值所在,明確開源的真正價值,重視上游,圍繞開源做一些商業的工作,把握其市場效應。開源更看重的其實是它背后的市場行為。
嘉賓介紹:
張建鋒,永源中間件創始人。原紅帽公司 JBoss 應用服務器核心開發組成員。畢業于北京郵電大學和清華大學,供職于金山軟件,IONA 科技公司,紅帽軟件,初創永源中間件,金蝶天燕CTO。開源技術愛好者,熟悉JavaEE/JakartaEE 的各項規范,在分布式計算,企業應用設計,移動行業應用,DevOps 等技術領域有豐富的實戰經驗和見解,善于思考軟件背后蘊涵的管理思想,致力于將管理學和軟件開發進行結合。