心臟流血教給我們的:成為開源的貢獻者而不僅是個用戶
如果你的公司依賴像OpenSSL這樣的開源軟體,是時候主動點了。
心臟流血漏洞讓開源社區如芒在背。
ComputerWorld的Richi Jennings 抨擊說「又一個非常可怕的開源失敗。」(他是要做標題黨么?)ZDNet的Steven J. Vaughan-Nichols不像是作秀反開源,卻仍舊將心臟流血漏洞渲染為「開源軟體的最遭時刻」。而最後,ZDNet的Chris Duckett則務實地倡議:「商業公司(應該)籌集資金來避免心臟流血再次發生。」
而實際上,企業資金並不是解決心臟流血事件的最終答案 。你才是!
想要避免開源失敗的公司應該不僅僅是開源軟體的用戶,還要是貢獻者。
貢獻者乘坐頭等艙
貢獻者能夠引導特定的項目。他們佔據主動,而不是被動接受。大多數企業缺乏資源參與他們所使用的所有開源項目,但每家公司都可以資助給那些真正關係到他們的項目。並且資助得越多,得到的好處越大。
開源就是一個不斷給予的禮物,尤其是給予那些對開源反哺的人們。
我在MongoDB的同事Adam Comerford讓這點更有說服力:如果你看看第一批得知Heartbleed漏洞的時間線,那些第一批得知的(如谷歌)有一個相當大的優勢。如Comford所說的,這些公司有一個顯著的優勢就是他們可以在bug還未大規模傳開的時候率先採取措施保護他們的系統。
鑒於早期了解像Heartbleed之類問題的優勢,Comerford問:「我如何確保我在這類問題的早期通知列表裡面?」
如果你依賴於專有軟體,你有一個答案:向賣方支付大量的金錢,並希望他適時地響應。但是,如果你正在使用開源軟體,有一個更多選擇: 「要麼有大量的員工給[開源項目]做貢獻 ,或者...有認識主要貢獻者的員工(我們可以找找,他們大多也會貢獻其他開源軟體項目,像其他的極客和呆瓜一樣。「
Comerford斷言說,好處不止這樣:
這有很多好處 - 除了讓問題及早通知,讓手頭上的專家來應付這些棘手的更新,以評估你的風險,甚至可能在公眾知道之前內部解決問題。在確定項目的方向上你還可以得到重視的回饋,可以影響到關鍵特性的優先順序。最終,你會得到社區的善意,使產品變得更好,並有可能成為其它的聰明貢獻者的工作目標。
換句話說,參與進來。成員有特權,主要的特權可能就是信息。
選擇在哪貢獻
同樣,沒有一家公司有足夠的資源來有效地促進所有它所使用的項目,這就是為什麼Comerford建議對關鍵項目上這麼做的原因:
如果你要人們列出在企業中所有開源關鍵技術,你可能會得到一張很長的名單。然後,告訴他們,他們將必須清點人工和預算來支持清單上的每一種技術的話(並驗證它) - 它可能會迅速縮水。
如果你是一個AMD那樣的晶元公司,給Linux內核貢獻基本驅動程序和其他代碼很可能是強制性的。給LibreOffice貢獻可能不是。或者,如果你判斷你的未來在Hadoop上進行深層數據分析,你應該貢獻Hadoop,即使你依舊免費使用OpenSSL社區的成果。比如Dish Networks公司,它的 CIO告訴上周在開放商業會上的人們,他們正在將重要的數據從關係型資料庫轉到Apache的Kafka,那他最好研究Kafka的代碼,即使他不貢獻給Apache HTTP伺服器項目。
每家公司都有其優先順序,以及這些優先順序應該以嚴肅的承諾而確立。
這是確保這些項目安全的一部分辦法。而另一部分,它是一種形成影響力指引的方式。但同時,紅帽公司CEOJim Whitehurst早在2008年聲明,它是顯著減少IT花費的辦法:
今天編寫的絕大多數軟體是企業編寫的,不得轉售。並且絕大多數是從來沒有真正使用過。IT軟體開發中的浪費是巨大的....最終,開源給全世界的客戶提供價值,我們不僅需要讓我們的客戶作為開源產品的用戶,而且真正加入開源和參與在開發社區。
Comerford堅持認為:「如果我在業務中使用開源軟體,我應該雇開發人員來積極給軟體做貢獻,如果他們自己不是核心開發者,那就僱傭核心開發者。 」這是充分利用開源軟體的關鍵:給它做貢獻,不只是使用它。
via: http://readwrite.com/2014/05/14/heartbleed-open-source-contribution-users
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive