本月自由軟體兩大事, 1. Free and Open Source Java; 2. Microsoft 和 Novell 策略結盟
自由軟體界 (Free Software) 在本月 (2006/11) 發生了兩件大事,一件是好消息,另一件是壞消息。
先聽聽壞消息吧,壞消息是 Novell 在11月2日宣布和 Microsoft 達成策略結盟,雙方允諾交流資訊,加強雙方平台的軟體互通性。好消息是 Sun Microsystems 在11月15日宣布開放 Java 開發工具的源碼,並以 GPLv2 釋出。
Microsoft 和 Novell 策略結盟
11月2日, Novell 宣布和 Microsoft 策略結盟,雙方允諾交流資訊,就雙方的虛擬化技術及共同語言平台上加強互通性。其中最令程序人員矚目的該是雙方將加強各自的 ECMA-CLI [Standard ECMA-335 Common Language Infrastructure (CLI) ,這是由 Microsoft 提交給 ECMA 審定公布的「共同語言基礎」,規範一個共同的程式語言開發架構,讓程序員能廣泛地實現平台無依性及軟體元件互通性。這是比 POSIX 規範內容更廣的共同平台規範。] 實作平台的互通性。 Novell 的 Mono 與 Microsoft 的 .Net 是兩間公司各自基於 ECMA-CLI 規範的 Framework ,這項策略結盟預期將令各自使用這兩種 Framework 所開發的軟體,可以平順地交叉運行及互用元件。
問題在於 Novell 的 Suse Linux 和 Mono Framework 都是基於 GPL 授權的自由軟體,如何與 Microsoft 進行軟體技術交流便成為最大的法律爭議點。果不其然,實踐 Linux 平台之網路芳鄰功能而在 Linux 與 Win32 平台的資訊應用交流間扮演重要角色的軟體 Samba 之開發團隊,不久便發出新聞稿 "Samba Team Asks Novell to Reconsider" 以嚴正口氣要求 Novell 重新考慮這件事。接著 Novell 和 Microsoft 又就專利問題發生齟齬。原本對程序人員與使用者而言該是好消息的合作案,因為這之中的法律工作遠多於創作工作,令美事變壞事。
OpenJDK
自從 Sun Microsystems (昇陽) 公開 Java 開發工具後,迄今已有十年。在這值得紀念的十週年時, Sun Microsystems 宣布以 GPLv2 釋出 Java Developer Kits (JDK) 的源碼,並啟動包含 OpenJDK 在內的開放源碼計劃。對自由軟體界無疑是豪華大禮一份。
這項開放源碼的動作雖然遲來 (包含 IBM 在內,許多組織都在規劃各自的開放源碼 Java 工具) ,但總比不來的好。最值得一提的是, Sun Microsystems 的 OpenJDK 不使用自己設計的 CDDL (Community Development and Distribution License) 授權釋出,而改用 GPLv2 授權釋出。 Sun Microsystems 承認「GPL v2具有相當有力的規範,在業界的創新都能被檢視與共享情況下,有助於每家產品間的相容性。」(CNet新聞: 昇陽採用GPL公開Java原始碼)。但另一方面, Sun Microsystems 也和 Linus Torvalds 一樣不考慮未來採用 GPLv3 授權。這顯示正在草案階段中的 GPLv3 有許多內容尚未形成共識,還要很長一段時間才會定案。