Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Java Open Source Oracle

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

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."
This discussion has been archived. No new comments can be posted.

Java's Open Sourcing Still Controversial Ten Years Later

Comments Filter:
  • Sorry but (Score:1, Interesting)

    by Anonymous Coward

    Is Java still relevant? Sure a lot of people use it, but they've already made their decision 10-20 years ago. It's not an industry that is growing.
    Yes there is more Java source every day, but that may mean the same people who have been coding for the last 10 years haven't retired yet.

    • Do you even Android, bro?

      • AWT and Swing don't work on Android. A lot of what you'd expect in standard Java is stripped out of whatever Dalvik/ART thing that Android is supposed to be.
        It's certainly a close relative of Java, and you can target Android with javac, but you can't put a Java logo on any of the Android stuff and a lot of apps would not run without significant modification. Maybe that's a technicality like Linux not being Unix. Or maybe it's deeper like a motorcycle is not a car, even if the two use similar components and

        • by AuMatar ( 183847 )

          Its a technicality. Most java programs don't use AWT or Swing. Missing a few libraries doesn't mean the language isn't used. And as for its use outside of Android- its still very popular. C# is MS only, and the new generation of languages like Ruby have utterly stalled- you'll find a few companies using it but not many and mostly smaller companies Java is still huge in the backend and will continue to be for at least the next decade or two.

        • You behind the eight ball. Please allow me to get you up to speed.

          The replacement for Swing, JavaFX, works on the desktop, iOS and Android through a technology called 'Gluon':
          http://gluonhq.com/ [gluonhq.com]

          • So someone other than Google and Apple has ported to these respective platforms. And interesting, if unofficial, option.

      • by WarJolt ( 990309 )

        Android doesn't use the JDK, bro.

    • Yes, you just don't see it. In house stuff is still done in it, and code still has to be maintained/extended/added on to.
    • Re:Sorry but (Score:4, Insightful)

      by Anonymous Coward on Sunday November 13, 2016 @01:02PM (#53276449)

      For middleware stuff, definitely. We've just started a new large scale project using Java 1.8 as our implementation language. And frankly, for as long as it's up to people like me, writing anything larger than a simple test script in the interpreted language that is the current fad du jour, is not going to happen.

    • http://www.tiobe.com/tiobe-index/

      • by Anonymous Coward

        The ratings show Java has 1.65% *fewer* engineers than last year.

        • by WarJolt ( 990309 )

          If we are going by the derivatives(what I call the fanboy model), C is in real trouble and go is the clear winner.

    • It's a legacy language. They last for incredibly long, but it's not what a forward-looking CTO would have their people coding in today. And too bad for the Apache project, which seems to have tied its own relevance to Java.

      Google surely regrets the decision in Android now. For both technical and legal/financial reasons. I was one of their defense consultants in Oracle v. Google. Made some money, but how useless for the industry. Google is transitioning to some sort of Android/Chrome meld now.

      • Why wouldn't Java be something a forward thinking CTO would be using? Java's been the intro CS language for a large number of schools for a few decades and the fact it's a "legacy" language means there's a huge developer pool and well tested tooling available. It's also not tied to the Windows platform so it's largely free from platform lock-in.

        As for Apache's relevance...the Hadoop platform is huge and not going away any time soon. Lucene is the basis for two of the most popular enterprise search systems,

        • > Why wouldn't Java be something a forward thinking CTO would be using? Java's been the intro CS language for

          Because many intro CS majors learn actively dangerous practices which take years to unlearn. Excessive recursion, excessive object oriented programming, a blanket refusal to look below or above the designated layer of abstraction for the particular class assignment, code that does _not_ run correctly on even slightly different versions of Java due to hidden dependencies and the consistently hand-m

      • It's a legacy language. They last for incredibly long, but it's not what a forward-looking CTO would have their people coding in today.

        I'm afraid you paint with too broad a brush. That would be like saying "every forward-looking CTO would have their people coding in ${language}."

        The fact is that any forward-looking CTO will evaluate their company, their market segment, their industry as a whole, and many other factors and then make a decision. For example, it would be ludicrous not to consider what technologies your potential customers are comfortable with. If you are marketing a bank or other large financial institution, for

        • On the other hand, if you are not marketing to someplace that will continue to have a Java shop whether you like it or not, you will be more concerned with time-to-market. Which can make or break a company. Java isn't a great language for time-to-market, you can arrive at a finished product in another language more quickly. It's not great for programmer utilization either, for the same reason.

          Now me, I just always declined to learn Cobol or Fortran because I didn't want to be mired in that part of the world

      • by gangien ( 151940 )

        It's a legacy language.

        ...

        OK then, what are the current alternatives?

        • "Go" if you want it to be compiled. It will take a bit of leadership, but breaking away from the old always does.
    • Re:Sorry but (Score:5, Informative)

      by jellomizer ( 103300 ) on Sunday November 13, 2016 @03:49PM (#53277197)

      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.

      • Python, with no Oracle fingers to come back at you sometime in the near future.

      • In my (somewhat jaded) experience, there is only one factor when choosing a language for a professional project.

        * Did you hire C++, C, Java, Python, Ruby, JavaScript, Erlang, or Haskell programmings?

        Every inquiry to the engineering staff by management will yield some pretty biased opinions. Schedule estimates for a language that isn't the primary language of developers will come back with a lot of padding (200%+). And the developers will start to get cagey about risk assessment for languages that none of th

    • Pretty much every piece of enterprise and business software written, certainly on the server side, for almost the past twenty years.
    • by jonwil ( 467024 )

      Judging by the number of jobs I see asking for "3 years commercial experience" with Java (and usually a boat load of other technologies I have never heard of) there is clearly a lot of demand for Java (Java EE most likely) in the corporate world.

    • Is Java still relevant? Sure a lot of people use it, but they've already made their decision 10-20 years ago. It's not an industry that is growing. ...

      Any system that is still "growing" is not stable enough for use. People I know are just now looking at Java as a possibility.
      Of course, we do jobs that are bit bit more serious than a video game or a phone "app"... ;-)

  • Where IS Java today? (Score:2, Interesting)

    by Anonymous Coward

    As far as I can tell, it's used in a lot of backend stuff, where the hardware is well known and rarely changes.

    As far as I can tell, it missed the mark on one of its major purposes: Write once, Run anywhere.

    However, it did hit the mark on one thing: Attract corporations who want to employ cheap fools who, beyond copying "solutions" from blogs and pressing the "play" button, don't really know what they're doing.

    • by Anonymous Coward

      Attract corporations who want to employ cheap fools

      Nope. Microsoft still has a lock on this part of the market.

    • I'm a pretty big fan of Jenkins. (As are a few other people).

    • Except it is used for Blu Ray players, hardly a homogenous environment. And there are other embedded environments its used in as well (Set Top boxes).
    • by AuMatar ( 183847 )

      Write once run anywhere failed. But we also found out it isn't important. THe fact is you don't change your backend server's OSes that often (or really ever), so the ability to port it without effort just isn't that valuable. Its an idea that would have rules the 80s (had it worked), but is pretty pointless in the 2010s.

      • by jiriki ( 119865 )

        Write once run anywhere failed. But we also found out it isn't important. THe fact is you don't change your backend server's OSes that often (or really ever), so the ability to port it without effort just isn't that valuable. Its an idea that would have rules the 80s (had it worked), but is pretty pointless in the 2010s.

        This is just wrong. Most of the Java development happens on Windows/Linux while the backend servers run on Linux/ZOS/Cloud/whatever. So while you seldom port the backend servers themselves you always port while going from a local to a production environment. So this is really relevant and it's working and saving lots of money.

        • by Kjella ( 173770 )

          This is just wrong. Most of the Java development happens on Windows/Linux while the backend servers run on Linux/ZOS/Cloud/whatever. So while you seldom port the backend servers themselves you always port while going from a local to a production environment.

          You're contradicting yourself. And you do it because you can, if you couldn't you'd run it in a VM or via VNC/RDP/X forwarding or some other form of remote desktop. Even in the worst case a dev environment is really not a big deal, I assume most app developers work on a PC/tablet and deploy to cell phones for performance/usability testing. I assume that simulation is what mainframe developers do too, they don't each have one at their desk. Nobody is saying it's a useless feature, but it's probably not a kil

          • I would rather use Java than C#, not because of the language so much (they are fairly similar); but because C# programmers are often complete morons. (Note: I'm not talking about you, friendly reader).
      • by mark-t ( 151149 )

        Write once run anywhere failed.

        I had always been hearing this about java, but never found it to be true in my own experience. Maybe I was just late to the party on java, coming in right around the time 1.4 was coming out, but every java project I was ever any part of always worked perfectly without any additional effort on every platform for which there was a JRE at least at the level of JDK that was used to write it

      • by dshk ( 838175 )
        I have very positive experience with Java, "write once run anywhere" does work. We moved complex applications without any changes most of the time. In rare cases the required changes was few and obvious, like case sensitivity difference between Linux/Windows. This also applies to Java upgrades too, 99% of the time there were no issues. I do not have a similar good experience with any other language.
    • As far as I can tell, it's used in a lot of backend stuff, where the hardware is well known and rarely changes.

      As far as I can tell, it missed the mark on one of its major purposes: Write once, Run anywhere.

      First of all, did you even read the first sentence that you wrote? While back-end systems that use Java do have pretty stable hardware, it's not like companies don't shift to different platforms all the time. Companies I worked for shifted backend hardware all the time (like Solaris to Linux). For enter

    • Write once, Run anywhere.
      Obviously only on platforms where Java is supported ... a no brainer actually.
      As far as I can tell, it does the best job so far in comparison with other languages.

  • 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,"

    Although Java was nominally made available under an open source license, Sun/Oracle retained intellectual property that allowed them to sue people for independent implementations. That's not truly open source. Java's so-called "open sourcing" was an intellectual property trap. Sun's proprietary control over Java and their hostility to third-party i

    • There is no free and open platform that is in anyway similar to Java.
      Except the free and open Java, of course.
      So to wich platform should people have contributed their efforts in your opinion?

  • by TuringTest ( 533084 ) on Sunday November 13, 2016 @01:31PM (#53276577) Journal

    Tim O'Reilly was heavily influential in switching momentum from what was known as "free software" to "open source" (see The Meme Hustler. [thebaffler.com])

    The "community" aspect of the first was centered around empowering users, making sure that the four freedoms described by the FSF were defended to the end. The shift to "open source" meant that project efficiency was valued over user freedom.

    This brought us to the current status, where young developers share their code on github without ever worrying to stamp a license on it, and permissive licenses are preferred to protective ones. We'll never know whether free software would have become the default, or dissappeared almost entirely, had this shift never occurred.

    • Free Software has politics that have nothing to do with most of what Open Source means, so it makes sense. I use lots of Free Software and I love using it, but some of the proponents actually want to tell me when I'm free, they want to ensure they think that I'm free by protecting me from myself and not letting me have BSD-licensed stuff. I mean, Free Software traditionally would actually support banning non-"Free" software, right? That is actually in there if you dig into it. Users can't be trusted to prot

      • Re:O'Reilly did it (Score:4, Interesting)

        by TuringTest ( 533084 ) on Sunday November 13, 2016 @02:58PM (#53277027) Journal

        There is no way that Free Software was going to become mainstream except by becoming just another flavor of Open Source.

        See, people used to say the same thing about Wikipedia. Yet the Free Encyclopedia that Anyone can Edit is licensed under the GPL-like GDDL and the share-alike version of Creative Commons.

        And I can write software under the Apache license and everybody can use it, Free Software and Open Source alike! Yay!

        ...provided you don't step on any patent landmine, and that a big player doesn't try to shut down your competing start-up. What good is free software if you can only make small projects with it, and can't use it to compete with the entrenched industry?

        Have you heard of the UNIX wars? People using UNIX systems in the 70's felt the same way, and then large companies started to try closing free reuse of the platform and collecting royalties, as well as closing the source of essential drivers and modules, so the "free system" with "source available to all" became a clusterfuck of competing systems with unclear legal status.

        Given the current state of things, the same is bound to happen sooner than later; in fact, it already happened in the case of Java. The Oracle/Google case is a recent example of how you can't really use open source software if there aren't strong guarantees, and Google had to pay for it.

        In the old days before the OSI, a project like Android would have been shunned by the FLOSS community; Google would have been forced to open-source the full stack, or build their own proprietary from scratch.

        As Google needed at the time to come up with a mobile operative system, the second option would have been too slow. If the community have made a strong stance, they would have had a chance to make it happen, and all our cells could have been running a nearly-open stack, instead of a nearly-closed one; and projects like Meego and LiMo might have had a chance (there were very BIG players behind them). Don't subestimate the power of politics.

        Unfortunately, as the above linked article explains, the focus shifted from guaranteeing strong freedom to all industrial parties (which is what FLOSS was about, not merely allowing users to get the software for free), to guaranteeing fluidity of development for small teams; the possibility to grow big without interference from the main players was lost in the process.

        • Maybe it is true that "people used to say," maybe not. You have to flesh out those ideas though, or they have no value. What did they actually say that is relevant here?

          You confuse your history, mostly by your willingness to use sloppy language. Simply clearing up how you communicate your ideas would bring you the answers and refutations. ;)

          UNIX wars were because of unclear copyright; wave hands; assert that open source is heading for the same result, without addressing the fact that they have clear copyrig

        • Free and Open Source software are, in practice, almost exactly the same thing. The difference is that Free Software is a political and social movement, while Open Source is a way of getting software written. You seem to think that copyleft licenses are Free Software, which is not the case, although that's where copyleft came from. BSD-style licenses were part of Free Software from the start, and Stallman says so.

          You also don't seem to understand the Oracle vs. Google lawsuit.

          One of the things in con

  • by PPH ( 736903 ) on Sunday November 13, 2016 @01:31PM (#53276579)

    Sun meant one thing by 'open source'. Oracle has a different interpretation. And I can never tell with them if they plan on allowing an acquisition to flourish independently, die from inattention, take it out behind the barn and shoot it in the head, or morph it into something unrecognizable to suit hidden agendas.

    One would think that a company finding that one of their products' market has grown immensely would be happy. And they would research the reasons why it grew into that market and work to protect and promote those attributes. But no. Not Oracle. They seem to be intent on making Android/Google regret the day they went with Java. "This will teach those stinking customers never to choose our products again!"

    Oracle got its start building systems for the government. Specifically, the NSA and other similar TLAs. So it should be no surprise that they are always up to something devious and underhanded. Old habits die hard. Openness is anathema to these kinds of outfits. And I'd be very careful about building a product or system on top of something owned by Oracle where I didn't have a clear exit strategy or plan B.

    • I can never tell with them if they plan on allowing an acquisition to flourish independently, die from inattention, take it out behind the barn and shoot it in the head, or morph it into something unrecognizable to suit hidden agendas.

      The answer is Yes. Yes, they are going to do those things; they will plan for it to flourish, and see it die because their attentions forgot necessities, they will take it out back and shoot it, and they will still try to morph it into some other thing, because somebody told them the brand has value!

    • Huh? OpenJDK is awesome and is truly Open Source. This is not the same as Oracle's Java - although they have common ancestry and feed in to each other.
  • Reza Rahman is just right on this one. Oracle doesn't get to flail around and change what open source is just because they want to.
    Comes as a very weird statement to talk about Java being open source when Oracle keeps insisting on the lawsuit against Google/Android for copyright violations of the Java API. If Java really is open source, a lawsuit based on copyright violations of it's API doesn't make a whole lot of sense.
    Even more when the original owners were and still are ok with it, the whole thing becom

Understanding is always the understanding of a smaller problem in relation to a bigger problem. -- P.D. Ouspensky

Working...