Slashdot Mirror


Simon Phipps on the Process of Opening Java

twofish writes "Simon Phipps, the chief open-source officer at Sun Microsystems, has reaffirmed Sun's commitment to Open Source in an interview with computerworld. The focus of the interview is Simon's efforts to fully open source Java. He points out that many problems need to be resolved before Java can be open sourced — ownership, legal, access, encumbrances and relationships with Java licensees. It took Sun a full five years to solve these issues with Solaris. However Simon predicts that it won't take anything near this amount of time to complete the task with Java. Of course, one of the other concerns for OS Java is the resulting incompatible versions and breaking of the Java WORA model (Gosling himself has always been particularly concerned about incompatible forks resulting in the introduction of an open source version of Java) and this opens up additional problems for the open source Java model."

24 of 152 comments (clear)

  1. Incompatible Java forks by Anonymous Coward · · Score: 5, Insightful
    Gosling himself has always been particularly concerned about incompatible forks resulting in the introduction of an open source version of Java)
    So hold onto the trademark, the same way the Mozilla foundation do, and only let implementations that pass a rigorous testsuite use it.
    1. Re:Incompatible Java forks by Brandybuck · · Score: 3, Insightful

      To play devil's advocate, I think what they're worried about is another J++, where someone (Microsoft) creates an almost-but-not-quite Java, and then you end up with "write once run nowhere else". I don't necessarily agree with that worry, but I strongly suspect that's what's in Sun's head.

      --
      Don't blame me, I didn't vote for either of them!
    2. Re:Incompatible Java forks by Bogtha · · Score: 3, Insightful

      I think what they're worried about is another J++, where someone (Microsoft) creates an almost-but-not-quite Java

      Which of these two scenarios do you think is most likely to cause that situation?

      • People who object to Sun's non-open license create a from-scratch implementation of Java, or
      • People take Sun's open-source Java and use it directly.

      It seems fairly obvious to me that forcing people to create another Java implementation instead of letting them use the "canonical version" as they wish is far more likely to bring about another J++ situation.

      --
      Bogtha Bogtha Bogtha
  2. Java already breaks the WORA model by MarkByers · · Score: 3, Insightful

    I have a Java client on my webserver and half the mails I get are because the Java client doesn't work on people's computer. Usually this is because they have some old version of Microsoft's Java Runtime installed, which only supports Java 1.1 (badly).

    What a mess! I can't really see how opening it up will make it any worse than it already is today.

    --
    I'll probably be modded down for this...
    1. Re:Java already breaks the WORA model by 99BottlesOfBeerInMyF · · Score: 5, Insightful

      Usually this is because they have some old version of Microsoft's Java Runtime installed, which only supports Java 1.1 (badly). What a mess! I can't really see how opening it up will make it any worse than it already is today.

      Okay so MS broke the law and released an intentionally broken JVM to try and kill Java as a dev platform. The courts stopped them, but you're still dealing with the mess with a few remaining legacy systems from that time. You don't see how giving MS an opportunity to bundle a new broken version on every computer sold in the world could make things worse?

    2. Re:Java already breaks the WORA model by Andy+Dodd · · Score: 3, Interesting

      In my experience, the WORA model was broken from the beginning.

      The majority of "interesting" Java applications I've seen were restricted to a single platform for various reasons, mostly because they apparently (somehow) were making platform-specific system calls. (I don't know the exact details of this, all I DO know is that there are plenty of Java applications out there that are restricted to a single platform for whatever reason. I may be wrong about the reasons, but the fact is that WORA failed on the desktop)

      What about WORA for J2ME (i.e. on mobile devices)? The situation seems even worse. If you go to the download site for nearly any Java game designed for mobile phones, they will list different downloads for every model of phone they support, with varying filesizes. Not a single Java application designed for other phones has worked with the JVM available for PalmOS 5 devices such as my Treo 650.

      If WORA had ever actually worked, I'd accept Java's unwillingness to break it. Unfortunately for that excuse, it's hard to break something that is already broken.

      --
      retrorocket.o not found, launch anyway?
    3. Re:Java already breaks the WORA model by jilles · · Score: 4, Interesting

      I don't know about your definition of interesting but most of the java stuff I work with on a daily basis works unmodified on the three big desktop platforms (and probably everything else that runs java 1.5) and does so for the ten or so years I've been developing Java. This stuff combined is probably several million lines of code. Also all of the stuff I write in Java is 100% crossplatform, barring the odd jdk bug that somehow fell through the 60000 or so unit tests they unleash on the jdk nowadays (just a disclaimer, can't recall ever encountering one). In my previous company we developed on windows, had staging servers running linux and deployed more or less blindly to our customer sites running windows 2000, 2003, various flavours of linux and even some sun machines. Worked every time. Portability was never an issue. Not even having to test for portability issues is a huge time and cost saver.

      A good example of a portable J2ME app is opera mini which exists in only two variants the both of which work across pretty much all java capable phones except maybe for the really crappy ones, such as your Palm based one (blame Palm, not Sun). J2ME is a modular specification which unfortunately leads to the interesting situation that the more of the modules your app uses the less portable it becomes. Pretty much all of the modules are optional and with MIDP 1.0 many vendors added loads of vendor specific APIs as well. Many applications written for that mixed bag of standard and non standard extensions are not portable.

      MIDP 2.0 mostly removes the need for vendor specific APIs (though many vendors still ship them). Upcoming MIDP 3.0 is even better apparently. of course many games need to make assumptions about device specifics (e.g. screen size, number of colours, keyboard layout) which unfortunately leads to many portability issues. These problems are hard to solve and currently J2ME seems the best solution the market has come up with. Most device specific binaries of J2ME apps merely include some minor modifications, optimizations and packaging. I agree that testing for all that is a major PITA for developers. If you have a better solution that works for non trivial applications across the thousands of different brands and types of mobile phones, get some venture capital and get rich!

      --

      Jilles
    4. Re:Java already breaks the WORA model by Decaff · · Score: 4, Insightful

      I have a Java client on my webserver and half the mails I get are because the Java client doesn't work on people's computer. Usually this is because they have some old version of Microsoft's Java Runtime installed, which only supports Java 1.1 (badly).

      What a mess! I can't really see how opening it up will make it any worse than it already is today.


      Guess what! I have some Linux software that won't run on the 1.0.x kernel or with really early versions of libc. By the same reasoning this must surely mean that Linux is broken and you can't write the same code for different platforms.

      Of course this is nonsense, and isn't what WORA is about, and certainly shouldn't have been rated 'insightful'. WORA does not include some kind of time machine facility to allow software written to current VM and language and library specifications to work on 10-year old VMs and old libraries. The idea is, of course, that if you write for Java 1.4.2, your software will run on any Java 1.4.2 VM (or later) on any platform.

    5. Re:Java already breaks the WORA model by Tim+C · · Score: 4, Informative

      Another good hint is when developers have to "port" their application from their own desktop to work properly on the test server.

      In 6 or so years of doing server-side Java development, I have never needed to do that, nor have I ever heard of anyone needing to do so. I humbly suggest that if someone does find themselves needing to do so, they've done something very wrong.

  3. Quit the talking by Alphager · · Score: 4, Interesting

    or at least talk about some facts. All we hear from Sun is blabla about how they will open-source parts of Java in one or two years. What i want to know: -Which parts of Java? -WHICH LICENSE ?

  4. Other Open Source languages don't seem to suffer by Burdell · · Score: 4, Insightful

    There are many open source programming languages already (perl, python,
    etc.), and they don't seem to have a problem with forking or
    compatibility.

    If Sun fosters a good development community, there shouldn't be a
    problem.

  5. Exactly by sterno · · Score: 5, Insightful

    It is fair to say that down the line even when they do opensource it, Sun's version will be the defacto standard. Figure if they and IBM work together on new versions, there's a pretty good guarantee that there won't be any major forks. Sure, there will be forks, but invariably those forks won't be what the average corporate server is running on, etc. Since it's open source, any of the good changes from those forks can be rolled back into the main Sun standard.

    I can understand Sun's fear as Java has been a huge part of their business, but I think as long as they keep pushing the standard forward forks will be irrelevant.

    --
    This sig has been temporarily disconnected or is no longer in service
    1. Re:Exactly by beemishboy · · Score: 3, Informative

      Not that IBM is waiting to fork it, but one of the primary companies Sun worries about forking is IBM - looking at Eclipse with its SWT instead of Swing for instance.

    2. Re:Exactly by fm6 · · Score: 3, Informative
      It is fair to say that down the line even when they do opensource it, Sun's version will be the defacto standard.

      You're somewhat misinformed. Sun's implementation has never been a basis for determining what's "standard". That's because Sun's implementation, like every other Java implementation (and there are quite a few) is required to adhere to a written specification.

      People (including everybody at Sun) often say "Java" when they mean "Sun's Java implementation". That can be misleading. When you talk about "open sourcing Java" you're really talking about open sourcing a particular implementation of Java.

  6. JavaPosse discussion by tcopeland · · Score: 3, Informative

    The JavaPosse had some notes on this a while back and they seem to keep an eye on the issue. That podcast definitely worth listening to once or twice a week to keep up with the latest news.

  7. Bizarro version by Jonboy+X · · Score: 3, Funny

    Simon Phipps, the chief open-source officer at Sun Microsystems, has reaffirmed Sun's waning commitment to Open Source in an interview with some dude in bar over the weekend. "Sun tried the free-software thing. The end result was: Dirty hippies can run Solaris on their crappy little x86 boxes for free, and our stock is still circling the drain. Sun learned their lesson, and my job is rapidly being deprecated. I'll be folding sweaters at the Gap before Thanksgiving."

    --

    "In a 32-bit world, you're a 2-bit user. You've got your own newsgroup, alt.total.loser." -Weird Al
  8. Solaris - solved? by kripkenstein · · Score: 4, Insightful

    It took Sun a full five years to solve these issues with Solaris.

    Solved? We should be so lucky. Things are far from solved. If Sun had released Solaris under the GPL, that would be good and done. Instead, it's under their own CDDL, which isn't easily compatible with the far-more-common GPL. This leads to issues for interesting projects like GNU/Solaris (Nexenta), which should have been quickly welcomed by the Open Source community. Instead, Sun's choice of the CDDL makes things complicated where they shouldn't be.

    So, in short, I would not say that Sun 'solved' these 'problems' with Solaris, and I sincerely hope they do a better job with Java.

    1. Re:Solaris - solved? by kripkenstein · · Score: 3, Insightful

      You're pointing at a problem that to Sun wasn't a problem. They *WEREN'T* aming for GPL compatibility.

      I guess they weren't, since they didn't. And this is certainly a problem for the Open Source community. But this is also a problem for *Sun*, I would argue. What are the chances of OpenSolaris taking off, if the vast majority of the Open Source community can't use its code with the code they are used to? They can't improve OpenSolaris as they would like, and vice versa.

      The whole CDDL issue seems to be an attempt to challenge Linux. Perhaps they envision a 'two-power' future for Open Source, where there is the GNU/Linux camp, under the GPL, and the Solaris camp, under the CDDL, and no code shall pass between them. This sounds a bit like the cold war to me (but maybe I'm just too old and/or senile, and mixing my metaphors).

      To get back to the point, Sun open-sourced Solaris at a time when there was already a large and fruitful Open Source community. They chose not to play nice with that community, and seem to want to start a new base of power. If this is their 'solution', I'm not sure what the problem was. I find it hard to envision a promising future for OpenSolaris under current conditions.

  9. That's a popular method. by jd · · Score: 4, Insightful
    • The "red book" that defined the CD standard was the main reason CDs were as interchangable as they were. DVDs, which have no such rigorous standard to meet, tend to be less predictable.
    • IPv6 hasn't got an "official" centrally-run test suite, but such suites for the purpose of certification do exist.
    • C follows standards, rather than official regression tests, so you do get a lot more variation in quality and interchangability. In general, though, it demonstrates that simply defining a central standard is adequate for basic stuff.
    • POSIX used a mix of standards and official testing, and had a big impact on the interoperability of Unix systems - though nowhere near as much as seems to have been hoped.
    • Standards and tests by committee seem to be a Very Bad Idea. CORBA and SQL followed this road and have resulted in guaranteed inefficiency - apparently for the purpose of promoting the "extended" packages released by the vendors who created the standards in the first place.


    If the process is followed - hey, that's great, but is needs to be done right if it is to be worth the doing.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  10. Re:Someone has to say it by grammar+fascist · · Score: 5, Informative
    Java sucks *and* it's closed source. I'll stick to C, Python and Perl thank you.

    Naw. Here's the real deal, from someone who knows quite a few languages:

    - Java is adequate for just about every programming task
    - Java's generics are mostly adequate
    - Java's GUI support is good once you let Swing twist your head into a fleshy knot
    - Java's library support is above average
    - Java's floating-point performance is quite good, especially with HotSpot
    - The HotSpot runtime is freakin' amazing at what it does
    - The Java language is wordy, which mostly has to do with strict typing (and lately, from adding generics)
    - Server-side Java (JSPs, servlets, etc.) is unnecessarily complicated and probably designed by Satan himself

    Hope that helps.
    --
    I got my Linux laptop at System76.
  11. Re:As a web app developer... by Reverend528 · · Score: 4, Funny

    AJAX and DHTML are terrible for writing web servers. That's why I write all of my web applications in javascript and XUL. It takes only a small amount of rdf to turn firefox into a full-featured web server, and the pages it serves are pretty much guaranteed to look good in any gecko-based browser. Though, every once and a while the server experiences problems when someone ignores the post-it-note on the monitor and starts using the it to read slashdot.

  12. Re:As a web app developer... by Brandybuck · · Score: 3, Insightful

    Just because all you have is a hammer does not mean that every problem is a nail.

    --
    Don't blame me, I didn't vote for either of them!
  13. Who will fund future development? by Kunta+Kinte · · Score: 3, Insightful

    My main concern with Java being Open-Sourced is that Sun may lose its incentive to continue funding Java development.

    Java is not Python nor Perl. Even then, how long has Perl6 been in development? "It's ready when it's ready" is not good enough to much of the corporate world.

    People asking for Java to be open-sourced believe that this will increase the amount of resources put into Java. I'm not so sure.

    --
    Based on upvotes, Ageism is the only "-ism" Slashdotters care about and think isn't SJW
  14. Re: Someone has to say it by espressojim · · Score: 3, Interesting

    I haven't had to cast an object since I started using java 1.5 18 months ago. Generics, look into them. Also, you can put primitives into collections (via autoboxing).

    Java 1.5 made the language a LOT nicer and more expressive.