Web 2.0專家Nat Torkington的一句“‘開源’是否完全沒有意義了?”引發了無數的爭論。但無論如何,他的問題有一定道理。盡管私有軟件和開源軟件的商業模式和許可證計劃各不相同,還是有很多公司聲稱要開放源代碼,F在已越來越難判斷哪些是正統的開源,哪些不是。這個問題引發的爭論本身就證明了這灘水有多混。
如果要解釋什么是開源軟件,大多數人可能都會背出一串軟件本身的實用特點。但仔細想想就會發現,很難以這種方式來解釋開源的價值。
比如,開源軟件是免費的。如果某軟件是開源的,你就肯定可以從某處免費下載和使用。但是許多軟件銷售商也免費提供很多高質、完善并且適合企業使用的軟件。微軟的Inte.net Explorer就是免費的,但以這個定義來看,它能算是開源軟件嗎?
與此相似,開源軟件號稱是在社區的推動下發展的,但這并不是它的專利。坦白地講,Adobe的Photoshop和微軟的Excel也有社區,你可以找到很多與這些產品相關的免費課程、郵件表、網絡論壇、用戶團體、書籍、雜志和聊天室,就像Linux或任何其他開源軟件一樣。另外,每種軟件都有很多活躍的獨立開發者,他們可以開發附件、模版和插件程序,很多都可以免費下載。所以,如果說社區是開源的決定性特點,那就會使問題更復雜。
確實,開源可以被最終用戶再次發布,但這也不是開源的決定性特點。實際上,很多免費軟件都是可以再次發布的。我從未聽說過微軟采取了什么措施阻止承包商燒毀那些發布給客戶的寫滿Windows軟件更新程序的DVD。盡管如此,這些更新程序還是私有軟件。發布其他人的軟件并不意味著就是開放源代碼,這只能說明你是個傳遞者。
那么,究竟什么才是開源最顯著的特點:源代碼對最終用戶開放?這足夠將開源定義為軟件的一類嗎?不幸的是,答案依然是否定的。微軟的共享源碼計劃將Windows的源代碼向某些顧客開放,但這并不能改變它是私有軟件的本質。
顯然,開源軟件的使用特點不足以解釋什么是開源。那么,究竟什么是開源?問題的答案很復雜,所幸在文件中有所記錄。開源促進會公布的定義中有,無數由開源促進會批準的許可證中也有。只有在這些許可證下,開源計劃才能發布。
但是,長期致力于開源的Richard Stallman說,這些定義只解決了部分問題。我非常同意他的觀點。Stallman在免費軟件基金會的網站新發表的一篇文章中指出,“開源”遺漏了免費軟件這一點!伴_源這一說法很快就和實用價值聯系到了一起,比如強大、可靠等特點!贝蠖鄶甸_源的支持者從此開始加入開源行列,所做的都是不斷努力實現這些特點。
實際上,開源僅僅是Stallman稱之為“免費軟件”的子集!伴_源軟件”這一名稱形成的主要動因是“免費軟件”這個很有公益感的概念使某些人不安。從廣義上來說,這也是在開源的定義上很難達成一致的原因。沒有確定的指導理念,開源運動當然很難在有序的領導下進行。
免費軟件顯然是意識形態的運動,這樣就很自然地使某些人不安。但越來越多的商業軟件公司已經開始接受通用公共許可證了,這是免費軟件意識形態中最重要的表達方式。甚至還有人建議所有軟件公司都需要通用公共許可證。
所以,問題并非是“開源是否還有意義了”,真正的問題在于“為什么我們還在討論它”。這是一個革命性的生產軟件的方式,它叫免費軟件,也許是時候讓更多的人知道它的本來面目了。