InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Apache Harmony Questions Sun Regarding JCK License Terms

Posted by James Kao on Apr 11, 2007

Sections
Operations & Infrastructure,
Enterprise Architecture,
Development,
Architecture & Design
Topics
JCP Standards ,
Java ,
Legal Matters ,
Licensing
Tags
Java SE ,
Apache Harmony
Yesterday, Geir Magnusson Jr., VP of Apache Harmony, wrote an open letter to Sun Microsystems expressing dissatisfaction with IP rights restrictions in the Java Compatibility Kit license and frustration over the lack of traction discussing the matter with Sun. The project has also written a FAQ detailing and clarifying their position.

Apache Harmony seeks to create an open source (Apache licensed) implementation of the J2SE 5 specification. The current state of the project runs on both Windows and Linux, with more than 95% of the Java 5 API implemented and able to run common programs like Tomcat and Eclipse.

Harmony's point of contention is the presence of "field of use" restrictions in the JCK license:
A "field of use" restriction is a restriction that limits how a user can use a given piece of software, either directly or indirectly. To give a concrete example from the Sun / Apache dispute, if Apache accepted Sun's terms, then users of a standard, tested build of Apache Harmony for Linux on a standard general purpose x86-based computer (for example, a Dell desktop) would be prevented from freely using that software and that hardware in any application where the computer was placed in an enclosed cabinet, like an information kiosk at a shopping mall, or an X-ray machine at an airport.
InfoQ was unable to obtain a copy of the JCK license for direct review, but in an interview with Magnusson, confirmed that "field of use" restrictions were the Harmony project's only issue. To clarify the flavor of those restrictions, he wrote:
I think if you read Sun's [JDK license] carefully, they do have a restrictive FOU:

http://java.sun.com/javase/6/jdk-6u1-license.txt

For example [from paragraph 1]: "Programs" mean Java applets and applications intended to run on the Java Platform, Standard Edition (Java SE) on Java-enabled general purpose desktop computers and servers.

(Notice that technically speaking, you can't run this on a laptop. Clearly this is an oversight.)
Sun appears to have been surprised at Harmony's announcement and posted a preliminary response: "Sun has only just received this letter and since Sun had previously considered this matter private, we need some time to consider it before we provide a more detailed response."

Response in the community has been mixed, with a larger portion of support falling in Harmony's camp. Sam Ruby was supportive of Harmony and wrote:
I sincerely hope that Jonathan quickly intervenes as he is in a unique position to assess the trade-off between the short term benefits in the credit column against the intangible costs in the debit column of (1) actively destroying the community that Sun has taken so much time and effort to foster, (2) mortgaging the future of Java, and (3) undermining Sun’s own open standards efforts.
In contrast, Tom Ball felt that this was a marketing ploy on Harmony's part:
This request/ultimatum seems to have come out of left field. Is Apache Harmony so close to completion that it's ready to officially pass the JCK? Not according to its project page, which states it has 95% of the Java API complete but not necessarily compatible. Now, 95% of the Java platform is a big milestone for which the Apache Harmony engineers deserve a lot of credit for their hard work, but how useful would several thousand JCK errors be to them at this point in the project cycle?

I just looked at my calendar and noticed that thirty days from today is smack in the middle of JavaOne, two days after Jonathan Schwartz's keynote. Mystery solved! This isn't about the Apache Harmony team's ability to work effectively -- it's instead a classic JavaOne slimy marketing ploy Java engineers have to endure each year. With the JavaOne schedule moved up I guess the mud had to start being thrown sooner.
This is not a marketing ploy by Paul Fremantle Posted
Doubts about Tom Ball's arguments by Stefano Bagnara Posted
  1. Back to top

    This is not a marketing ploy

    by Paul Fremantle

    This is not a marketing ploy. The situation has been under discussion for a long while now. Apache takes this very seriously. Fundamentally, Sun is breaking its contract (the JSPA) with the rest of the community.

    I'm afraid we don't have a good enough sense of humour to do this as a marketing ploy!!!

    Paul Fremantle
    ASF Member

  2. Back to top

    Doubts about Tom Ball's arguments

    by Stefano Bagnara

    I wrote this message to Tom Ball (SUN(tm)'s technical director) blog.. it appeared, and after few minutes my comment disappeared and I'm no more entitled to post comments to his blog. Of course anyone can do what he wants with comments in his own blog, but maybe someone is interested in what I wrote.

    As far as I understood it, it is not only a trademark issue, and it is not a technical issue. It is a LEGAL issue.

    My understanding is that JVM implementors are granted patent licensing only if they passes the JCK tests and they are declared Java(r) compatible implementations.

    This means that ASF is not allowed to distribute the JVM as is even if they don't want to use the Java(r) trademark and simply use their own code!

    They cannot do this because SUN(tm) is preventing them from obtaining Patents rights.

    I believe Tom Ball is either "too easy" in his analysis or he knows exactly what is happening and is simply trying to defend SUN in the mud.

    I don't know which one will paint a better picture for him: I would not feel comfortable in both.

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.