貴公司知不知道正在使用哪些開源產品?
譯文【51CTO.com快譯】許可證可謂是開源項目的法律基礎,但是許多公司并非始終懂得如何管理許可證。Jeff Luszcz創辦了Palamida,旨在幫助企業組織確保遵守上游軟件許可證。一路走來,他及其團隊發現,如果不知道使用的開源許可證所導致,帶來的后果是未能意識到需要打上補丁的安全漏洞。
在擁抱開源大會(All Things Open)上,Jeff發表了兩場演講:一場是如何實現管理開源在業務和安全方面帶來的投資回報,另一場是如何保護基于Linux的產品避免知識產權侵犯和安全漏洞。我最近跟他談論了許可和安全的交匯。
乍一看,知識產權侵犯和安全漏洞似乎是兩個不搭界的話題。它們最后怎么碰到一起的?
Palamida在2004年剛創辦時,我們的客戶絕大多數很關注確保自己遵守所使用的開源軟件(OSS)組件隨帶的許可義務。他們發現,在通常情況下,使用的許可證少算了95%以上,這讓他們很震驚(現在仍是這樣)。這導致了知識產權(IP)和許可侵犯以及大量的返工,換掉違反政策的組件。
一路走來,我們發現安全漏洞同樣是根源一樣的問題。如果一家公司沒有為確保符合IP而跟蹤開源代碼,它同樣沒有注意版本更新、錯誤報告和補丁。這就導致安裝的軟件系統里面含有有時十年之前的代碼庫,存在已知的安全問題。
哪怕今天在Palamida掃描期間,仍會發現Heartbleed(2014年發現OpenSSL存在的安全漏洞),盡管之前全球已動員查找和升級這個代碼庫。大多數軟件產品并沒有受到掃描或審查,對易受攻擊的軟件組件不聞不問。
基層員工如何才能說服管理班子:使用開源項目以及為開源項目做貢獻有利于公司?
這可能是一項漫長而艱難的工作。在Heartbleed發生之前,OpenSSL每年收到的捐款只有區區數千美元,這可能讓人很意外。而在Heartbleed發生之后,情況要好得多。其他項目就沒有這么幸運了,捐款和源代碼貢獻方面仍差強人意。
我看到有幫助的一件事就是,為驅動你產品的重要開源項目做貢獻。這些直接取代自主開發的代碼,有望“節省成本”。保持這些組件欣欣向榮的勢頭,同樣有助于提高貴公司的收入。許多公司在做的兩項“容易”的輔助活動就是捐款和錯誤報告/錯誤修正版。捐錢快速簡單,又不影響最后期限。哪怕數額不大的捐款也會受到感激。
要是貴公司的啤酒或咖啡預算比開源捐獻預算還大,我敢說貴公司有問題。
捐獻代碼或時間可能更難。貴公司規模越大,需要克服的法律難題就越多。錯誤修正版或補丁常常不如捐獻一項主要功能或捐出一名專職開發人員來得有爭議。這是個良好的開端,可以幫助管理班子了解面對開源捐獻的細枝末節。
現在,越來越多的開發人員將開源捐獻作為其崗位描述的一部分,并利用自己在公司里面的影響力,確保得到向上游發布代碼所需要的支持。“如果我不能在Linux或Hadoop上工作,就會將目光轉移到別的地方上。”雖然這可能并不適用于許多開發人員,但如果你夠幸運的話,處在職業生涯的這個階段,那么就能極大地影響貴公司。
你的演講似乎側重于從開源公司的角度來管理產品。像軟件自由保護協會和Apache基金會這些組織在幫助這這方面能扮演什么樣的角色?
這些組織儼然是頗具影響力的開源項目奠定者,它們在幫助確定人們在創建和使用開源方面的期望值。我們常常告訴客戶,不僅要看許可證義務,還要看代碼作者的理念和編寫方法。法律上符合許可證是一回事,符合你所面對的社區的文化是另一回事。有時候,公司會嘗試“法律上準確”的方法來遵守許可證條文,但是完全違反了許可證的精神。社區會迅速告訴你,這是不可接受的。
雖然正確使用開源的責任在于開源用戶,但是鼓勵正確行為對諸如此類的組織最有利。大多數公司都想做正確的事情,可是常常不知道做什么、如何開始入手。
通過進行培訓、與社區內外的開發人員合作,并且讓公司很容易與行業組織溝通,這些類型的社區就能有助于讓許多公司更容易使用開源軟件。
你認為遵守開源方面的最大挑戰是什么,這方面的未來形勢如何?
沒有人相信他們實際上在使用眾多的開源。我們與許多公司打交道時,要求對方告知他們在使用多少開源軟件。最常見的回答是:“我們知道自己在使用開源,但不知道在哪里使用。”要是真給逼急了,公司通常只能說出5%的實際使用的開源。審查一下代碼,就會發現他們不知道自己在使用的數百個、有時數千個代碼庫。這每個被遺忘的代碼庫都違反了許可證。
讓技術管理班子了解合規并編制相應的預算可能很難,除非他們看到代碼審查的結果。只有團隊消除眾多代碼庫,為數百個代碼庫建立并發布許可證披露,并且潛在的安全漏洞根據需要升級和打補丁而堵上后,“第一次就做對”才變得更容易。從成本和聲譽的角度來看,從頭開始正確構建好系統總是比事后修復來得省錢。
時不我待。許多公司發現對開源使用情況知之甚少后,面對合規工作不知所措。要是每個首席執行官提出他們以為很快答得上來的問題:“我們在哪里使用OpenSSL?”,很快變成了耗費資源、歷時數月的分析,這時候項目人員才開始有所注意。Heartbleed這一事件確實改變了許多公司的合規工作,因為它們認識到自己在這方面的意識離真相偏差有多大。
你認為今年的擁抱開源大會上哪些演講是不容錯過的?
我對開源許可很有興趣,今年的擁抱開源大會上就有幾場精彩的演講是有關這個話題的。
我與Heather Meeker已共事多年,很期待她的演講:《解放你的代碼(又不嚇壞律師):發布和貢獻代碼時需要考慮的許可證和IP問題》。Heather已做過大量這種類型的工作,會深入淺出地講述處理這個過程的一些經驗教訓。我總是能從她的談話中學到新東西。
另外,Bradley Kuhn的演講:《GPL有利于公司》也很值得一聽,有助于了解為開源使用通用公共許可證的社區的目標和動機。只可惜,與我的演講在同一個時間,所以今年怕是當面聽不到了。
最后,《將商業軟件引入開源的技術、商業和法律方面的選擇》,以及《了解開源許可證》,這兩場演講看起來都令人關注。可惜分身乏術,要不然我都想去聽一下。
原文標題:Does your company know how much open source it uses?,作者:Ben Cotton
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】