March 03, 2005

Java 是否該 open source?

又來炒冷飯了。

今天 Sun Microsystems 的 Dan Baigent 在他的 blog 上寫到 [Open Source Java advocates comment],就一位 Sun 的職員的角度回覆 Keith Lea 提出 open source'd JDK 的質疑:


    The problem with this is that it fails to address the fundamental problem from Sun's perspective - why would Sun want Java technology based on Sun's implementation (which is known to be compatible) to be distributed in an incompatible way, regardless of what it is called? If the answer is to leverage "innovation" of more developers, that assumes that the innovation is of more value than the compatibility. Sun has already determined that the JCP is the way to manage compatible innovations - agree to the standard specification first, then build reference implementations and test suites that allow multiple, compatible implementations of the standard. Is it really the "specify first, then innovate" approach that open source advocates disagree with?

我將這個訊息告訴 Kaffe Developers 之一的 Dalibor Topic,以下節錄 #kaffe IRC channel:


    07:17 < jserv2> http://blogs.sun.com/roller/page/dbaigent/20050302#open_source_java_advocates_comment
    07:25 < robilad> jserv2: heh, he means me :)
    07:25 < robilad> i've discussed a bit on javalobby with him
    08:31 < robilad> jserv2: done
    8:32 < robilad> mjw: i discussed a bit with him on javalobby
    08:32 < robilad> i guess sun sends their folks out their ocassionally to fight for the true java
    08:32 < robilad> :)
    08:33 < robilad> "But if it is clear that the Java logo can and should mean compatibility and that no incompatible implementation should be allowed to have the logo, isn't it also logical that no compatible implementation should be allowed to not have the logo?"
    08:33 < robilad> what a load of rubbish :)
    08:33 < robilad> clearly a licensing guy.
    08:33 < tromey> yeah, that seemed idiotic to me
    08:37 < robilad> i've cleared him a bit up, then.
    08:38 < mjw> Hehe. Funny post.
    08:40 < tromey> I lost the url already
    08:41 < tromey> where did you post your response?
    08:41 < mjw> http://blogs.sun.com/roller/page/dbaigent/20050302#open_source_java_advocates_comment
    08:41 < tromey> thanks
    08:44 < robilad> i just suck live, i'm ok when i have a moment or two to think about my lines :)

於是 Kaffe、GNU Classpath 維護者與 GCJ hackers 們又開始討論了,究竟 Dalibor 說了什麼呢?引述 comment 如下:


    Dan, as you can see by lots of open source implementations of real standards, like CORBA, HTTP, TCP/IP, etc, the open source developers have no problems following standards, so your speculation is ... wrong :) It's pretty simple. Sun does what they do, which leads to other people writing a lot of working, better, and free code from scratch to make the non-free implementation unnecessary. To Sun's huge fortune, these people want to be compatible, they do not want to break the standards. So if Sun's as bright as I think it is, it will reach out to those people and help them achieve their goal of being compatible without throwing funny obstacles in their way. If Sun needs more time to cross the golden bridge to working together on free software, so be it. Just don't expect people to wait 8 more years for that to happen, just sitting by and twiddling thumbs :)
    cheers, dalibor topic

開放的規格相當多,Sun Microsystems 也有參與制定,當然不乏主導的項目,但是開放規格之所以稱為「開放」,就是能夠將規格制定與實做能夠區分出來,在很多角度來說,Sun 絕對可以在此議題做得更好。我之前的 blog [自由軟體授權與 Sun Microsystems],就點過 Sun Java 開放的態度其實撲朔迷離,就如 Dalibor 所說的,真正開放的規格,比方說 CORBA、HTTP,以及 TCP/IP 等等,Free/Open-source 開發者可以很「自由」的開發相關的實做,只要規格明確的話,而過去 SCSL 授權則讓開發者根本得不到基本的「自由」,在我去年的簡報 [Free Java 介紹](PDF 版本) 也花了一些篇幅介紹相關的限制,至於後來更新的授權方式,我也在去年 [2004 國際開放源碼研討會] 跟與會的朋友作相關的授權探討。

這個時間點有點尷尬,恰好在 [預祝 Java 十週年] 時,Sun 的網站也做好 [It's Duke's Birthday, Too!],相關的慶祝活動也不必說了,肯定很轟動,而我們這群 Free Java 的開發者在這個時間點,用力的嗆 Sun... :P

無論如何,只要 Java 技術沒有完全自由開放的一天,我們都會建議您從:
(Sun Microsystems 官方的 Java 實做)

移轉到開放、自由,但是也具備同等甚至更好的實做,這如下圖:

是的,咱們用力說: Let Java Free!
雖然我一直是 Java fan,但是這些限制與搖擺不定的開放政策,讓我對 Sun Microsystems 不免有些失望 (但是也只有 Java 的開放態度部份),所以就直接用行動表示,加入 Kaffe 開發者的行列,證明我們也是可以做出相容的環境,當然,有新血投入是更好。

由 jserv 發表於 March 3, 2005 11:19 AM
迴響

java indeed eases down the burden of developing enterprise system, since i've steped into this field. yet sun, as everybody knows, screws it up in another way; i hope open source java can setup its monument by building up significant enterprise service. though there're tons of free projects based upon java, most of them have to run on java's vm, whereas people/ enterprise are being lack of confidence to other vm, like kaffe. nonetheless, free vm need to process on for, if one day, it becomes the de facto standard. then sun, or whosoever, only what they can do is to be the follower.

jason 發表於 March 8, 2005 10:35 AM