The Artima Developer Community
Sponsored Link

Java Buzz Forum
The TCK Trap

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Brian McCallister

Posts: 1282
Nickname: frums
Registered: Sep, 2003

Brian McCallister is JustaProgrammer who thinks too much.
The TCK Trap Posted: Dec 7, 2010 10:17 AM
Reply to this message Reply

This post originated from an RSS feed registered with Java Buzz by Brian McCallister.
Original Post: The TCK Trap
Feed Title: Waste of Time
Feed URL: http://kasparov.skife.org/blog/index.rss
Feed Description: A simple waste of time and weblog experiment
Latest Java Buzz Posts
Latest Java Buzz Posts by Brian McCallister
Latest Posts From Waste of Time

Advertisement

You want to fork the OpenJDK. You look at the license, see that it is GPLv2, say “woot!” and start hacking. You add the important optimization to your fork which you need, and now want to release it.

If you don’t care about calling it Java, you can, under copyright law and the GPLv2, just cut the release, publish it, and go about your business. The catch is that there are tons of patents all over the JVM, and the GPLv2 does not include any patent protections. So, while you are clear from a copyright point of view, anyone that has contributed intellectual property to the JVM/JDK, ever, is free to sue both you and anyone using your distribution for infringing any patents they hold on their contributions. Aside from breaking the law, getting yourself, and your users, sued is not generally a good thing, so we look at option number two, passing the TCK.

Passing the TCK, which is a suite of tests used to verify correct implementation, grants you patent rights to everything folks have contributed to the Java spec over the years. So, you apply for the TCK and Oracle will give you the TCK at no charge, though it will be under NDA and will tell you that the TCK cannot be used to verify that your implementation is okay on embedded devices, such as mobile phones, kiosks, or cash registers.

You smile, nod, and run the TCK, tweak some stuff in your code and behold, it passes! Now you have a problem. You can make a release which includes the patent protections (you passed the TCK) for some usages, but not for other usages (say, in a kiosk or cash register, or mobile phone). If you say “you may not use this in those cases” you are violating the GPLv2, which does not allow you to put those kinds of restrictions on your release. If you don’t put those restrictions in place you are violating patent law and open yourself, and your users, up to patent infringement lawsuits as the TCK license you were granted specifically excludes certification on them.

So, you have a choice when you publish your release, you can violate copyright law and not abide by the GPLv2, or you can violate patent law and not have rights to patents you knowingly infringe.

Welcome to Java.

Read: The TCK Trap

Topic: Rosa Parks Honored By Google Previous Topic   Next Topic Topic: Delhi BPO gangrape case: Two men arrested

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use