李震寧,劉莉,孟杰
(1.上?;A(chǔ)軟件工程技術(shù)研究中心,上海200030;2.中標軟件有限公司,上海200030)
中國軟件產(chǎn)業(yè)已經(jīng)進入高速發(fā)展時期。開源軟件在整個軟件體系里面占的比重越來越大。很多的軟件企業(yè)在開發(fā)過程中或多或少引用了開源代碼或開源軟件。目前,多數(shù)廠商在使用開源軟件的過程之中,存在一個認識誤區(qū):開源軟件是一個免費的軟件,可以隨意使用且不存在所謂的法律風險。
從全球范圍來看,與開源軟件有關(guān)的法律訴訟的確是非常少,而因為使用開源軟件遭到制裁的廠商就更少,但絕對不是沒有,比較引人注目的就是Oracle和谷歌,雙方關(guān)于安卓操作系統(tǒng)上的Java API所涉及的88億美元知識產(chǎn)權(quán)案例。所以,開源軟件作為一個具有版權(quán)的軟件著作產(chǎn)品,也不可回避知識產(chǎn)權(quán)這一問題。不加限制地使用和售賣開源軟件,可能存在法律風險。
開源軟件所使用的開源許可證,從知識產(chǎn)權(quán)角度來說,也是具備法律效應的合同。開源軟件也受到相關(guān)著作權(quán)保護。因此各位開發(fā)者和企業(yè)使用過程中請勿認為免費使用就意味著原作者放棄了所有權(quán)利,而且,開源許可證種類眾多,彼此之間的許可內(nèi)容和細節(jié)千差萬別。因此,選擇符合自己要求的許可證非常重要。圖1參考了阮一峰博士翻譯的Paul Bagw ell繪制的主流開源協(xié)議列表。圖1里面羅列了目前主流的開源許可證類別,以及對應的核心許可要求。
如圖1所示,目前最主流的六大開源許可協(xié)議(實際上目前用到的開源許可協(xié)議高達80余種)核心出發(fā)點是一致的:允許用戶免費使用、修改軟件。但是,在許可細節(jié)上差別就很大。例如,在核心的開源問題上,寬泛式的許可證允許開發(fā)者自由選擇是否將修改后的軟件開源,而另一些許可證則要求開發(fā)者必須遵照原有的許可協(xié)議。同時在分發(fā)軟件過程中,提供源代碼。但無論是寬泛還是較為嚴格的許可證,它們都有自己的使用條件。這也意味著開源許可證也是一種法律許可,在其許可范圍內(nèi)使用開源軟件代碼才會免除版權(quán)侵犯的情況。
圖1 當前主流開源許可協(xié)議類型的區(qū)別
谷歌在開發(fā)安卓操作系統(tǒng)過程中大量使用了遵循GPL許可協(xié)議的代碼。而GPL許可協(xié)議則要求,如果使用了基于GPL許可協(xié)議的軟件做修改,那么該軟件產(chǎn)品和相關(guān)衍生作品都是要受到GPL許可證的傳染,要求開放源代碼。但安卓操作系統(tǒng)為了保護開發(fā)者和硬件合作伙伴,在很多系統(tǒng)層級使用了更加寬泛溫和的Ap ache許可證。它們是如何通過合理手段規(guī)避開源許可證的“傳染性”的?
實際上,Linus在發(fā)展Linux操作系統(tǒng)的過程中,也注意到強制性開源對于一些商業(yè)性質(zhì)的開發(fā)者和企業(yè)積極性有所打擊。為了更好地推廣系統(tǒng)和吸引開發(fā)者,他在Linux內(nèi)核的版權(quán)文件Cop ying中最前面增加了一段話,保證了Linux內(nèi)核的商業(yè)用途不被GPLv2傳染。
NOTE! This copyright does *not* cover user p r ogr ams that use k er nel ser v ic es by n or mal sy stem c al l s - this is mer el y consid ered nor mal use of the ker nel, and does *not* fall under the heading of "derived w o r k". A l so n ote that the GPL bel ow is copyrighted by the Free Software Foundation,but the instance of code that it ref ers to (the Linux kernel) is copyrighted by me and others who actually wrote it. Also note that the only valid version of the GPL as far as the kernel is c onc er ned is _this_ p ar tic ul ar v ersion of the license (ie v2, not v2.2 or v 3.x or whatever), unless explicitly otherwise stated.Linus Torvalds
在這份文件中,Linus本人已經(jīng)明確說明:使用 Linux 內(nèi)核的頭文件定義,進行系統(tǒng)調(diào)用的程序不會被視作GPL的作用范圍,也就是說不會被視作衍生產(chǎn)品。這就為廠商提供了一個思路,使用用戶空間,通過系統(tǒng)調(diào)用方式來區(qū)隔內(nèi)核空間的許可協(xié)議。
谷歌通過HAL硬件抽象層很好地解決了這一問題,即HAL存放實際驅(qū)動程序,通過內(nèi)核中的“影子驅(qū)動”傳輸控制命令。由于H A L對內(nèi)核的調(diào)用屬于普通系統(tǒng)調(diào)用,因此不必被Linux內(nèi)核的GPL許可強制傳染。然而,位于內(nèi)核之上的Linux Glibc庫屬于GPL許可協(xié)議,有傳染性。為了規(guī)避這一問題,谷歌將glibc替換為了自己優(yōu)化的Free BSD Bionic庫,這個庫則屬于寬泛的BSD協(xié)議。
谷歌作為一家成功的科技企業(yè),在安卓操作系統(tǒng)創(chuàng)建之初就非常重視開源知識產(chǎn)權(quán)問題。通過HAL成功隔離了開源許可證為后來眾多開發(fā)者和企業(yè)增添了很多利益吸引點。在本文撰寫過程中,美國舊金山聯(lián)邦法庭陪審團做出了裁決,認定安卓操作系統(tǒng)合理利用(Fair Use)Java API代碼并未侵犯其版權(quán),駁回甲骨文向谷歌索賠93億美元訴訟。給所有使用Java API的開發(fā)者一個定心丸。但這并不意味著可以為所欲為地使用開源軟件而沒有任何限制。
圖2 安卓操作系統(tǒng)對許可證的處理方式
2013年起,一家韓國辦公軟件公司 Hancom在其字處理軟件中整合了開源的 PDF 解釋器Ghostscript。這個解釋器采用了兩種許可證,GNU GPL 以及一個付費的商業(yè)授權(quán)許可證。開發(fā)者可以自由選擇,但必須遵從其中之一。2016 年,Ghostscript 的開發(fā)者 Artif ex 在美國起訴了韓國的Hancom,指責后者既沒有按照商業(yè)許可付費,也沒有遵從開源許可協(xié)議開放源代碼。對此,Hancom公司辯解到:該公司認為其在下載Ghostscript的軟件的過程中沒有簽署任何開源相關(guān)法律文件,以至于無合同文件被強制執(zhí)行。 最后,美國法庭判決Hancom公司敗訴,法官在判決時解釋到:“人們在下載軟件的時候默認同意GNU GPL——這意味著GNU GPL本身就是把這個簡單的著作權(quán)問題并進入合同法領(lǐng)域所需要的額外元素”。 這個解釋經(jīng)典在于:它非常清晰的告訴了所有企業(yè),雖然沒有文件簽署或者 “I Agree ”的按鈕供選擇。但當選擇在產(chǎn)品中使用開源軟件時,它就被認定為具備強制執(zhí)行力的版權(quán)協(xié)議了。
今天,開源軟件已經(jīng)滲透到全球科技領(lǐng)域的各個環(huán)節(jié),大量的軟硬件里都嵌入了開源代碼。谷歌在力爭確保Java API的免費許可同時,正在考慮放棄安卓免費的傳統(tǒng)。而微軟也重金收購了開源代碼最大的集散地Git Hub。在最頂級巨頭們的爭奪下,開源知識產(chǎn)權(quán)的版圖未來將會發(fā)生巨大的變化。中國作為軟件大國,也應高度重視開源軟件面臨的風險和挑戰(zhàn),未雨綢繆,深入研究、積極應對,在新一輪開源技術(shù)浪潮中迎頭趕上。