Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Java Programming

Gosling on Opening Java 453

An anonymous reader writes "It sounds like James Gosling's nudging Sun closer and closer toward open-sourcing Java, as requested variously by IBM, Eric S. Raymond, and Richard Stallman, though not by JBoss's Marc Fleury. 'Developers value Java's cross platform interoperability and reliability,' Gosling writes, adding 'If we do something to make Java even more open-source than it is already, having safeguards to protect the developer community will be something we pay a lot of attention to.' Surprisingly, 'the creator of the Java programming language,' as Sun usually calls him, seems to be at odds on this issue with his own CEO, Scott McNealy. So, who should have custody of the child, the father...or the boss?"
This discussion has been archived. No new comments can be posted.

Gosling on Opening Java

Comments Filter:
  • by JessLeah ( 625838 ) * on Saturday May 01, 2004 @06:26PM (#9030272)
    Java is not open-source at all [gnu.org].

    (Pre-emptive response to the argumentative sorts who point out the various GNU Java projects: These are not "Java proper". Java is a Sun product, and it is not open-sourced.)
  • What's important is (Score:5, Interesting)

    by Rosco P. Coltrane ( 209368 ) on Saturday May 01, 2004 @06:33PM (#9030318)
    that they open-source it before Sun tanks, or before some nasty company takes control of it. In short, they ought to do like Netscape did, and I'm sure even McNealy would rather do that than any other alternative...
  • Gosling??? (Score:3, Interesting)

    by Anonymous Coward on Saturday May 01, 2004 @06:35PM (#9030330)
    Worth noting that Gosling is the one who produced the first non-free version of emacs, which was a direct motivation for RMS to produce the GPL!

    He also produced NeWS which was superior to X in almost every way... except... it wasn't open either!

    I've always thought that Java will become open source over Gosling's cold dead body, but maybe he'll prove me wrong.
  • From the article:
    "Developers value Java's cross platform interoperability and reliability. They're afraid that if Java is open-sourced then someone will try to fragment the community by creating incompatible versions of Java and ignore the community process, just like Microsoft did. Microsoft did a lot of damage to the community and many developers strongly do not want that to happen again."

    Microsoft is one of a handful of entities in a strong enough position to be able to do a lot of damage to the community.

    In the present situation, that damage could be avoided by writing a License that, for example, specifically excludes 'any employee of Microsoft'.

  • by pfafrich ( 647460 ) <richNO@SPAMsingsurf.org> on Saturday May 01, 2004 @06:55PM (#9030460) Homepage
    The benefits of making Java fully open source therefore seem overrated. Isn't the availablity of the source most important? Or perhaps I'm misunderstanding something ... For most users I'd agree with you, for me personally the current way Java is licensed seems fine. The one thing which could happen is that people could fork the source to try some language extensions, something like adding aspect oriented programming (aspectJ) or adding in operator overloading. Sun could keep their community process for the main branch.

    A lot of this just seems to do with the name Sun could feel good about being "open source" GNU can feel good about another OS project, IBM can feel good about making it happen and Microsoft can feal confused. But it does not mean anything really changes for developers.

    Maybe there needs to be a distinction between and Open Source License and an Open Source Development Process. Just because the code is open source does not mean they need to follow the same development model as Linux.

  • by Anonymous Coward on Saturday May 01, 2004 @06:57PM (#9030474)
    He was (and still is) a Sun employee and developed Java during that time, by today standards any product developed by an employee is property of the company, so even McNealy is the father, McNealy is just the obnoxious uncle that says wierd things when is drunk.

    Gosling was just a surrogate father.

    BTW what happened to the other people around OAK project?, did sun killed all of them and throwed them into a ditch?.
  • by Anonymous Coward on Saturday May 01, 2004 @07:04PM (#9030517)
    As has been pointed out, it's a programming language with an environment. Open sourcing it is irrelevant. What it really needs is ISO Standardisation - so that the test suite is not a moving target as defined by a single vendor.

    For goodness sake, MS did that for C# and environment that it requires. Anyone can implement it and MS get no say and no kickback.
    Please may Sun do the same for Java.

  • by Anonymous Coward on Saturday May 01, 2004 @07:16PM (#9030586)
    Anyone is free to make their own implementation of a Java framework. There's an (outdated) list here [dwheeler.com] of alternative implementations (and possibly more here [geocities.com] as well).

    For example, SableVM [sourceforge.net] and Joeq [sourceforge.net] are the first two that I found on Sourceforge (and there are several more).

    So it's not really a question of "open sourcing Java" - because there are already open source implementations of Java (and a few commercial ones as well). It would be a question of Sun opening up their reference implementation of Java.

    So the main advantage of opening up their reference implementation would be to focus the software community's efforts more on one Java implementation and to stop the fragmentation. People would still be free to develop their own Java compatible VM's & compilers, but it would provide less of an incentive for them to do that if there's one central, relatively community-oriented distribution.
  • by mattyrobinson69 ( 751521 ) on Saturday May 01, 2004 @07:29PM (#9030657)
    GPL isn't giving it away. its not as if you have to pay for it anyway. whats the difference between freeware and GPL to shareholders?

    all it means is that the OSS community can make it better, and Sun can, if they want, use it more in their operating systems or whatever to get more money.

    how is GPLing something thats already freeware giving it away?
  • Why don't ........ ? (Score:2, Interesting)

    by Usagi_yo ( 648836 ) on Saturday May 01, 2004 @07:31PM (#9030670)
    The people who want open source Java just buy it from Sun and then make it open source. I'm sure Sun would sell it for a billion or so.

    Oh, wait. You want something Sun spent 100's of million dollars developing, and protecting for free. Like 100% really free.

  • Solaris & Java (Score:5, Interesting)

    by Alan Cox ( 27532 ) on Saturday May 01, 2004 @07:53PM (#9030810) Homepage
    Except that it seems "Solaris maybe, especially if we can knock Red Hat, Java unlikely even though its creator gets it".

    Sun need to keep a tight rein on the java name, and maybe the standard process. You want it to be called Java, you make it pass the test suite. That bit makes sense, although its hard to take too seriously given all the things out there like vnc java versiosn "patched to work with macos", "patched to work with ie5" etc.

    What matters is that a JVM+class library called "Java" or "J2EE" etc behave in the defined way. Just as "Posix" and "LSB" matter. Implementation, reference code, no reason that can't be truely open.

    In the Sun case the fact some of the interface specs are secret for tests for some of the extensions is not umm helpful. Imagine C++ programming where you had to sign an NDA to open a file 8)
  • by woodhouse ( 625329 ) on Saturday May 01, 2004 @07:57PM (#9030833) Homepage
    Well I suppose this is supposed to be funny, but actually, the idea that goto is always evil is just wrong. There are a few occasions when it's justified:

    Try finding a better way to break out of an inner loop. For example:

    for (int i=0;i<n;i++)
    for (int j=0;j<m;j++)

    if (blah[i][j]==1) goto doublebreak;
    doublebreak: ...

    To exit from a function, while cleaning up properly afterwards:
    if (error) goto error;
    ...
    if (anotherError) goto error;
    ...
    error:
    close(files);
    delete stuff;
    return -1;

    Well, ok, that one is pretty much covered by exceptions in Java, but in C it's useful and justified.
  • by Anonymous Coward on Saturday May 01, 2004 @08:03PM (#9030862)
    there is concern that looking at the code taints you for life, unlike open source.

    FUD. The license specifically grants you the rights to study the code for research and learning purposes. This not an NDA.
  • Artistic Licence? (Score:5, Interesting)

    by erikharrison ( 633719 ) on Saturday May 01, 2004 @08:15PM (#9030937)
    When we say "Open Sourcing" why do we really mean "GPL"? Granted, the GPL has the advantage from Sun's point of view, as they get any changes back.

    But Perl was released for the longest time under the Artistic licence, which (IIRC) allows derivitive works, but doesn't allow you to call them Perl. This could keep the one, true source of Java unsullied by broken or incompatible implementations yet gives everybody else the hope that when Sun tanks Java won't.
  • Re:Response to Mono? (Score:2, Interesting)

    by r.jimenezz ( 737542 ) <rjimenezh AT gmail DOT com> on Saturday May 01, 2004 @08:26PM (#9030995)
    Thanks for the thorough reply. I confess I'm not a big Mono fan for a number of reasons, but what you've said is 100% true. Java is being disregarded as a desktop alternative on what is perhaps the last front it had other than the server side, given that Windows developers want (and justly so) tools that allow them to e.g. write natively to the System/Application Event Log, etc., and the war on the browser is long lost to Flash.

    We do agree, then, that Miguel is doing this based above all on personal preferences about the language and not necessarily based on platform capabilities or deficiencies. And it might just be the right call especially because of the multi-language thing.

    (Not that your previous post meant differently, but as I said earlier I needed a bit more detail. Thanks again!)

  • Re:Why open Java? (Score:5, Interesting)

    by Ogerman ( 136333 ) on Saturday May 01, 2004 @08:29PM (#9031013)
    I think that there is exactly one person who thinks that Java should be GPLd.

    As opposed to what other license? (L)GPL would probably be the best choice for Sun because it ensures that people cannot create proprietary forks (Microsoft anyone?). BSD or similar less freedom-guaranteeing licenses would be an awful choice. And if you think Java shouldn't be open source at all, well.. you're just an idiot. It's going to happen whether Sun wants it to or not. This whole discussion is only a question of whether they remain a player.
  • Re:RTFA, my friend (Score:3, Interesting)

    by njcoder ( 657816 ) on Saturday May 01, 2004 @08:30PM (#9031018)
    "JessLeah is totally wrong on this point: the reason that the GNU Java projects are not "Java proper" is not that Sun didn't make them, but that they are immature and don't completely implement that Java spec. I think this may help explain why RMS is so sore (and unfair) on this point: GNU Java kind of sucks, even after many years of work, his "free software" baby isn't winning in the Java world, and nobody really cares except GNU ... so there's a bit of sour grapes."

    I'm trying to find a sound file of a hammer hitting the nail on the head. I can't find one... so just use your imagination.

    The people actually working on the GNU java stuff don't want Sun to open source Java. they want to prove that they can do it themselves with out their help and do it better. There was a post on one of the previous slashdot threads by one of the developers indicating that.

    The reality though is that most of the open source projects don't get to where they are based on a large community of volunteer developers. The big gains in open source software have been by corporations donating money and paying their developers to work on open source solutions. I'm not saying this is bad, but it should be recognized.

    Maybe RMS is still just ticked off at Gosling over emacs.

  • FSS Java. MS Java. (Score:5, Interesting)

    by solprovider ( 628033 ) on Saturday May 01, 2004 @08:39PM (#9031062) Homepage
    For an implementation to use the Java trademark, it must pass Sun's tests. The source is already "open" (easily available). Anybody can make changes and call it "Java", as long as it still passes the tests.

    That sounds like "open source". We all want Java to retain its portability, so Sun requiring the tests is valid. The tests could be (and effectively are) under the control of the JCP, so that process is "open", although it is design by committee, which frightens me, but is the basic premise of the FSS community.

    The issue is how to make Java free to redistribute. Under the current license, no JVM can be included in a totally free distribution. Is there some license that can protect the trademark and portability that allows free distribution? Can such a license be written that is acceptable to Sun?

    Transfer the Java trademark to the JCP. Fund the JCP to protect it. Allow the JVM and all associated tchnologies to use the trademark if the tests score 100%. Allow free redistribution of certified code.

    You could still modify your JVM for internal use, but you must recertify it if you want to distribute it. Is that close enough to the intent of the GPL to satisfy RMS? (No, they would not be using the GPL, but that should solve all real world issues without allowing Java to fragment.)

    ---
    MS JVM:
    Why do most people assign to malevolence what can easily be assigned to stupidity?

    MS did not write a JVM that met the standards. In THIS case, they did it to add proprietary extensions to better allow virus and other integration with their OS.

    But MS has a very lengthy record of not being able to write programs very well. Their original claim-to-fame was the BASIC interpreter that could not interpret the BASIC language. Their version became the standard we all learned to program in the early 80s, but they did not change it because they wanted to steal the market from all those other (nonexistent) BASIC interpreters; they changed it because they did not have the technical ability to write it correctly.

    They have since won many software markets. I do not know of one case where the software they sold to capture the market was better than the current leader. The closest examples are when they leveraged MSWindows3 to capture the GUI market while making certain their competitors did not have the APIs to be able to write software for MSWindows3. Usually MS writes programs that work worse than the existing leader, then use their marketing and monopoly to conquer.

    Every programmer will tell you that it is easier to write an application when there is already a working version. MS has repeated failed to match the existing functionality for their early releases.

    Did MS change the JVM because they wanted to corrupt it? Or was it simply that they did not have the technical expertise to write it without corrupting it?
  • by Nom du Keyboard ( 633989 ) on Saturday May 01, 2004 @08:40PM (#9031065)
    Although it has been said in part in various different ways, there is one reason to open source Java:

    Once open sourced, it cannot ever be bought out and buried.

    We all know who I'm talking about. And frankly, Sun does look pretty weak these days. I wonder if they'll be around in 5 years.

  • it's not about GPL (Score:3, Interesting)

    by hak1du ( 761835 ) on Saturday May 01, 2004 @09:32PM (#9031304) Journal
    Please enlighten me? Why GPL Java?

    That question itself points out a core problem with Java: it isn't a standard, it is just an implementation: Sun's implementation (and its derivatives: IBM, Blackdown, Apple). None of the implementations (gc, kaffe, waba) that don't derive from Sun's are even close to being compatible.

    Before we can talk about Sun open sourcing their Java implementation, we have to talk about making Java an open standard. Right now, it is further away from that goal than even Microsoft Windows is.

    In any case, it doesn't matter anymore. I doubt that it makes much of a difference at this point what Sun does with the Java license. I think the world is going to move away from Java over the next few years--Sun screwed up.
  • Re:Why open Java? (Score:2, Interesting)

    by BokLM ( 550487 ) * <boklm@mars-attacks.org> on Saturday May 01, 2004 @10:01PM (#9031434) Homepage Journal
    open source does not mean fragmentation.
    Do you know php, perl and python ?
    Theses are 3 languages which are Open Source projects (and they are not the only ones). Is there any fragmentation ?
    Why couldn't it be the same with Java ?
  • Re:A good thing (Score:3, Interesting)

    by Bert690 ( 540293 ) on Saturday May 01, 2004 @10:11PM (#9031474)
    Very well said. I've reported several bugs in Java runtimes. Years back they were quite responsive, but the last one I submitted was well over six months back, and I have received no word yet. The previous bug I reported took about 7 months to be confirmed. That's pathetic. And I always submit concise source code clearly demonstrating the problem.

    Sun -- either get your act together, or open Java up.

  • by BokLM ( 550487 ) * <boklm@mars-attacks.org> on Saturday May 01, 2004 @10:18PM (#9031510) Homepage Journal
    There is no reason for this.
    Do you see a lot of programs that require you to install their "version" of python or perl to run ?
    Do you know a lot of .sxw files that require you to install their "version" of OpenOffice ?
    Do you know a lot of .tex that require you to install their "version" of LaTeX ?

    The MS VM was different, they volontary created something incompatible to break portability (that's what they often do).
  • Re:Artistic Licence? (Score:3, Interesting)

    by shaitand ( 626655 ) * on Saturday May 01, 2004 @10:38PM (#9031569) Journal
    "But Perl was released for the longest time under the Artistic licence, which (IIRC) allows derivitive works, but doesn't allow you to call them Perl. This could keep the one, true source of Java unsullied by broken or incompatible implementations yet gives everybody else the hope that when Sun tanks Java won't."

    The gpl will do this as well, sun java remains sun java so long as sun continues to maintain it and passes it off to another to maintain afterward.

    Anyone can get the specs and write their own implementation of java now. Java being gpl'd doesn't change this, it simply means that people can write improvements and possibly get them into the main official java instead of having to write a custom vm to get the simplest change implemented.

    Under the gpl we won't see a reappearance of the Microsoft Java VM either... or if we do it will have to be gpl'd.
  • Re:Why open Java? (Score:2, Interesting)

    by JustinXB ( 756624 ) on Saturday May 01, 2004 @10:40PM (#9031576)
    This is an improper example. Try taking some C source and compile it on both RedHat and SuSE -- same results. Fragmentation would be if RedHat or SuSE modified the Linux kernel or supporting GNU software so much that code would need significantly re-written to work.
    Red Hat is modifying the kernel, don't read the headlines? Although it won't effect the userland, try apply many existing patches against the existing Red hat source code. There will be problems.
    Not even close. Read this: http://www.xouvert.org/faq.html#2.1 It should be especially noted the strong emphasis on sticking to standards. There are many X11 implementations and they are very much compatible, though some are at different levels of specification advancement.
    We'll have to wait and see.
    This is an example of diversity, not fragmentation of an original standard. Would you say that there should only be one programming language? I should hope not. Each has its advantages. It should be noted, of course, that there is a growing movement to harmonize GNOME and KDE, but that's another topic of discussion.
    It's fragmentation. There's no reason why KDE couldn't have used GTK. But they didn't, and now programs are less portable.
    It can be easily argued that the only reason C compilers have extensions like this is because there does not exist as active a standards body as say, W3C or SCP, to recommend changes before they are tried experimentally. There are also different ISO C versions. I believe some of the GNU C "extensions" are actually part of the C99 ISO spec. Solaris's native compilers may be using an older spec, but I'm not familiar. Also, you can use the -pedantic option with gcc and it will warn you of any code that uses extensions beyond C89.
    You admit it's fragmentation, good. You're learning.
    There is little to make me believe a similar scenario will exist with Open Source Java. The industry has learned since C/C++ the value of creating standards early and then sticking with them. As I said, Open Source developers tend not to deviate when solid standards exist. Java is a solid standard.
    Then you're a fool. There are millions of reasons why Java will fragment if it goes open source. The C standards are solid standards, but GNU made extensions anyway. Open source developers do what they want, standards or not.
    How much have GNU ClassPath and the various open JVM's hurt Sun and Java? And how much have they deviated from Java specifications? The answer to both is: not at all. If Sun relaxed licensing on code for their implementations, it would only serve to promote their own over the clean-room versions.
    Open source zealots would choose an open version over Suns clean-room version. It's what you people do. Sooner or later, the Sun version isn't mainstream.

    IBM, for example, could fork the code and really open up to the community. The entire open source community gets behind the IBM version and, after awhile, Sun disappears.

  • Re:Why open Java? (Score:3, Interesting)

    by AstroDrabb ( 534369 ) * on Saturday May 01, 2004 @11:18PM (#9031686)
    When your fortune 500 company standardizes it's web browser to Mozilla on the desktop, then you can come back and claim some sort of victory.
    I work on back-end servers, middleware and web apps. When we develop web apps, they are standards compliant and do work on Mozilla, IE, and other browsers so there is no need to "standardize on IE". In fact, the majority of problems reported from home users have been from IE users that have had their computers taken over by spyware and the like thanks to the great security of IE. It would save most companies tons of money in support if they did "standardize" on Mozilla.
  • RTFA (Score:1, Interesting)

    by Anonymous Coward on Sunday May 02, 2004 @02:21AM (#9032219)
    Why this surprises me, I don't know, but for god's sake, stop seeing the world with Linux coloured glasses and see it as it really is.

    Gosling's position on open-sourcing Java is well understood:

    http://today.java.net/jag/page7.html#62

    OSS has absolutely nothing of value to offer Java.
  • by Per Bothner ( 19354 ) <per@bothner.com> on Sunday May 02, 2004 @02:52PM (#9034916) Homepage
    I did not make judgement about the reasons they have for not including it, but there is nothing in the Sun's JRE license that prevents a linux distribution from including it. Proof of that is that many do include it.

    No, that is just proof that of lots of people (including distributions that ought to know better) are incredibly sloppy about licenses.

    Of course they can distribute JRE - but may they? Are they violating the license - or encouraging others to violate the license? The license puts rather strong (if vague) restrictions on any GNU/Linux/*BSD distribution who wants to (legally) distribute the JRE, and a general-purpose distribution that does so is probably violating the license. Not a good idea.

  • Re:Why open Java? (Score:2, Interesting)

    by t4k1s ( 706242 ) on Sunday May 02, 2004 @03:37PM (#9035187) Journal
    .Net+C# or even J# is similar enough to Java to attract former Java developers and to leverage the marketing done by Sun for Java. Sun promoted portable bytecode as being essential, JIT compiled code as being competitive with native compiled code and these same advantages Microsoft is using now to promote its .Net. So, they are actually using Sun's effort already and imho you could already consider .Net as a Java fork.

Waste not, get your budget cut next year.

Working...