GNU GPLv2 的判例

OSNews 上看到 GNU GPLv2 在美國的判例:「The GNU GPL to be tested in court」。

引用的報導在「GPLv2 goes to court: More decisions from the Versata tarpit」這篇,裡面有幾個角色:

  • Ximpleware:撰寫了一套 XML parser,同時以 GPLv2 與商用版權釋出。
  • Versata:在自家產品 DCM software 使用了 Ximpleware 的 XML parser,依照後面的訴訟,看起來是沒有付錢買商用版本。而 DCM software 裡面沒有引用 GPLv2 條款,同時也當然沒有公開程式碼。
  • Ameriprise:付錢給 Versata 購買 DCM software 使用權的公司,另外取得 Versata 的授權,可以找外包商修改 Versata 的 DCM software。
  • Infosys:Ameriprise 的外包商。

起因在於 Versata 不爽 Infosys 拿他們的軟體開發同性質的軟體,結果告下去後這件事情牽扯到 GPLv2 的授權問題。

然後 Ximpleware 也跳出來告了所有人,還因為專利關係,告了 Versata 的其他客戶。

問題分成兩塊討論,一塊是 copyright,另外一塊是 patent。看了一下文章的說明,案子似乎還沒結束,但已經有些結論出來了。

在 copyright 的部份,法院要求明年二月底前必須上 patch 修正問題。也就是 GPLv2 的感染力是有效的,如果你不打算服從就要賠錢,然後把 GPLv2 程式碼拔乾淨。

而 patent 的部份有點複雜啊... Ximpleware 的控訴都不成立,不過理由沒有看懂 @_@

等有更多時間再來看其他的說明研究...

FreeBSD 10 的改變...

Zite 上看到 FreeBSD 10 的改變:「FreeBSD 10's New Technologies and Features」。

最耀眼的當然是對 GCC 的宣戰達到高潮,第一個將預設編譯器換掉的 major release。同樣的,也把 GNU 的 libstdc++ 換成 MIT license 實作的 libc++。

再來是 ISCBIND 被換掉,改用 Unbound 以及 LDNS

然後 UFS 檔案系統可以透過 growfs(8) 線上長大... XDDD

其他的改善包括了 iSCSI stack 重寫,PF 防火牆可以善用 SMP 資源,以及 ZFS 的更新。等正式出版後應該還是會等到 10.1 再上 production 吧?感覺 compiler 一換不知道會有多少雷啊 XD

關於 Android 授權 (License) 的爭論:Linus Torvalds 的說法

昨天提到的「header file 與 GPL(v2) 的「衍生作品」...」,Linus Torvalds 也跑出來講話了:「Android: Sued by Microsoft, not by Linux

It seems totally bogus. We've always made it very clear that the kernel system call interfaces do not in any way result in a derived work as per the GPL, and the kernel details are exported through the kernel headers to all the normal glibc interfaces too.

他也不認為 header file (也就是提到的「kernel system call interfaces」) 會造成 GPLv2 內所提到的 derived work。

header file 與 GPL(v2) 的「衍生作品」...

Slashdot 上看到 Richard Stallman 在 2003 年 1 月對於 GPLv2 header file (當時只有 GPLv2,沒有 GPLv3) 對於作品是否有「感染力」的看法:「RMS On Header Files and Derivative Works」,也就是「如果我用了 GPLv2 的 header file,是否我的 code 因此就要使用 GPLv2」的問題。

Richard Stallman 在找了律師談過之後,引用 header file 不足以成為 GPLv2 裡面定義的「衍生作品」(Derivative work):

Our view is that just using structure definitions, typedefs, enumeration constants, macros with simple bodies, etc., is NOT enough to make a derivative work.

這篇剛好回應最近有人質疑 Android 因為使用 GPLv2 header file 而軟體本身使用非 GPLv2 授權的問題:「Android Faces Serious Linux Copyright / Copyleft Issues with GPL」:

Google used Linux headers, but did not release Android under the same GPL2 license, which is the most basic precept of GPL. (Android is released under the Apache Commercial License.)