Slashdot Mirror


Will Sun Open Source Java?

capt turnpike writes "According to eWEEK.com, there's an internal debate going on at Sun whether to open-source Java. (Insert typical response: "It's about time!") Company spokespersons have no official comment, as might be expected, but perhaps we could hear confirmation or denial as early as May 16, at the JavaOne conference. One commentator said, "Sun should endorse PHP and go one step forward and make sure the 'P' languages run great on the JVM [Java virtual machine] by open-sourcing Java." Would this move Java up the desirability scale in your eyes? Could this be a way to help improve what's lacking in Java?"

28 of 700 comments (clear)

  1. If they do, it will all depend upon the license. by khasim · · Score: 5, Insightful

    "Open Source" covers a LOT of licenses.

    What changes and how would depend upon which license was chosen.

  2. No by aliquis · · Score: 5, Insightful

    "Will Sun Open Source Java?"
    No, haven't they already said that? Like hundreds of times? And does it really matter?

    "Sun should endorse PHP and go one step forward and make sure the 'P' languages run great on the JVM [Java virtual machine] by open-sourcing Java."
    "No", who would run PHP on Java anyway? Why? Why would open-sourcing it help?

    "Would this move Java up the desirability scale in your eyes?"
    No, Java is already desirable in my eyes.

    "Could this be a way to help improve what's lacking in Java?"
    No, what is lacking?

    People who complain that Java is slow, should be open-sourced, and so on have never seemed to had a clue.

    1. Re:No by Enonu · · Score: 5, Insightful

      Hear Hear!

      Will people stop trying to move Java towards a culture that won't keep Java up to the same standards Sun has? There's a reason why the top two server side platform these days are .NET and Java, and it's because a there's a quality standard and completeness not found elsewhere. The next time I look at another configured by altering it's code, hard tied to MySQL, non-tiered POS LAMP application, I'm going to cry.

      The only place I ever see Java going is perhaps to be bought by another bigger company who has a similar path. My only hope is that it's IBM because their Java apps are of a higher quality than Sun's, and they've done such good work with the Eclipse platform.

    2. Re:No by JanneM · · Score: 5, Insightful

      People who complain that Java is slow, should be open-sourced, and so on have never seemed to had a clue.

      Irrespective of any ideological issues, there are a few reasons the current situation hurts Java a bit.

      Foremost for quite a few readers of slashdot is that free Linux distributions can't include Java in their default install. That means Java-based apps are not going to be included either. And since users need to jump through quite a few hoops to get Java installed (don't say "it's easy" - for most people anything beyond using their package manager is too high a hurdle), you can't assume it will be available on desktops in general.

      The second issue is that Java does not really play well with the desktop. I have set up my desktop to run fine using three languages - English, Swedish and Japanese - and made sure everything from localization to character input works smoothly. But Java does not cooperate; it has its own way of dealing with CJK characters and needs its own fonts and separate setup to work. I have fiddled a little with it, but have never gotten it to work properly (especially being able to run an app in Swedish while still being able to input Japanese). And since it uses its own input method, it does not share the local dictionary so typing becomes frustratingly different from any other application I use. And since the code is not open, distributions can't fix these interoperability issues.

      Both of these issues serve as disincentives from using Java apps and from writing them in the first place.

      --
      Trust the Computer. The Computer is your friend.
    3. Re:No by Anonymous Coward · · Score: 5, Funny

      The next time I look at another configured by altering it's code, hard tied to MySQL, non-tiered POS LAMP application, I'm going to cry.

      Of course, any equivalent app in Java would have more lines of opaque XML configuration than the "POS LAMP application" has code. It will also be slower, eat several times as much memory, and depend on specific versions of two dozen frameworks.

      The Rails version, OTOH, would be about 4 lines long and deployed before the Java guys managed to fire up their Eclipse bloatware. It would, however, be about the same speed as the Java app.

      The Lisp version would never fail, would have source code in the form of a haiku, could tell the future and control the weather. It will never be written because all those parentheses look funny.

    4. Re:No by Cederic · · Score: 5, Insightful


      Sorry, but when I'm dealing with code written offshore by developers of mixed ability in a system integrating my mainframe to my fulfilment systems with customer web access, online payments, content management and back office consolidation thrown in then I want a language that's immediately readable.

      Perl is exceedingly brief to write. It's also very difficult to read.
      PHP/Python are better, but most code I see is frankly horrible.

      With Java the APIs and libraries - even third party, even open source - have descriptive names. They make sense. You can figure out what's going on from the method and classnames, without having to go and read them.

      This makes unfamiliar code easier to read. I've done Delphi/C/C++/perl/PHP programming, and none of them have as easy to read code as Java. I value that a lot.

      That you have to type an extra 32 characters to open a file? Good! Hell, you're not typing enough already - 'in' is a bad name for a variable. How about making it descriptive, tell the reader what you're reading.

      Modern IDEs do most of the typing for you. The clarity of the code that's written is more important than the extra two seconds you need to write it.

    5. Re:No by shish · · Score: 5, Insightful
      Why do none of your other language examples have an explicit buffer layer? You should add that, then see what the result is :P People in other languages have become used to reading chunks of a file into a buffer then parsing a bit, then reading a new chunk -- java people can just read what they want, when they want; IMHO adding a bufferedreader is a small price to pay to get rid of all the manual buffering~

      While you're at it, make it read objects from a gzip compressed network stream:

      new ObjectReader(new GZipReader(new SocketReader(new Socket("1.2.3.4", 42))));

      (I'd really like someone to demonstrate this in other languages; having started with java and moved to C, things like gzip stream reading and network access seem like such unnecessary pains in the ass that I've never bothered to learn them properly...)

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
  3. Re:If they do, it will all depend upon the license by SoloFlyer2 · · Score: 5, Informative

    I currently avoid Java like the plauge, my reasons are the same reasons that java isnt included in debian... http://www.debian.org/doc/manuals/debian-java-faq/ ch5.html#s-license-concerns if they address those license concers i would be much happier...

    --
    "I reject your reality, and substitute my own" - Adam Savage
  4. Save Apache some time ... by SickLittleMonkey · · Score: 5, Insightful

    ... and just do it.

    WINE did it for Win32 and Mono did it for .NET, so Java *will* be open source some day anyway. Sun needs to get at least J2SE out there before .NET runs on every electronic device available.

    Now that Sharp's Zaurus has dropped Java, .NET is looking like the only alternative for managed coding on handheld platforms. (Cellphones are not yet good PDAs, ok?)

    SLM

    --
    main() {1;} // zen app
  5. Bad idea by cpuh0g · · Score: 5, Insightful
    Why do people just assume that saying the magic words "open source" will automatically improve a particular piece of software? Rarely do the most vocal proponents of "open sourcing" something actually get involved and start contributing to the codebase. It's all about religion for the most part, unfortunately.

    I still fail to see the benefits of "open sourcing" Java. How will it be improved? It's not as if the engineers at Sun are stupid and don't know how to engineer enterprise software. Don't you think Sun has heard that same complaint from some major league/big $$$$$ customers and done everything they could to improve said performance?

    Even if they *do* open it up, Im sure the slashdot community will still hate them because they don't use a GPL variant license. Its a lose-lose situation for Sun, I don't get why they would even consider it. Is there a business case that will generate a 9-figure revenue jump from giving away the source for Java? I don't see it, but Im sure someone around here will happily clue me in.

    1. Re:Bad idea by goldsounds · · Score: 5, Insightful
      Rarely do the most vocal proponents of "open sourcing" something actually get involved and start contributing to the codebase. It's all about religion for the most part, unfortunately.

      Rarely do the most vocal critics of "open sourcing" something actually understand the rationale behind free software, which is NOT to have the best code, NOT to have the most secure code, NOT to ship a product the fastest, NOT to contribute to the code, NOT to get something for free, or even to become the "commodity" implementation of a specification.

      The best reason to "open source" something is purely and simply the freedom to access the code behind the software you are running; the freedom to change, or port to another platform, the software that you purchased or downloaded. This is the original philosophy of the Free Software Foundation, and the GNU project, who were collectively the inspiration for the "open source" movement.

      So if you're wondering why anything less than a GPL license is unsatisfactory to the hairy, unwashed free-software factinista, why don't YOU look up the facts and get a clue about the software freedoms that may, one day, mean that your descendants can read e-books, watch movies and examine the collected creative output of humanity unencumbered by the imposed obscurity of closed-source software, DRM and other impositions on our freedom.

      Yes, this is about religion. It's about an idealogical divide between people who would rather have free-as-in-beer convenient software, rather than free-as-in-freedom software that preserves your rights. Frankly, your arrogant pragmatism nauseates me.

  6. Are you kidding me? by Anonymous Coward · · Score: 5, Funny

    Open sourcing Java? Are you kidding me? Chaos would reign. Every month new features would crop up and we have to keep learning and learning and learning. Look at Ruby on Rails, new features every couple of days. Nobody can keep up.

    No no no. Let Sun handle Java.

  7. Why Should Sun Do This? by javacowboy · · Score: 5, Insightful

    Writing a fully compliant JVM takes a lot of time and a lot of effort, especially the class libraries. Sun spent years writing that code, and none of the JCP partners can be bothered re-writing it themselves.

    IBM, BEA, Oracle, etc pay Sun to license their source code so they can release compliant JVMs.

    So, it should be no suprised the the open *cough*IBM*cough* source community "demands" that Sun open source Java. Guess how much money a certain company would save getting free source code that they're paying to license now? In the same of "the open source community", they'd like nothing better than to get the #1 competitor's hard work for free so they stop having to pay them for it.

    The Java spec is open for anybody the re-implement, the source code is viewable by all, and the JDK is a free download. Sun has stated that they won't stand in the way of Apache Harmony or any other open source project that aims for a full open source implementation of the JVM/JDK spec.

    So what exactly is the problem?

    --
    This space left intentionally blank.
  8. Re:This would help by WebMink · · Score: 5, Informative
    it just requires spending the money to get it certified.

    Actually, FreeBSD were given a license at no cost by Sun, and any not-for-profit organisation with a need for access to a Sun-maintained compliance test kit can get it at no charge. So it's really just a matter of having the motivation to ask.

  9. "Sun should endorse PHP" by oSand · · Score: 5, Funny

    Yeah, because what the world needs is more php.

  10. Personally I don't want Java open-sourced by layer3switch · · Score: 5, Funny

    I fear, some smart ass Java programmer will fork off the Java OpenSource and give some crackpot name like "Javalava" or "JavaJ" or "JuJu Bean" or "Grande Capacino"

    I am scared...

    --
    "Don't let fools fool you. They are the clever ones."
  11. Mustang changes this by ashpool7 · · Score: 5, Informative

    The SCSL is going away in Java 1.6 in favor of some much more liberal licenses. I'll be able to compile and use it on my production FreeBSD server at work and not worry about being "tainted" as a programmer.

    http://www.internetnews.com/dev-news/article.php/3 437481

  12. PHP and Java is oil and water by benjymouse · · Score: 5, Interesting

    PHP is probably one of the best (worst) examples of what a language would look like if it was designed and developed incrementally in an open source community. It's hack upon hack upon hack. It's backward compatibility breaking changes is just about every point(!) release. Register_globals enyone? Magic quotes? Ambivalence towards types/objects - "type hinting". Arguably (and freely admitted by the designers) PHP is *not* a well designed language. It's a pragmatic ooops kind of language whose main advantage is a large (albeit somewhat amateurish) user base, and free availability. Java on the other hand - if anything - tends to be over-engineered. Swing is actually more flexible than even .NET Windows Forms (which was designed later). It's easier to combine widgets, e.g. put textboxes inside tree nodes, etc. Swing may be a little slow, but nothing Java has ever had that "hackish" feel to it. It's always well thought out. Same thing could be said about JSF, JDO and certainly EJB. Sun has always taken great care of minimizing BC breaking changes. Sun has always taken pride in being a little on the conservative side, i.e. only introduce well understood technologies. This has been received well by the enterprise developer community. PHP is nowhere near that yet. There's still tons of BC breaking changes in store for PHP developers when PHP finally will get namespaces, unicode support etc. To put it simple, the primary virtues of Java is nowhere to be found in PHP. And frankly, if PHP is the way a language looks like when it's designed by an open source community, open sourcing Java would possibly destroy it. A model like eclipse where it's formally open sourced but in reality still maintained by a single, competent organization might work, though.

    --
    Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
  13. Re:This would help by XaXXon · · Score: 5, Insightful

    Please don't forget that utorrent requires Windows to run.

    uTorrent is NOT self-contained. It requires the Windows API to run. This part of its footprint is not shown when you look at its memory usage, but that first 256MB of RAM that windows uses is the reason uTorrent looks so small.

  14. Re:Third-Party JVM by Call+Me+Black+Cloud · · Score: 5, Informative

    People must be tired to mod you up. Performance isn't really an issue anymore and hasn't been for a couple of years. Blaming any perceived slowness on Swing is like saying C++ is slow because of Windows overhead. Most Java code doesn't make use of Swing (think server-side). As for the "122 ms", well, you just made that up.

    Other problems with your post: Eclipse is an application; Swing is a language feature. A Smalltalk derivative (Squeak) is not a suitable replacement for Java. I'd go so far as to say Ruby and Python aren't either, though both are very powerful and are better suited to some tasks than Java.

    Nice try at a troll...subtly nonsensical.

  15. Re:This would help by icebattle · · Score: 5, Informative
    "1. Restrictive licenses make it more difficult to reasonably deploy than any competing technology in a linux environment."

    Pretty meaningless comment, unless you can supply some examples. I've done consulting and development for a number of large, lawyer heavy organizations, and none of them had a problem deploying Java solutions on linux. None.

    "2. JVM is fat fat fat, it uses way more RAM than is reasonable."

    Sadly uninformed, probably due to severe lack of experience with large applications. Per example, a couple of years ago I worked in a team that bid on and developed an application that, in a nutshell, receives up to 20Megs per sec of market data, breaks it up into itty-bitty messages, and then makes it available to any number of subscribing clients. Call it a proxy, if you will. We developed the app in pure Java, using the new NIO functionality. We competed with another team who started out in C, moved to C++ midway through, and were barely in a position to go alplha when we were ready to deploy. The client, since they were paying and had a lot of anti-Java staff, insisted on waiting, even though the delivery date had long since passed. When they finally had something to show, the apps were launched on identical hardware, and allowed to run 24/7. Our app ran smoothly, uninterrupted (except for a blown network interface) for the duration of the test. The other team had to restart their app several times a day, resulting in unnacceptable outages. Their restart time was, likewise, poor. Their app required 2Gigs to run. Ours ran happily under a Gig.

    The client paid both teams for their efforts, then licensed our solution.

    So, my quesion then is, where's the fat?

  16. Re:Amazon is not LAMP by iamdrscience · · Score: 5, Interesting
    Amazon is not LAMP.
    Quite right, they prefer COAL -- C, Oracle, Apache, Linux.
  17. Re:This would help by chthon · · Score: 5, Interesting

    I have the impression that the last couple of months I see more people on Slashdot mentioning Common Lisp as a replacement for Java.

  18. Re:Third-Party JVM by LarsWestergren · · Score: 5, Insightful

    The other main problem is Checked Exceptions, which force a programmer to write "try{" before the body of every method and "} catch (Exception e) {}"

    No, not EVERY method. Just methods that that can reasonably fail (for instance I/O related operations), and that doesn't "know" how to handle the problem themselves. This helps you create well defined APIs, which in my opinion is one major reason there are so many frameworks and open source projects for Java.

    Although relatively useless (if not harmful), these checked exceptions lead to a minimum of 122 extra CPU cycles per method invocation.

    Evidence of this? Besides, it has been said so many times, but appearently it has to be said again. Processing cycles keep getting cheaper. Programmer hours keep getting more expensive. Trading a few cycles for a feature that helps you create more stable and transparent code is sensible.

    catch (Exception e) {}

    That is just about the worst thing you can write. Ok, maybe catch(Throwable t) {} is worse. That the first editions of Bruce Eckels Thinking in Java books were littered with those is evidence he just doesn't get checked exceptions.

    --

    Being bitter is drinking poison and hoping someone else will die

  19. Re:If they do, it will all depend upon the license by houghi · · Score: 5, Interesting

    That is the reason that with SUSE you can decide yourself wether or not you use it or not. e.g. for the upcoming 10.1 version the CD1-5 are pure OSS. There is an additional CD6 that will hold the non-OSS stuff, like Opera and Java.

    That way SUSE lies the choice with the user, not with the distribution. If the user still decides to use it (and many will) they still have all the advantages as they have with the different other packages that are included with SUSE, including security updates.

    --
    Don't fight for your country, if your country does not fight for you.
  20. Re:This would help by Anonymous Coward · · Score: 5, Insightful

    Programmer time is much more expensive than processor time these days. Therefore, many current programming languages are optimised to save programmer time first. C and C++ were designed in a time when processor cycles were extremely expensive, and therefore are optimised to save time at runtime instead.

    As you have seen, java typically gets you results more quickly than C. In this case, since you simply took less time to get to your basic functionality, you could take more time to think about how to code more efficiently, and ended up actually writing faster code in the end.

    However, java is not the only modern programming language out there. People have designed several new languages in the past decade. It seems reasonable to assume that some of those people deliberately set out to improve on java. Compared to such languages, java might appear to be very inefficient.

    I'll leave it up to you to compare and decide. For instance, here's a comparison for web applications, done at JPL. (YMMV):

    http://oodt.jpl.nasa.gov/better-web-app.mov
  21. Re:If they do, it will all depend upon the license by Bastard+of+Subhumani · · Score: 5, Funny
    If Sun were to GPL Java, it would be unstoppable.
    Java programs already run for ever.
    --
    Only three things are certain; death, taxes, and apocryphal quotations - Ben Franklin.
  22. Re:If they do, it will all depend upon the license by afd8856 · · Score: 5, Insightful

    You may not realize, but "libraries are the new language". Seriousely, what good is a cool language if you have to reinvent the wheel everytime you want to have something like a report printer with print preview - a bit upset on python, with which I'm fighting right now to get something nice for a business app, I would really like something like jasper reports for python. Drawing on the DC with wx sucks for more then one form, and using reportlab to generate pdfs sucks as well. I've settled on doing a mono-platform hack, generating html with simpletal and calling its print preview dialog through ActiveX.

    --
    I'll do the stupid thing first and then you shy people follow...