Slashdot Mirror


Java's Open Sourcing Still Controversial Ten Years Later (infoworld.com)

An anonymous reader quotes InfoWorld: Sun Microsystems officially open-sourced Java on November 13, 2006... "The source code for Java was available to all from the first day it was released in 1995," says [Java creator James] Gosling, who is now chief architect at Liquid Robotics. "What we wanted out of that was for the community to help with security analysis, bug reporting, performance enhancement, understanding corner cases, and a whole lot more. It was very successful." Java's original license, Gosling says, allowed people to use the source code internally but not redistribute. "It wasn't 'open' enough for the 'open source' crowd," he says... While Gosling has taken Oracle to task for its handling of Java at times, he sees the [2006] open-sourcing as beneficial. "It's one of the most heavily scrutinized and solid bodies of software you'll find. Community participation was vitally important..."

A former Oracle Java evangelist, however, sees the open source move as watered down. "Sun didn't open-source Java per se," says Reza Rahman, who has led a recent protest against Oracle's handling of enterprise Java. "What they did was to open-source the JDK under a modified GPL license. In particular, the Java SE and Java EE TCKs [Technology Compatibility Kits] remain closed source."

Rahman adds that "Without open-sourcing the JDK, I don't think Java would be where it is today."

1 of 89 comments (clear)

  1. Re:Sorry but by jellomizer · · Score: 4, Informative

    When choosing a language for professional development there are a lot of factors some technical and some not so much.
    1. Do we have a sustainable staff to maintain the project, even if a few developers leave. Java has been taught in College for nearly 20 years now, often as the primary language. This means college grads will at least know some Java. This means if you lose a developer chances are you can find a new one who will be able to understand the language. While I hear the argument that any developer worth his or her salt can pick up a new language in no time, which is mostly true. However if you putting in the job requirements skills in something more obscure some developers may not take the job, not because they are unwilling or unable to learn the language, but fear the job interview is going to hound them on details of a language they are unfamiliar with.

    2. Support. Java has a major company supporting it, as well as a decent sized community to help keep it going. So chances are if you need a module to do something crazy or unique there may be something already pre built vs. having to build it yourself wasting a lot of effort to get some minor part of the program to function.

    3. IDE Support. Sure real developers can program use edi, vi, edlin... however why make their lives difficult where you can have a fancy IDE to make sure they are not compiling invalid code.

    4. Future planning. Are you planning to just be stuck on windows, or do you want to support multiple platforms?

    5. Getting past the CEO. The CEO may not have heard of Node.JS or even Python and Ruby... But C++ and Java they have heard of.

    6. Enterprise features. While I cringe when ever I hear the word "Enterprise" in software. As the Enterprise development model is akin to career death. Being able to some of the Enterprise features to shut-up your boss. is a big thing. And some of them that are in J2EE are better than what some other languages offer.

    7. Features to ease development. A good set of defaults and settings for your job is important.

    8. Performance. Will it do the job that you want fast enough?

    I can keep going on, but there are a lot of factors in choosing a language. Sometime C/C++ and sometimes Java. Sometimes you can go with a newer language. But there are so many factors and saying Java isn't a contender is just false. It is still strong and still has a lot of development and new development. Much of it you don't see because most applications are web-based and all you are seeing the HTML output and not the internals.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.