個人觀點,僅供參考。
自由軟件運動: 其實目的已經(jīng)達成
自由軟件運動最初的目標(biāo)是為了建立一個 UNIX 復(fù)制品(clone)。這個復(fù)制品不能有版權(quán)問題, 同時也能讓用戶自由地使用,修改和分發(fā)。現(xiàn)在仔細看看, 這個目標(biāo)其實已經(jīng)達成, 甚至比當(dāng)初設(shè)想的更多, 現(xiàn)在不僅有了 Linux 內(nèi)核和GNU 工具, 甚至還有 GNOME, KDE 這樣的桌面環(huán)境,openoffice 這樣的辦公套件, 可以用來吸引更多的用戶。
GPL: 目的還是手段?
GPL協(xié)議是自由軟件運動的一個重要組成部分。但相比于GPL協(xié)議, BSD, Apache 這類的協(xié)議給了用戶更大的權(quán)利, 那么當(dāng)初為什么自由軟件運動會選擇這種不太自由的協(xié)議呢?
個人覺得采用 GPL 是為了更快地實現(xiàn)自由軟件運動這個目標(biāo), 也就是說GPL本身只是手段而不是目的。比如你用 GPL 協(xié)議寫了一些漂亮的庫(比如 libreadline), 如果開發(fā)者基于這個庫寫了一些軟件,那么他的軟件也會以 GPL 發(fā)布, 豐富了自由軟件倉庫。如果你用 GPL 寫了一個軟件, 其他開發(fā)者修改這個軟件后, 再發(fā)布時也只能用 GPL 發(fā)布, 這保證了任何對軟件的改進都可以回饋給原始項目, 這樣可以加快改善軟件質(zhì)量。
但 GPL 限制了軟件的使用, 特別是對于庫來講, 你無法使用 GPL 的庫來開發(fā)私有軟件, 所以又有了 LGPL 協(xié)議, 放松了對鏈接的限制, 但對軟件的改進仍然保證能被回饋給原始項目。
誠然, GPL 協(xié)議對加快實現(xiàn)自由軟件運動的目標(biāo)起了很大的作用,但在這個目標(biāo)已經(jīng)達成的情況下, GPL 的劣勢就逐漸顯露出來了。
寬松的協(xié)議更易推廣
現(xiàn)在GNU/Linux最大的用途還是在企業(yè)應(yīng)用領(lǐng)域, 而在GPL在這個領(lǐng)域?qū)嵲谑呛茈y推廣。在這個領(lǐng)域里,盡管大家的協(xié)議都盡量做到與GPL兼容, 但采用GPL的少之又少, 我看到的只有 openjdk, mysql 這兩個采用的是 GPL with linking exception, 其實加上 linking exception 后,這個協(xié)議就跟 LGPL 類似了(甚至更寬松)。 Ruby 是雙 license, 其中一個是 GPL, 另一個 Ruby License 則非常寬松。我用過的一些其他技術(shù),比如 ROR (MIT license), Django(BSD), Spring(Apache), Lucene(Apache), Scala(BSD), Erlang (MPL), Hadoop(Apache), ... 都沒有采用 GPL, 應(yīng)當(dāng)都有推廣會受限的考慮。
非企業(yè)應(yīng)用領(lǐng)域, 對于普通程序, GPL 仍然有一定優(yōu)勢(比如保護開發(fā)者的心血不被掠奪), 但用在庫上面, GPL 已經(jīng)被視為一個不友好的協(xié)議。志愿者也會開發(fā)一些更寬松協(xié)議的替代品, 比如 libreadline, 現(xiàn)在已經(jīng)有了 BSD 協(xié)議的 editline 庫。opencc項目創(chuàng)建時,跟開發(fā)者聊起重造輪子的動機時,也提到 cconv 是 GPL 協(xié)議分發(fā), 會給其他開發(fā)者造成困擾。
GPL 協(xié)議的另一個問題是沒有回頭路可走, 你如果在一個開源項目開始時使用 GPL 協(xié)議, 后來發(fā)現(xiàn)部分代碼可以獨立出來,作為一個庫使用。這個時候你會發(fā)現(xiàn)對庫重新設(shè)定授權(quán)協(xié)議(比如遷移到更寬松的LGPL)也是一個很麻煩的工作, 因為你需要取得所有貢獻者的許可, 而某些貢獻者可能已經(jīng)聯(lián)系不上了。
畫餅充饑
以前一直有一個討論, 自由軟件作者如何養(yǎng)活自己這個問題。也出現(xiàn)過一些建議,包括技術(shù)支持, 捐贈, ...。技術(shù)支持對于已經(jīng)流行起來了的框架軟件是合適的,甚至也能掙不少錢(比如 spring), 但對于中小軟件來說,這就是個笑話。對于捐贈, 也許 vim 是唯一的一個成功案例。從現(xiàn)實來看找一份穩(wěn)定的工作, 然后在業(yè)余時間搞自由軟件仍然是最方便也最大眾的解決方案。這個也造成,如果一個自由軟件沒有公司支持, 那么就會出現(xiàn)推進能力不足,無法把控進度的問題。Debian 每次發(fā)行都會跳票,也很這個有很大關(guān)系,這也成就了 Ubuntu 現(xiàn)在的地位。
FSF: 其實作用不大
自由軟件基金會(Free Software Foundation, FSF) 最早的作用是在 GPL 協(xié)議被侵犯時, 幫忙打官司的。但從現(xiàn)在來看, 敢于公然侵犯 GPL 的案例少之又少(中國不少, 但他又不來打官司)。FSF 要求旗下軟件(比如gcc, emacs, ...)的開發(fā)者把版權(quán)轉(zhuǎn)讓給 FSF, 這也冒犯了部分開發(fā)者。最近推行的一些活動, 比如反對 DRM, 反對 Windows 7, 反對 Microsoft Office 格式標(biāo)準(zhǔn)化, 這類活動不僅沒有得到社區(qū)的一致支持, 也沒有取得成效, 大家對 FSF 難免有些失望。其他方面的推廣工作就更少了, 比如 GNU Guile 其實也不算成功。
RMS: 光環(huán)漸消
RMS 對自由軟件的定義有一套個人的標(biāo)準(zhǔn), 因為這個標(biāo)準(zhǔn), 跟很多社區(qū)吵過架,比如 BSD, Mono, ... 也跟 Linus 在 GPLv3 的問題上吵過。這些都降低了 RMS 的號召力。而對 SaaS 這類運動的攻擊, 則把他自己推到了一個保守主義的位置。RMS 的觀點似乎停留在了互聯(lián)網(wǎng)之前的時代, 他的演講, 演講后的拜神活動都有那個時代的影子。 RMS 不再是那個引領(lǐng)潮流的人。
浪潮已經(jīng)轉(zhuǎn)移
現(xiàn)在其實也是一個軟件業(yè)大轉(zhuǎn)型的時期, 不僅有 智能手機, 平板, Web 這種新型的終端,也有 Android OS, iOS, Chromium OS 這種新型操作系統(tǒng)的設(shè)計理念, Scala, erlang 這種面對新挑戰(zhàn)的語言,還有 Django, ROR 這類的 web 快速開發(fā)框架。大量的 Geek 們正在這些領(lǐng)域展現(xiàn)自己的聰明和才智,而這些似乎都不再與 RMS, FSF, 自由軟件運動相關(guān)了。
自由軟件軟件運動目標(biāo)已經(jīng)達成, GPL 已經(jīng)完成他的歷史使命。即使沒有 GPL 的保護, 現(xiàn)有的 GNU/Linux 也不會被摧毀。如果自由軟件運動不能提出更有號召力的方向, 那么只會慢慢消失, 其實消失也不是壞事。