Windows Ubuntu 云计算 wordpress apache 开源 Firefox nginx 微软 shell Android Python centos mysql 程序员 linux 编程 google php java

自由軟件、開源軟件、有源軟件和商業軟件

經常見社區裏面就開源軟件展開爭執:到底什麽樣的軟件算是開源軟件?有的朋友認為必須要符合OSD(The Open Source Definition)標準的才是開源軟件。有的朋友則認為只要源代碼開放就可以。於是就出現了真開源和偽開源的說法,出現了各種各樣的爭執。開源社最近也展開了開放源代碼是否就是開源軟件的討論。

其實這問題的核心不在於開源軟件的定義,而在於我們少翻譯了一個詞,我們先來看國外的發展歷史:

早期的軟件在發行的時候都是有附帶源代碼的,比如早期的unix。Unix可以算得上比較早的Source available軟件(雖然那時候還沒有這個概念)。

後來比爾蓋茨重新定義了商業模式,只給客戶發行二進制包,不提供源代碼。這是典型的商業軟件(Business software)。

後來RMS看不下去了,說我們不能被某幾個公司控制,於是發起了自由軟件(free software)運動。

後來有很多人覺得自由軟件的哲學意義太強了,就提出了中性化的開源軟件(Open source)概念。

與此同時也有很多的商業軟件公司意識到給客戶提供源代碼也是很好的商業模式,就出現了很多的Source available的軟件。比如我們的同行JIRA:),比如HTML5 GUI框架 Sciter。都可以付費得到源代碼。

在西方世界裏面,Free software, Open source software, Business software和Source available software的區分是非常明顯的,各自的運作或者商業模式也都非常的清晰。

隨著互聯網的興起,這些概念也都傳到了中國,這些軟件在國內也都有各自的代表。比如早期的LVS,到今天有很多的公司以開源軟件來創業。商業軟件自然不需贅述。但問題就出現在了Source available software這類的軟件上面。這類軟件在國內的典型代表是discuz。它的源代碼是開放的,但從授權協議上禁止商用和二次開發。

由於Source available software在中文裏面沒有對應的翻譯,這類軟件的廠商也稱自己的軟件為開源軟件。開源軟件這個詞在國內就有了兩種解釋,出現各種爭執也就不足為奇了。 Open source 的會說你這不是開源,是偽開源。Source available的說,我源代碼也開放了,你老說我偽開源啥意思呢?

怎麽來解決這些分歧呢?我建議將Source available software翻譯為有源軟件。自由軟件、開源軟件、有源軟件、商業軟件,這樣就可以和西方的四個概念分別對應,可以減少很多的口水。

這四種形式,可以分為兩大類:開源軟件和商業軟件。自由軟件肯定屬於開源軟件,有源軟件也屬於商業軟件。開源軟件是為了向商業友好,有源軟件則是商業軟件更加開放。所以開源軟件和有源軟件在形式上會比較接近。

還有一個概念叫做share software,中文可以翻譯為共享軟件。共享軟件應當也屬於商業軟件。國內外有大量的軟件采用這種方式來宣傳和銷售。

後來隨著Github的興起,現在有很多的軟件在淡化授權。很多網友寫了一段代碼,你愛幹啥幹啥。這也一種新的現象吧。

延伸阅读

    评论