Open source software should be developed by different contributors in decentralized fashion. I understand that Open JDK is reference implementation of Java which is open source and it allows contributions towards security and bug fixing. I believe Oracle makes most of the contributions to Open JDK. Does Java qualifies as Open source ?
Why Is Java Called Open Source When Development Is Not Decentralized?
javaopen source
Related Solutions
Harmony is Apache's clean room version of J2SE without the patent liability issues and a friendly open source license. The truth of the matter is that a significant percentage of the current J2SE stack is Apache code. This includes the XML parser (Apache Xerces) and XSLT engine (Apache Xalan), just put in a different package. However, there are a number of APIs that are encumbered by patents and the "OpenJDK" isn't really that open.
The chief issue that caused Apache to leave the JCP is a long standing issue that existed before Oracle bought Sun. The JCP rules and bylaws require all participants to provide acceptance and compatibility testing suites to all JCP members. Sun, and subsequently Oracle, refused to do this for the TCK. In essence, they proved that the Java Community Process was neither a process for the community nor was the Executive Committee a committee of executives (quote borrowed from an Apache Officer--I forgot exactly which one). Essentially the EC did not or could not require Sun/Oracle to honor their own bylaws for the JCP.
Due to this legal/process problem Apache Harmony cannot be officially certified as a compliant JVM. For all the well known cases, I'm sure it is compliant, but there are probably a few corner cases that the team isn't aware of that are not compliant. The Java stack is huge.
As to why Apache won't release Harmony or any other project under a restricted license, the Apache name means something. All of their software is released under the Apache Software License (ASL), without exception. The license is both corporate friendly, and provides a commitment to ensure all users of the code are free from legal and patent issues when they use the code. If they made an exception for even one project, that affects what the Apache name stands for. It is one of the core tenets that made them successful thus far.
The main reason for asking for copyright assignment is that it gives you the right to change the license on your code. This might be desirable if you later want to sell the same code under a proprietary license.
Trolltech did that with great success for many years, by releasing Qt under the GPL while selling the same code with a proprietary license to commercial developers who wanted to keep their source private.
However, sometimes companies ask for copyright assignment for nefarious purposes. The code that now drives Sourceforge was once GPL, but the main copyright owner, at the time VA Linux, asked all the contributors for copyright assignments without telling any of them that they were doing so so they could close the source completely and sell the code as a purely proprietary product. That's just plain wrong.
If you don't plan to ever sell your code under a separate proprietary license - known as "dual licensing" and you think you will be happy with the license you initially choose, there's not that much point in asking for copyright assignments.
Best Answer
The definition of "Open Source" provided by the Open Source Initiative makes no mention of accepting contributions, or how software should be developed.
You can read it here:
The term "open source" has no fixed definition. It means different things to different people.
The other point to make is that the word "Java" means lots of things:
So, when you say "we call Java open source", that is an over-generalization ... and in many cases wrong.
Yes. According to the definition linked above.
According to your personal definition of open source, maybe no. But I doubt that your personal definition would get much support. Even in the Free Software community.
You might be confusing Open Source (or open source) with "The Open Source Way". The latter is described as:
... but there is no "definitional requirement" that Open Source software be developed that way. Or open source software either.