2015年1月9日,國家自然科學一等獎授予了計算機科學家、中國工程院院士張堯學及其團隊。但這一獎項立刻引發了爭議,許多研究者認為這一項目太偏向工程,太過普通,《科學》雜誌的官方網站也對此進行了報導。
在接受科技日報採訪時,張堯學提供了一個視頻連結,展示了基於透明計算的「透明桌面」項目的運行狀況。但是,網友很快發現其中一段幫助文本是英文。經搜索發現這段文本來自加拿大軟體工程師約丹·約丹諾夫(Iordan Iordanov)的遠程桌面客戶端bVNC,這是一個「開源軟體」,原始碼是公開的。
視頻截圖。可以看到疊加在PPT界面上的幫助文本是英文:「Direct, Swipe Pan: Swipe to pan around...」
果殼網為此對約丹諾夫進行了專訪,他在專訪中表示,根據視頻可以明確判斷出透明桌面肯定使用了他的代碼,而且他的代碼在其中應該起了很重要的作用。但是,只要項目組願意將他們的完整成果按照開源軟體協議公開原始碼,那就不算是違反了軟體業的原則——不過,學術領域的原創性就另當別論了。
果殼網:你能簡單介紹一下你的項目嗎?
約丹諾夫:我的bVNC是一個虛擬網絡計算(VNC)客戶端,它是在遠程桌面客戶端代碼庫裡的原始碼基礎上開發的。這個代碼庫裡面還有好幾個其他的項目——其中有一個名叫aRDP的遠程桌面協議(RDP)客戶端,一個名叫aSPICE的獨立計算環境簡單協議(SPICE)客戶端,還有一個名叫Opaque的紅帽企業虛擬平臺開源版(oVirt/RHEV)客戶端。這後兩個軟體包,可能就是透明桌面項目的基礎。
它允許用戶連接到遠程設備上運行的遠程桌面,可以選擇使用多種協議。目前支持的協議是VNC,RDP和SPICE這三種;除此之外,我的客戶端還支持oVirt/RHEV架構,使用的是一個叫做libgovirt的紅帽二進位庫。而且,它還提供SSH隧道功能,提供額外安全性。
一旦連接到了遠程桌面,用戶就能輸入文本或操縱滑鼠和遠程桌面互動。遠程滑鼠操縱可以使用多種輸入模式,包括直接模式、模擬觸控板模式和單手模式,每一種有不同的優缺點,取決於用戶喜歡如何使用他們設備的觸屏。
果殼網:你的項目的版權狀況如何?
約丹諾夫:我使用的授權是GPLv2或者v3,不同子項目版本有差異。這一授權允許別人在滿足一定條件的情況下使用我的代碼,具體條件可參見GPL相關條目。大致說來,這些條件可以部分概括如下:
如果有人在我的項目基礎上創作了衍生作品,並且不是留作自己用,而是分發給別人,那他們必須把整個衍生作品的完整原始碼也公布出來。而且,對於這些原始碼他們只能使用GPL授權,不能換成別的授權。
所以,他們的項目也應遵循GPL,具體什麼版本取決於他們用了哪些子項目。bVNC,aRDP和aSPICE的協議是2版,而Opaque則是3版。
果殼網:能否斷言透明桌面項目組使用了你的代碼?
約丹諾夫:是的,十分明顯他們把我的軟體整合到了他們的項目裡,這從屏幕上的可繪製對象——Ctrl, Alt, Shift等等的位圖按鈕可以看出來,還有彈出的信息框(關於當前選擇的輸入模式的信息和解析度)也能證明這一點。此外,他們所展示的功能,在我的軟體裡已經實現了。他們的項目的移動端和我的項目非常相似,幾乎到了完全等同的地步(bordering on identical to my project)。
不過,我並沒有下定論說他們是「盜竊」了這些代碼。如果他們試圖把原始碼改換授權重新發布,或者發布了二進位軟體而不同時發布原始碼,那麼這就算是盜竊,不過他們已經承諾不會這樣做了。
(編者註:此處的「承諾」,指的是認證微博帳號「透明桌面項目組微博」在新浪微博發布的聲明。)
話雖如此,鑑於他們獲得了如此巨大的成功,如果他們能聯繫一下我,允許我參與進他們的項目組,我將十分榮幸——不過這並非我的明確要求。不管怎麼說,如果沒有我的工作,他們是沒辦法像現在這樣在行動裝置上展示他們的工作的。他們在透明桌面項目裡展示的行動裝置靈活性,大概是整個展示中最重要的一部分,而他們選擇在視頻的最後表演這一部分,大概是因為它的「哇哦指數」(wow-factor)最高吧。
果殼網:幫助文本也算嗎?
約丹諾夫:這取決於幫助文本的授權。我的幫助文本和代碼一樣,是GPL授權的,也受限於以上所述同樣的條件。這個例子裡,我相信他們遵循授權就可以自由使用我的軟體附帶的幫助文本。
果殼網:透明計算這個概念新嗎?
約丹諾夫:現在透明計算這個想法已經不新了。VMWare(私有軟體)和紅帽(開源)各自都有一套方案,它們基本上都可以實現這個研究組所展現的內容。紅帽的產品名為oVirt,和我的Opaque客戶端聯合使用,本質上就能達成他們所展示的所有功能。但由於語言因素,我無法準確得知他們研究組到底做出了哪些額外貢獻,我非常希望他們能來聯繫我,甚至是尋求合作,這樣讓我能做出更大的貢獻。
果殼網:如果GPL授權被違反了,開源社區會採取行動嗎?
約丹諾夫:鑑於透明桌面項目組出來澄清了他們的立場,並明確指出他們打算遵守GPL授權,我不認為開源社區會採取什麼行動。不過,假如真的有人違反了GPL,那麼一定會面對巨大的輿論譴責,廣泛的討論和聲討,甚至視具體情況有可能對簿公堂。但在這件事裡我不認為這些會發生。
果殼網:你覺得他們如果不參考你的代碼,能實現這些功能嗎?
約丹諾夫:實現任何功能都是有可能的,但代價是巨大的時間和人力。我認為他們的項目組在別人的成果基礎上工作並不是什麼過錯——開源軟體本來就是這樣的呀!如果他們試圖把這個想法當成完全原創的去宣傳(對此我表示懷疑),那麼這就是學術上的不端行為,但這和GPL授權的條款就沒有關係了。就這個問題我沒法發表評論,主要是因為語言障礙,我不能完全理解整件事情的來龍去脈。
果殼網:他們既然是使用了別人的代碼,那有沒有什麼地方他們做得不好?
約丹諾夫:我注意到的一個奇怪的事情是,他們在移動端演示的輸入法都是英文。我希望他們能開發一種輸入漢字的辦法。如果他們需要,可以來找我談談。我倒的確挺喜歡他們把用戶有權訪問的遠程虛擬機展示出來的方式,我很希望這部分貢獻也能反過來融合到我的項目裡。
果殼網:你的軟體有多少用戶呢?
約丹諾夫:我們的原始碼庫上的幾個項目在Google Play、Blackberry World和Amazon App Store上都有下載。如果算上整個市場和所有子項目,那麼迄今為止我的軟體獲得了250000次以上的獨立下載。
果殼網:你為什麼會想到做這個項目呢?
約丹諾夫:有幾個因素。
第一當然是迎接技術挑戰、得到學習新技術的機會。這些項目和我作為職業程式設計師的全職工作完全不同,讓我有機會能把時間用在全新的有趣的東西上。
第二是為全世界的人提供一項有益的服務。世界已經相互連通,把軟體放在 Github這樣的代碼網站和Google Play、Blackberry World這樣的應用市場上,能讓它們很容易觸及全球範圍的用戶,並產生影響。
第三是我想創造出能經歷時間考驗的軟體,永遠不會消失。對於私有軟體,一次公司合併或者一次糟糕的商業決策,就能讓它從市場上消失不見;但如果創造出優秀的開源軟體,能和最好的私有軟體競爭,這樣的開源軟體就能夠永存。這也讓年輕的程式設計師能從軟體中學到東西,甚至為軟體做出貢獻。