chinabyte
在魯迅先生的《拿來主義》一文中,“我們之中的”那個“窮青年”,進了宅子(且不論是如何得到的),不管三七二十一,拿來,然後視用途處理,“或使用,或存放,或毀滅” 。
當今,開放源代碼軟件(Open source software, OSS)似乎也成了“窮青年們”的大宅子。我們不是技術落後嗎?那麼,拿來!我們不是架構設計不強嗎?那麼,拿來!代碼直接拷過來,或者全部拿過來,或者全部據為己有,“主人是新主人,宅子也就會成為新宅子”,手法之麻利令人瞠目。
斗轉星移,與《拿來主義》成文的二十世紀三十年代相比,當前的環境已經大不相同,再說魯迅先生討論的是批判地接受外來的或既往的文化問題,與我們要討論的開源軟件問題似乎略有不同。經過二十多年的改革開放,我想我們大家都已經是忠誠的拿來主義者了,現在到了討論討論如何拿、該拿哪一部分的操作層面問題的時候了,這好像又牽涉到魯迅先生當年也曾經探討過的“費厄潑賴(fair play)”,即所謂正當競技的問題。費厄不費厄,關鍵是看規則如何定的了。我們這裡應該沒有當年的“落水狗”問題的存在,即使是破壞了規則,改了就好,不劃入該“痛打”的“落水狗”之列。在經濟全球化的競爭格局之下,沒有一個player可以孤立地生存,因此費厄潑賴也就成了拿來主義的必要前提,拿來必須在規則所允許的范圍之內,簡單粗暴的拿來就是對游戲規則的破壞,輕者要被排除出局,重者要受到法律的制裁。
在《拿來主義》中,“窮青年”如何得到“宅子”無關緊要,然而在本文中,我們卻不得不面對。進“宅子”去“拿來”的前提應該是合法地取得了宅子的訪問權,映射到軟件領域就是access to source code了,不管是你花錢買來的還是人家白給你了鑰匙。開源軟件本來就是帶源代碼發行的,任何人都可以閱讀、分析、學習、研究。有了源代碼,我們可以“拿來”大師們的先進的設計思想和優秀的代碼構築手法,這個一般稱之為開源軟件的技術價值。開源軟件的倡導者鼓勵人們閱讀、研究其代碼,並認為在無數雙眼睛的盯梢下,缺陷可以很容易地暴露出來,軟件的改進也就自然容易了。然而,開源軟件技術價值的拿來得還不充分,代碼拷貝、挪用(合法與否要視授權協議的具體規定)僅僅限於表象,對程序算法和架構設計技巧的學習研究才是深層次的。目前不少高校裡的一些課程好像涉及到了開源軟件,我不知道有多少涉及到了開源軟件的架構設計藝術,有多少涉及到了開源軟件的代碼質量。大家知道,軟件=架構+實現,如果我們不在設計和代碼質量上下足功夫,恐怕很難擺脫出賣廉價勞動力的軟件制造業的宿命。
除了技術價值之外,開源軟件還具有重要的使用價值。使用價值在開發人員中間得到了充分的開發,比如開源開發語言Perl、PHP、Ruby等,開發工具GCC、Emacs、CVS、Eclipse、等,中間件產品就更不用提了。隨著開源運動的深入,開源軟件在開發人員中獲得了巨大的用戶群,如果離開了這些出色的軟件的支持,很多公司的開發將難以為繼。與此相對應的,基礎類軟件和管理類軟件等試圖進入企業應用市場的道路卻並不平坦。由於各種原因,IT經理們對開源軟件存在諸多的擔心、莫須有和懷疑(FUD),從而影響了選型決策。不過回想當初CVS、Tomcat和Eclipse進入軟件企業的時候,不是曾經也以這種不假思索的FUD為借口被拒之門外嘛。然而,最終是廣大的一線開發人員的鐘愛才把它們從冷宮中解脫出來,其使用價值得以完全釋放,在開發工具領域爆發出勃勃生機。我們有理由相信,開源軟件進入企業應用領域只是個時間的問題,為了達到這個目標需要先驅者的啟蒙和打拼。理論和經驗都表明,信息化是提升企業競爭力的有效手段,然而在我國,整體信息化水平尚處於相當落後的階段。尤其是昂貴的軟件價格阻礙了人們IT投入的熱情,再加上知識產權意識整體偏低,所以很多企業铤而走險,造成盜版軟件的泛濫。我們看到,開源軟件為中國提供了一條代替盜版軟件、低成本信息化的新的道路,通過推廣開源軟件應用,還可以起到驅逐盜版軟件、淨化軟件市場的作用,無疑也為商業軟件提供了更多的發展機遇。基於此種理由,我們可以斷言,開源軟件不是商業軟件的敵人,盜版軟件才是商業軟件和開源軟件的共同敵人,癌細胞之不除,安有好良細胞之成長機會?開源軟件應用市場的開發是攸關其在我國發展的前途和命運的大事,要同當前正在推動的正版化結合起來進行,須知並不是所有的企業都能負擔得起高昂的軟件費用,治標不如治本,與其堵之不如疏之,為企業提供開源軟件的新選擇肢是一個非常明智的措施。然而令人遺憾的是,有這種認識的人無論是在政府還是在企業都還是鳳毛麟角。由此聯想到一件事情。據說為了推廣開源軟件舉行了什麼開源軟件開發大賽,平心而論,累死我也沒想明白開源軟件的開發和其它軟件軟件的開發有什麼特別的地方,如果說虛擬團隊、分布式開發是其特點的話,這又不是一個個體參賽者所能夠做得了的。與這種華而不實、閉門造車的做法比起來,我倒是認為開展開源軟件應用方面的競賽要現實得多,有意義得多。比如,給出一個案例(比如郵件系統集成或VOIP系統集成),讓參賽者組和應用開源軟件,然後進行評比。開源軟件的推廣不是光憑一腔熱情拍腦瓜就能做好的事情,希望多一些了解,多一些調研,多一些專家聽證,這能才能促使更多的人參與進來。
開源軟件的源代碼參考和實際應用不但是允許的而且是受歡迎的,問題出在如何對待衍生作品上。我們知道,軟件的授權協議是權利人和被授權人之間關於權利、義務的法律約束,被授權人除了尊重著作權法等賦予權力人的權利外,還要履行授權協議規定的義務。“拿來”行為是不是合法,是不是費厄,都要依據法律和授權協議來判定。合法的行為就是費厄潑賴,不合法的行為就是非費厄潑賴。授權協議的授權協議有兩類典型,一個是具有傳染性的GPL(GNU General Public License,GNU通用公共授權協議),它要求衍生作品必須以同樣的授權條件發行,否則就視為侵權;另一個是極為寬松的BSD(Berkeley Software Distribution),它除了要求保留BSD頭文件之外幾乎不對衍生作品做其他任何要求。其他的開源軟件授權協議大都非此即彼,或者處於二者的中間地帶。值得注意的是,以GPL發布的開源軟件占有相對的數量上的優勢。在融入國際大環境、與國際接軌、參與國際競爭的大背景之下,費厄潑賴的意義是顯而易見的,正如我們不願意跟耍賴皮的人玩游戲一樣,破壞知識產權規則的人也會被排斥在游戲之外,所以費厄潑賴應該實行,而且是堅定不移地實行。為了成為創新型國家,必須通過知識產權制度保證人們的創新動力,否則會成為一句空談。盜版業者就是因為沒有跟我們費厄潑賴才導致目前盜版泛濫的局面,己所不欲,勿施於人,對他人馬列主義、對自己自由主義的雙重道德是要不得的。這個時候倒是需要魯迅先生倡導的拿來主義,就是批判地拿來,合法地拿來,先研究好規則,如果作品將按照GPL發行的話,不妨在GPL軟件的基礎上開發;如果不是,那就選擇一個BSD軟件的替代品吧。不可否認,一些企業或個人急功近利、投機取巧,破壞開源軟件的規則,有些甚至變本加厲,把開源軟件進行一些改頭換面的簡單操作後直接宣稱是自主開發軟件,甚至還拿去申請政府項目資助。這種惡劣的行徑除了受到道義上的唾棄之外,嚴重的還會受到法律的制裁。GNU組織已經創設了一個Compliance Lab,專門查處應對GPL軟件的侵權問題。把開源軟件簡單地等同於發展國產軟件或自主知識產權的言論更是無稽之談,開源軟件本來就是舶來品,侈談國產豈不是癡人說夢?粗暴地打出民族牌,實質上是縱容了變相盜版,結果是給民族丟了臉,摸了黑。對發展自主知識產權軟件的迫切願望固然可以理解,但是不能因此就意淫開源軟件,就跟當年的阿Q老是惦記秀才娘子的寧式床一樣。拿來主義不是殺雞取卵的短視行為,要站在軟件產業的發展戰略的高度,合理布局開源軟件產業鏈條,引導企業合法地利用開源軟件所提供的機遇,耐心地培育市場。
總之,開源軟件給我國信息產業,特別是軟件產業的發展提供了難得的機遇,對此我們一要費厄潑賴,二要拿來主義,合法地利用開源軟件資源,創造一切條件促進軟件產業的健康發展。