開源軟件明明是免費的,華為、思科們到底在怕什麼?

開源軟件明明是免費的,華為、思科們到底在怕什麼?

黑客

在全世界搞IT的程序員中間廣泛流傳著一句諺語:“開源使用一時爽,版本發佈火葬場。”不明就裡的吃瓜群眾們可能會問,開源軟件到底有什麼毒,讓程序員們連禿頂都不怕,卻唯獨對它心有餘悸呢?要回答這個問題,就要從開源軟件的定義說起。

所謂開源軟件,是一種源代碼免費開放的軟件,任何組織都可以在其License(譯:許可)的規定下對其進行使用、複製、傳播及修改,並可以將該修改形成的軟件再次發佈。

這段話看似人畜無害,其實暗藏殺機,關鍵點就是所謂的License。如果稍不注意,輕則破財消災,嚴重的就倒閉破產。

思科陰溝翻船,賠掉數千萬美元

舉個真實的案例,美國芯片巨頭Broadcom在某款802.11芯片中使用了License類型為GPL的Linux系統,隨後該芯片被另一家叫做Linksys的通信設備公司集成在了自家的WRT54G無線路由器中,再後來Linksys公司在2003年被業界巨頭思科收購。理論上,由於WRT54G使用的芯片採用了GPL License的Linux系統,那麼包括芯片源碼、集成了芯片的產品源碼都要免費開源出去。顯然,思科不打算這麼做。不久,思科就被FSF(自由軟件基金會:業界最大的開源軟件維權組織)投訴,起初雙方互不讓步,經過數年交涉,思科被迫開放了一百多款路由器的源代碼,並捐款數千萬美元給FSF基金會才把事件平息。

開源軟件明明是免費的,華為、思科們到底在怕什麼?

通過這個圖可以看出,License具有很強的傳染性,一旦產品中使用了GPL License的開源軟件,那麼整個產品就會受到感染,哪怕產品被收購,收購方也要承擔對應的開源義務。

主流的License

開源軟件明明是免費的,華為、思科們到底在怕什麼?

當然,開源軟件的License並非都向GPL一樣“流氓”,目前主流的License主要分為BSD類、MPL類、GPL類,其中BSD類最寬鬆,MPL類次之,GPL類坑最多。

BSD類License

如Apache V2.0、BSD、MIT等,典型的項目有ACE、Tomcat、FreeBSD,這類開源軟件基本上允許開發者“想怎麼用就怎麼用”,不用履行開源義務,是所有公司都非常喜歡的License類型,BAT以及華為、思科等等公司的產品集成了大量的這類開源軟件。

MPL類License

如CPL V1.0、EPL V1.0、MPL V1.0、CDDL V1.0等,典型的項目有JUnit、Eclipse、FireFox、OpenSolaris,這類開源軟件可以通過動態或者靜態鏈接的方式使用,如果沒有對開源代碼進行修改,則產品無需開放代碼;如果修改了部分開源代碼,只需開放修改部分的源代碼即可,因此MPL類License是相對友好的,相關的開源軟件在業界也流行甚廣。

GPL類License

如GPL V2 、LGPL V2等,典型的項目有Linux、Jboss、OpenOffice、SDL,GPL類License對使用者約束甚多,其中LGPL V2 License相對寬鬆,如果產品通過動態鏈接的方式使用,則不用履行開源義務,靜態鏈接則不行。GPL V2 License的開源軟件,無論是通過動態鏈接方式使用還是靜態鏈接方式使用,都需要對整個產品代碼開源,上面例子中的思科就是在這種License上中招的。不過GPL V2 License的開源軟件也不是不能用,一個比較好的方式是,將產品和開源軟件分在不同的進程裡,因為GPL V2 License的開源軟件只能汙染同進程裡的代碼。

BSD License也有坑,小心才能使得萬年船

開源軟件明明是免費的,華為、思科們到底在怕什麼?

事實上,即使開源軟件是最寬鬆的BSD類License,也要瞪大眼睛看清楚才能用,因為有時候會有另外的坑等著你,典型的例子是馬克·扎克伯格的Facebook。幾年前,Facebook 曾在Git hub上發佈了一系列開源項目,由於其先進的技術和寬鬆的License(BSD)使得其項目廣受用戶歡迎。不過Facebook在BSD license之外,還額外增加一份專利授權license,將這些軟件可能存在的Facebook專利授權給用戶使用,但也正是這份專利icense ,給這些軟件的商業應用埋下了“地雷”。

如果某公司使用了該軟件,那麼如果Facebook在其業務範圍內與該公司有任何其他專利衝突,該公司則不得向Facebook發起專利訴訟,導致無法保護自身的專利,夠狠的吧,華為就差點踩到這個坑,後來公司法務部審核時識別到了風險,及時踩了剎車才避免了損失。

有朋友說,既然開源軟件這麼多坑,那我乾脆不用不就完了,這個想法的初衷是好的,事實上並不可行。現代社會的科技產品,講究的是敏捷開發、快速迭代,一個很普通的產品可能涉及到網絡通信、文件系統、多媒體處理等等多個方面,如果這些都靠自己來實現,那麼可能這輩子都看不到產品上市的那一天了。

使用開源軟件的三個建議

大公司已經有了一套規範的開源軟件使用流程,比如IBM、阿里、華為等等,整體來講,這些公司主要從三個方向著手來實現安全、高效、低風險的使用開源軟件。

(1)創建完善的開源軟件選型系統,端到端跟蹤開源軟件的申請、使用和退庫,將風險擋在門外

(2)通過IT流程保證開源軟件漏洞和補丁的更新機制,確保所使用的開源軟件始終處於最安全的版本

(3)嚴格遵從license要求,履行license的開源義務

結束語

隨著國內中小型科技企業的逐步崛起,中國會孕育出更多的像華為、阿里、騰訊這種跨國科技巨頭,如何篩好、用好開源軟件,是所有科技企業需要思考的問題,這關係到企業能否有效保護自己的知識產權、能否快速推出有競爭力的產品,能否佔領市場持續領先。


分享到:


相關文章: