6 Jul 2006 robilad   » (Master)

How not to license specification drafts

I've recently thought I should take a peek at what's happening with the Java Compiler API JSR, to see what all the years of effort have led to. It turned out that the recently published JSR spec draft is under one of those bogus licenses that the JCP uses per default, that make you promise to give up your freedom to develop what you want, in exchange for the opportunity to comment and help improve the respective specification.

That's bogus, of course, but that's how the JCP works. In particular, the Java Compiler API draft has the following gem of legalese in its license text:

"The grant set forth above concerning your distribution of implementations of the specification is contingent upon your agreement to terminate development and distribution of your implementation of early draft upon final completion of the specification. If you fail to do so, the foregoing grant shall be considered null and void."

Well, I don't think I'll be taking part in reviewing that spec's public draft, then, if I can't try to implement it, and keep developing my own work, after some arbitrary date.

The wisdom of creating specs behind firmly shut doors, like Sun does in most of the JSRs they lead, and simultaneously making specification review impossible for independant implementors unless they agree to stop development on their independant implementations, is rather questionable. That way, the only thing that's for sure, is that a specification gets next to no public review from people who'd be able to comment on it with practical experiences implementing it.

If the independant implementors are not supposed to be able to comment on the drafts, why publish them in the first place, or have the whole JCP system at all?

Unfortunately, the self-defeating licensing conditions of the Java Compiler API JSR public draft are no exception. In fact, the whole Mustang spec is licensed under the same conditions, judging by the license for the spec.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!