Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Sun Microsystems

Will Sun's Java Go Open Source? 519

Ritalin16 writes "CNet report that Sun Microsystems wants to send Java closer to the open-source world, yet keep it safe from harm. "Project Peabody" adds two licenses that make it easier for outsiders to see the code. But Sun stops short of embracing open-source. Sun's licensing practices for Java are closely watched. Proponents of making Java open-source argue that a different license and development process will help accelerate usage of Java, which faces ongoing competition from Web open-source scripting tools, such as PHP, and Microsoft's .Net line of tools."
This discussion has been archived. No new comments can be posted.

Will Sun's Java Go Open Source?

Comments Filter:
  • by shrewd ( 830067 ) on Thursday March 17, 2005 @02:16AM (#11962574)
    and i would completly embrace an OSS approach. sun often have the consumer in mind and understand their products and the market well....
  • off-topic-a-roony (Score:5, Interesting)

    by aendeuryu ( 844048 ) on Thursday March 17, 2005 @02:16AM (#11962575)
    Hey, is anybody using the gnu java compiler much? How's the performance on java programs made with it? Obviously there'd be some positive side effects, but exactly how much could the community benefit from having Sun's compiler open-sourced?
  • by CompotatoJ ( 848808 ) on Thursday March 17, 2005 @02:21AM (#11962592) Homepage
    "Sun has elected not to use an open-source license at this time because its commercial customers are concerned with "forking," or the creation of incompatible editions of the base Java software" Currently, Java seems to be close to, if not the lead in cross-compatibility. They do not seem like they want to lose their integrity as a stable cross-platform language.
  • by Jovian_Storm ( 862763 ) on Thursday March 17, 2005 @02:23AM (#11962606) Homepage
    Slightly off-topic, but what impact will Sun's open-sourcing of the JVM have? We already have several Open Source JVMs, Kaffe and IBM's RVM(Research Virtual Machine). Since the Java specs are anyway open, is there any point if Sun opens up the JVM implementation?
  • by bigbinc ( 605471 ) on Thursday March 17, 2005 @02:30AM (#11962645) Homepage Journal
    Why does everybody in IT have to be a fortune-teller. First, google is not going to create a global internet filesystem for the entire world and eliminate the computer. If you are a software developer. You only look 6-9 months ahead and google's take away the computer plan won't happen for 900 years. Second, Java is a simple language. Java mainly benefits from the amount of libraries and other tools that are already on the market. We have been looking at Java's source for the last several years now anyway. Nobody really gets excited. I would watch the language tools that are already out there, so don't wet your pants on java being open-sourced. Yay or nay, it probably won't effect the market too much. Geeks who live in dim-lit caves will probably have something new to play with, that is all
  • by 0x461FAB0BD7D2 ( 812236 ) on Thursday March 17, 2005 @02:37AM (#11962686) Journal
    If there is a fork of Java, it would only seek to improve Java, not change its compatibility. If the fork broke compatibility with Java (Java 2 or Java 5), no one would use it because it wouldn't work with the applications currently written in Java.

    If Sun wants to control Java's development after it opens it, then it is not true open-source.
  • by linguae ( 763922 ) on Thursday March 17, 2005 @02:46AM (#11962725)

    It would be great if the Java JDK were open-source, or at least distributed with a less restrictive license. Installing Java on "unsupported" platforms is a nightmare. Take FreeBSD, for example. First, I have to install the Linux version of Java, because for some reason, the native Java port requires the Linux version for bootstrapping purposes. Next, I have to manually fetch the sources for Java from Sun (since Sun prohibits redistribution other than from Sun's site, and the latest precompiled package for Java is for FreeBSD 4.x, which doesn't work under FreeBSD 5.3; not to mention that I can't really do anything with the sources other than compile them; the license is very restrictive). Finally, I have to compile them, which took me 18 hours to compile on my computer (I'm not trolling; the fastest computer I own is a 475MHz K6-2 with 64MB RAM; I'm poor). For Sun to advertise that programming in Java is about "writing once and running everywhere," I guess "everywhere" is defined by Sun's view on the world. The only reason why I compiled the JDK in the first place is because I need it for my upcoming classes.

    It would be great for all developers if Java were open sourced under an agreeable, OSI-compliant license. Developers of "unsupported" platforms would be able to port the JDK to their favorite operating systems (and redistribute sources and binaries of the JDK, too), which would raise the number of developers using Java, which in turn raises the number of people using Java-based applications. Next, I don't think Sun has to worry much about Java being forked. Look at C, C++, Python, Perl, and Ruby. C and C++ are ANSI-certified, and Perl, Python, and Ruby are open source. As far as I know, there aren't any forks of C, Perl, and the other languages that I've listed.

    In the meanwhile, I wonder how good are the free, open source interpretations of Java and how they stack up to the Sun JDK?

  • Patches, surely (Score:3, Interesting)

    by m50d ( 797211 ) on Thursday March 17, 2005 @02:49AM (#11962740) Homepage Journal
    It seems to me there's a completely obvious solution to this: only allow patches against their version to be distributed, not already-modified versions. And don't let modified versions use the trademark. That way it would be completely obvious which was the real java.
  • by Baki ( 72515 ) on Thursday March 17, 2005 @03:02AM (#11962798)
    Others might argue that the same forking might happen to PHP, perl etc. However, do not forget that MSFT actually has tried to fork an incompatible version of Java, they never tried such a thing with other 'cross-platform' language.

    Why? Because Java is the only real threat. Java's real importance is in 'enterprise' development; many large companies have been developing in Java for the last 3-5 years, the importance of Java in such environments dwarfs any other development platform, except maybe for cobol. Thus Java remains the most likely target for sabotage actions, and needs to be protected vehemently.

    Especially now that Java is in direct competition with .NET, further sabotage actions are not unlikely. .NET is just as protected, if not more (also protected by patents probably). For Java at least the spec is open: anyone may make an alternative implementation. For .NET there is no open formal spec at all, and alternative implementations have an unclear legal status.
  • by 0x461FAB0BD7D2 ( 812236 ) on Thursday March 17, 2005 @03:03AM (#11962807) Journal
    The reason Microsoft's JVM was a huge problem was that Microsoft used its monopoly power to push the JVM.

    However, with open-source, JVMs and JREs, from Sun and elsewhere, would compete simply on merit. The end result: everyone wins.
  • by Anonymous Coward on Thursday March 17, 2005 @03:17AM (#11962875)
    Well, JPackage is interesting, but it's still a centralized repository. Look at the faq here:

    http://www.autopackage.org/faq.html#2_1 [autopackage.org]

    Basically, centralized repositories (apt-style) do not give each publisher/software house the ability to control *their own distribution*. That, in my estimation, is the #1 reason why more companies don't distribute software packages. Sure, there's an issue of non-standard toolkits, etc, but the first obstacle to standardizing anything is the install. Autopackage provides the possibility of a single way to install AND uninstall applications on every Linux distribution. That's why it's important.

    Sun should support this on Solaris, and distribute all of the software from the projects they underwrite (OpenOffice.org) so to help get things going.

    Take some time to read through the entire site. I think it's the most important thing necessary for Linux right now. If I, with over ten years of experience using Linux, absolutely loathe installing applications and find it completely unnecessarily difficult, imagine how new and inexperienced users feel!

    That is all off-topic, but Sun is still in some kind of trouble. There are so many things they could do with Java, but they aren't, so this is why the calls to open source are intensifying. They should let it go and see what happens, then pull in all the popular innovations back into the "standard" java platform. They have the ability, but I think they're missing the leadership to do it.

    The final thing is that their overall concept of end-user experience basically sucks hard. One example is Java Web Start. While it's a really great idea, it's so awful from the experience of a user, that I refuse to use it. Another prime example is the default look of Java (not to mention the Java desktop). It looks nothing short of pixel vomit. Sure, some people create amazing applications with it, but unfortunately, most applications aren't going to stray much from the default. The result is a perception that Java apps look like trash. If JGoodies, for example, is necessary to get a decent look out of a java app, then why doesn't Sun support that? It's free (as in BSD free), so WTF? Instead they ship this bluish look with the same ugly icons. I almost fell out of my seat when I saw the new look and feel for Java 1.5. Perhaps slightly better than the defualt, but still FUGLY.
  • Re:Wrong rival (Score:1, Interesting)

    by Anonymous Coward on Thursday March 17, 2005 @03:25AM (#11962903)
    Why would they be worried about Mono? It's open source after all. :) I don't even think Mono is on the radar. It will always be held back by licensing concerns by the stain of Microsoft. Sure, everyone is going to blabber about how it's immature to reject something just because it's Microsoft. That's what MS does to everyone else, so I think it's appropriate to treat them the same way. ;)
  • by mikelin.ca ( 859891 ) on Thursday March 17, 2005 @03:39AM (#11962957)
    I agree that centralized control is a good thing. Then we don't have to wait 10 years between changes versions of the standard like with c++. Also if standard people also implement the thing, they'll only include things they intend to implement. There won't be orphaned features in the standard that never get implemented like template export.
  • gcj is nice (Score:5, Interesting)

    by DavidNWelton ( 142216 ) on Thursday March 17, 2005 @03:44AM (#11962971) Homepage
    I've been using gcj to develop Hecl ( http://www.hecl.org/ [hecl.org] ) with, and so far I've been pretty happy. I found one compiler bug, which I reported and which was then promptly fixed. At FOSDEM, I also had occasion to go visit the Free Java developer room, and the impression I get is that these guys are making enough headway that it doesn't matter what Sun does at this point. Redhat had something like 3 or 4 very sharp developers (Tom Tromey, for instance) working more or less full time on gcj and ClassPath. Sure, Sun has way more people, but for now, all the free guys have to do is play catch up with the spec, not surpass Sun. That comes next;-)

    By the way, I don't think blackdown is actually open source in that it's based on the Sun code.

    I'm curious - does the new Fedora actually ship with gcj and gij as 'Java'? That will be an interesting development to watch.
  • by killjoe ( 766577 ) on Thursday March 17, 2005 @03:46AM (#11962980)
    MS did fork java, they called it C# and .NET.

    Ms no longer cares about java now that they have their own version of it.
  • i dunno (Score:2, Interesting)

    by SweetAndSourJesus ( 555410 ) <JesusAndTheRobot@yahoo . c om> on Thursday March 17, 2005 @04:00AM (#11963016)
    Lots of people use PHP instead of JSP, even for "enterprise*" applications.

    *PS: The word "enterprise" in any software context is bogus.
  • Re:off-topic-a-roony (Score:1, Interesting)

    by Anonymous Coward on Thursday March 17, 2005 @05:16AM (#11963215)
    Hey, is anybody using the gnu java compiler much? How's the performance on java programs made with it?

    Performance is poor (even worse than MS C#, so bad in fact that it is slower than Mono). Sun, IBM and BEA's JIT'ers thrash it into the ground.
    See:
    shudo.net/jit/perf/

    BTW, it is not the compiler that folks want open sourced, but the sources to the class library.
  • Re:off-topic-a-roony (Score:5, Interesting)

    by iamacat ( 583406 ) on Thursday March 17, 2005 @05:16AM (#11963220)
    The community would benifit from having a Open Source java implimentation

    Well, there are already at least a couple - Kaffe and GCJ, why not just contribute? Sun already did the hard part - theoretical research, design, marketing - for free. Actual coding of well-researched projects is not that difficult. You can even study Sun's source code to learn general concepts for your own project as opposed to just "lifting" it.

    See, there is no shortage of C/C++ compilers and nobody is grumbling about AT&T not releasing their stuff under GPL.

    ...because it would allow distributions to distribute java runtime enviroments...

    SUSE and gentoo already do, I would guess someone (Debian?) made their own decision not to ship Java rather than being disallowed by Sun.

    Like you could begin writing Java-based GUI applications and then distibute them yourself without requiring your audiance to agree to restrictive licenses and download and install Java on their own.

    Enjoy a license-free download! [suse.com] And the winner is:

    Probably a bit to late for all that, unfortunately. Sun had it's chance and now Linux has managed code in the form of Mono (open source .NET implimentation) and C#. So sun has much more stiffer compitition then it would of had in the OSS world if they released a java runtime enviroment without restrictive licenses a few years ago.

    Do you mean Microsoft released their own .Net implementation under GPL?? I would say Java platform is far more open than MS stuff. Gnome developers just have some unexplainable love for Windows.Forms as opposed to Swing.

  • by JimDabell ( 42870 ) on Thursday March 17, 2005 @05:54AM (#11963337) Homepage

    Now, lets look at some fairly popular languages that have been open-source since the beginning: perl, python, tcl, ruby. Gee, not one of them has shown the faintest sign of forking.

    Actually, there are at least six forks of Python:

    • CPython (the canonical version)
    • Jython (compiles to Java bytecode)
    • Psyco (JIT compilation of a sort)
    • Pypy (Python implemented in Python)
    • ActivePython (ActiveState's fork)
    • IronPython (compiles to .NET bytecode)

    In practice, it's not much of a problem, I don't see why people are so scared of forking.

  • by mav[LAG] ( 31387 ) on Thursday March 17, 2005 @06:01AM (#11963355)
    Psyco (JIT compilation of a sort)

    Psyco is just an extension module for CPython, not a fork. And you can add Pyrex to that list - a fork of CPython which adds C data types.
  • by Baki ( 72515 ) on Thursday March 17, 2005 @06:34AM (#11963433)
    Of course MSFT would not openly adopt java and modify it again, since officially they are using .NET. However since .NET and Java are in fierce competition, for enterprise development .NET is still in its infancy but MSFT is trying to change this, I could imagine MSFT to sponsor or otherwise help 'grassroots' development of competing java versions.

    These versions of course would add some candy to attract developers (such as operator overloading) while destroying the 100% compatability that java offers, creating confusion and thus discrediting java for enterprise development.

    By the way, someone wrote that .NET is open and specified at ECMA. This is not entirely true: Only C# the language and CLR the VM are, but .NET including its framework and libraries are not (e.g. windows forms). For Java OTOH, the complete JDK, i.e. everything you need to build applications not only parts of it, is openly specified and available cross platform.
  • Re:off-topic-a-roony (Score:2, Interesting)

    by williamhb ( 758070 ) on Thursday March 17, 2005 @06:36AM (#11963442) Journal
    Seems to me there are big benefits on both sides.

    From the community's perspective, the Sun JVM tends to move a bit faster than the others, bringing in new features. Having a big industry name behind it makes it corporately more trusted. And linux may get the chance to integrate the JVM a bit more - so that for instance 'ps' might tell you a bit more about the java process than just that it's 'java'. Which java program is it? Tomcat? Eclipse? If linux can support running Java bytecode more smoothly and naturally than other platforms, that's yet another big insentive for Java-focussed corporations to migrate to it.

    From Sun's perspective, there is a competition between Java and Mono to become "the way" of doing managed code on Linux. Java has the advantage of a lot of programmers who know it, but the disadvantage that many people seem to think Java GUIs have to be in Swing, and Java apps not meshing completely with the native environment. (And Mono has a linux company's weight behind it). If Mono were to win that fight, and .Net bytecode became standard on both Windows and Linux, then Java's "write once run anywhere" aim would largely have been trumped.
  • Re:Mono viability (Score:5, Interesting)

    by lupus-slash ( 132575 ) on Thursday March 17, 2005 @06:53AM (#11963488)
    Given than mono can run basically the same java programs as the free java VMs (since they all use GNU classpath and the lib implementation is the limiting factor) and it runs many .net programs out of the box, mono is much more viable than any free software java implementation.
  • Re:off-topic-a-roony (Score:2, Interesting)

    by OoberMick ( 674746 ) on Thursday March 17, 2005 @07:06AM (#11963523) Homepage

    ..because it would allow distributions to distribute java runtime enviroments...

    SUSE and gentoo already do, I would guess someone (Debian?) made their own decision not to ship Java rather than being disallowed by Sun.

    Then SUSE and gentoo cannot distribute other versions of the JRE:

    Sun grants you a non-exclusive, non-transferable, limited license without fees to reproduce and distribute those files specifically identified as redistributable in the Software "README" file ("Redistributables") provided that:

    1. blah
    2. blah
    3. you do not distribute additional software intended to supersede any component(s) of the Redistributables (unless otherwise specified in the applicable README file)

    And thats the whole purpose of things like gjc -- to supersede every component!

  • Re:off-topic-a-roony (Score:2, Interesting)

    by PastaLover ( 704500 ) on Thursday March 17, 2005 @07:12AM (#11963546) Journal
    Even further off-topic, debian carries 'java-package' which basically takes a sun .bin file and wraps it in a debian package. I suppose most distributions that dont distribute java (and there are other reasons for this then the freeness, notably indemnification) have a similar solution.
  • Re:off-topic-a-roony (Score:3, Interesting)

    by rabbit78 ( 822735 ) on Thursday March 17, 2005 @07:19AM (#11963573) Homepage
    Probably a bit to late for all that, unfortunately. Sun had it's chance and now Linux has managed code in the form of Mono (open source .NET implimentation) and C#

    I don't think Mono is better than Kaffe/GCJ/... The GNU/Classpath based Java VMs are already covering most of the Java API. The biggest/most visible obstacle is probably the Swing implementation, but OTOH Mono also doesn't have a complete Windows.Forms implementation. Don't say GTK#, this is also accesible in Java via java-gnome or SWT, which both work fine.

    Gnome developers just have some unexplainable love for Windows.Forms as opposed to Swing.

    Huh? I always though Gnome developers prefer GTK?? How much applications in Gnome are actually coded using Mono? None, AFAICS. This is all self-fulfilling PR crap.
  • debugging VM bugs (Score:3, Interesting)

    by Pastis ( 145655 ) on Thursday March 17, 2005 @09:11AM (#11964021)
    One of the key thing that opening Java would give is the possibility to debug issues ourselves.

    For example I have crashes with the official Sun's VM. I am unable to debug the problem properly without access to the code (and I won't do that with a proper license). For sun I have to go all the way to create a test case, which is not easy when it comes to isolate a problem in a complex application.

    I am sure I would go faster with access to the code. Instead of spending time making a test case, which I am not sure Sun is going to have a look at.
  • by alucinor ( 849600 ) on Thursday March 17, 2005 @10:07AM (#11964387) Journal
    ... would be IBM's fork of Java. There would be enterprises that would adopt that, even if it was no longer called "Java".

    IBM would soon "Eclipse" the Sun.
  • by MarkWatson ( 189759 ) on Thursday March 17, 2005 @10:12AM (#11964438) Homepage
    The problem is that Sun's Java is not installed by default in most Linux distributions. As a Java developer (also use Ruby, Lisp, and Python a lot) the best situation for me would be to have Java installed by default on Linux and Windows - like on OS X.

    For server side Java (web apps), which is mostly what I do, it does not matter too much because setting up a JDK, Tomcat, etc. is easy enough. It is a different matter however for Java client apps. Java is not that bad anymore for GUI applications and it would be great to not have end users having to install a JRE themselves.

    BTW, natively compiling Java applications with GNU gcj is really getting to be a viable alternative to running under the JRE. I have been playing with Java and SWT also - looks promising.
  • by Anonymous Coward on Thursday March 17, 2005 @10:16AM (#11964467)
    The missing part is the class library.

    Just to give people an idea, in the current version of Java, there are 3,270 classes in the default class library. (!!)

    This isn't doing any cheating, either, like counting classes in "sun." or anything like this, this is based on the list of classes given in "All Classes" for the JavaDoc for 1.5.0.
  • Re:off-topic-a-roony (Score:1, Interesting)

    by Anonymous Coward on Thursday March 17, 2005 @01:17PM (#11966231)
    No. .net is not more open. It may ahve more implementations, but that's because the Mono people decided to implement .net instead of Java.

    I have my own theory as to why they cose to do this. I believe it's for two reasons:

    • Miguel really loves Microsoft technologies. He's admitted to this in interviews, and GNOME 1 really was a workalike copy of Windows. Not until GNOME 2 did they get any form of innovation.
    • Re-implementing something that didn't already exist on Linux gives more users quicker. The free Java projects (SableVM, GCJ, Classpath, etc...) are all further ahead than Mono, and if they had chosen the better alterinative, Java, they would have had to try to catch up to not only Sun but also the other free Java projects.

      By implementing the Microsoft solution they receieved much faster gratification, and the slashbots admiration. The community suffers greatly because of this.

  • Re:Mono viability (Score:2, Interesting)

    by lupus-slash ( 132575 ) on Thursday March 17, 2005 @01:49PM (#11966681)
    Mono has an ahead of time compiler, too, so that's kind of a moot point.
    It's true that GCJ can currently generate code that runs faster than the code generated by the mono jit, but there are some considerations for that:
    *) they need to fix their ABI and most things will get an additional indirection so it will get slower.
    *) the code generated by mono is good enough for most tasks.
    *) in real life code there are many factors involved: mono uses Boehm's libgc in a better way so many things have better memory use (we have fixes we submitted upstream for it, too). The standard library implementation is important, too, and C# allows for more efficient patterns than GCJ could not optimize (like using valuetypes, unsafe code blocks etc). For example you have the misconception that GCJ compiles code and doesn't use a 'slow' VM: this is not true: it very much uses the gcj VM, which may be fast, but it's still a VM.
    So, overall, GCJ is an interesting approach, worth pursuing by people interested in it. It's still not an alternative to mono and it certainly doesn't prove that mono is not viable:-)
  • Re:Already ditched (Score:2, Interesting)

    by daem0n1x ( 748565 ) on Thursday March 17, 2005 @01:53PM (#11966743)
    Man, if you're so sloppy as to do things like that, no programming platform will save you.
    Personally, I love Java's exception model, I think it's the best I know, because it forces you to take into account every thing that may go wrong. When one uses a language that allows unchecked exceptions, one cares about writing the code and leaves the exceptions for later, which is never...
  • Re:Mono viability (Score:3, Interesting)

    by AusG4 ( 651867 ) on Thursday March 17, 2005 @02:02PM (#11966849) Homepage Journal
    So what?

    Most benchmarks show GCJ lagging behind the modern "just in time" JRE's in performance.

    This is largely because GCJ is, well, quite poor... it certainly -could- be faster (in theory). The point is that, just because it's ahead-of-time compilation doesn't make it faster...

    The devil is still in the details.
  • by BigBadDude ( 683684 ) on Thursday March 17, 2005 @02:07PM (#11966918)
    Nop, you havent made a point. Unless your point was that there are always crappy programmers misusing OOP and Java.
    for(String s : new File(".").list() ) if(s.endsWith(".gz")) do_something(s);
    now, we just did something that does not have immediate support in the language, demonstrating the flexibility of Java. How easy is it to do that in your-favorite-programming-language ?
  • Re:off-topic-a-roony (Score:3, Interesting)

    by m50d ( 797211 ) on Thursday March 17, 2005 @02:17PM (#11967026) Homepage Journal
    Well, good, but as with these moves towards open sourcing it it seems too late. And the insane version scheme doesn't help Java at all. Anyway, I have had such horrible experience with swing, being incredibly slow and even more ugly, that I don't want to go near it again. Is the native look and feel done with true native widgets, or just by theming swing?
  • Re:Mono viability (Score:3, Interesting)

    by grahamsz ( 150076 ) on Thursday March 17, 2005 @04:58PM (#11969163) Homepage Journal
    I didn't realize .net was standardized. I know that c# is and possible the 'virtual machine' equivilent.

    Personally i do prefer java. Although c# and the .net framework are really quite impressive and are a huge technology leap for microsoft.

    There seems to be a wealth of compatible JRE's so it's hard to believe that the lack of an international standard has really hindered java.

Happiness is twin floppies.

Working...