Slashdot Mirror


Will Sun's Java Go Open Source?

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."

105 of 519 comments (clear)

  1. off-topic-a-roony by aendeuryu · · Score: 5, Interesting

    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?

    1. Re:off-topic-a-roony by Anonymous Coward · · Score: 3, Informative

      The Gnu java compiler produces code that is quite a bit slower then Java runtime enviroment. Probably uses more RAM too.

      I don't know of anything beyond that.

      The community would benifit from having a Open Source java implimentation because it would allow distributions to distribute java runtime enviroments and allow tighter integration of java into general linux offerings. 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.

      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.

      Then you have stuff like Python, which is a very mature, powerfull, and easy to use general purpose language, and PHP which is very commonly used for web scripting.

      If they did release a OSS version a few years ago java on Linux would probably be the defacto way to write GUI and Web applications.

      Not saying that it would ROCK or anything, but the restrictive licensing realy held Java back.

    2. Re:off-topic-a-roony by LnxAddct · · Score: 4, Informative

      Despite the other posters, gcj compiles things very nicely. It also has support for many things including SWT and basic AWT (enough support to compile jogl (opengl bindings)) Its definitly an alternative and has made major headway recently. It can compile eclipse and the Apache Tomcat server as well. GCJ is nice for compiling natively, and we already have an open source JVM called blackdown. Sun opening Java would be nice, but certainly not essential.
      Regards,
      Steve

    3. Re:off-topic-a-roony by iamacat · · Score: 5, Interesting
      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! 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.

    4. Re:off-topic-a-roony by williamhb · · Score: 2, Interesting

      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.

    5. Re:off-topic-a-roony by OoberMick · · Score: 2, Interesting

      ..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!

    6. Re:off-topic-a-roony by PastaLover · · Score: 2, Interesting

      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.

    7. Re:off-topic-a-roony by rabbit78 · · Score: 3, Interesting

      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.

    8. Re:off-topic-a-roony by Glock27 · · Score: 2, Informative
      Hey, is anybody using the gnu java compiler much? How's the performance on java programs made with it?

      Having seen some of the simplistic negative responses to this post, I have to say it's not that simple. gcj has its strengths and weaknesses, and for some things it's substantially faster than the commercial Java VMs.

      Performance wise, its weak spot seems to be GC performance and some other specific areas like synchronization monitors and exceptions. However, if you tailor your code to gcc's strong points, by using techniques like object pools, you can achieve very strong performance. If you can avoid on-the-fly classloading (and thus any interpreted code) you can get excellent performance and the added benefit of totally deterministic execution speeds. This is good for real time code - dynamic runtime optimizers are scary for real time applications, as is GC in general (another reason object pooling is a nice technique).

      Hope it was interesting...

      --
      Galileo: "The Earth revolves around the Sun!"
      Score: -1 100% Flamebait
    9. Re:off-topic-a-roony by Executive+Override · · Score: 3, Informative
      Blackdown Java is not FOSS!

      From www.blackdown.org:

      As a user, you're subject to the same licensing restrictions with Blackdown Java as you would be with Sun's Java binaries on Solaris or Win32. It's as simple as that.

    10. Re:off-topic-a-roony by IamTheRealMike · · Score: 2, Informative
      Actually my experience is that the opposite is true. I have an actual Java program here that brute forces the Travelling Salesman Problem and with GCJ 3.4 compiled using -O2 -ffast-math it can reliably complete a simple set of cities in a couple of seconds less than the JVM can (where the JVM takes about 7 seconds).

      Now, it may be that the JVM simply takes 2 seconds to start up and the GCJ version doesn't. I do not know. However, I have no complaints about the performance of GCJ. The biggest problem with it is simply compatibility: quite a lot of Java APIs don't run on it.

    11. Re:off-topic-a-roony by agraupe · · Score: 2, Informative

      I cannot see a single reason why a sane individual would prefer C# to Java. Although the speed (might, I don't know) be a bit better, if you need speed, you should be coding in a native language. The very small amount of Java programming I've done, versus the same amount of C# coding, has convinced me that Java just seems cleaner and easier to work with. Even with both being proprietary, I know which one I prefer. Sun doesn't go around looking for ways to be evil, which is more than I can say for Microsoft.

    12. Re:off-topic-a-roony by smittyoneeach · · Score: 2, Funny

      One wonders if someone clever will fuse Mono, making it another front end for gcc.
      Think about C# that executes faster on Linux than it does under .Net.
      Think about mixing the resulting .so files.
      Urrrk, I really should switch to decaf...

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    13. Re:off-topic-a-roony by v01d · · Score: 4, Informative
      No! C# is an open ISO and ECMA Standard!


      C# != .NET

      Not even close.

    14. Re:off-topic-a-roony by mhesseltine · · Score: 2, Informative
      SUSE and gentoo already do, I would guess someone (Debian?) made their own decision not to ship Java rather than being disallowed by Sun.

      While I'm not sure how SUSE manages to distribute Sun's JRE, Gentoo doesn't distribute it at all. Instead, the ebuild merely simplifies the process of downloading the file from Sun and installing it.

      While this may seem like a small nit to pick, the fact is, if you look on the Gentoo CDs, they distribute the Blackdown JRE, not the Sun JRE.

      --
      Overrated / Underrated : Moderation :: Anonymous Coward : Posting
    15. Re:off-topic-a-roony by unoengborg · · Score: 3, Insightful
      Gnome developers just have some unexplainable love for Windows.Forms as opposed to Swing.

      This may have a reason. Swing doesn't work properly on Linux. At least not if you don't use an US keyboard and US locale. In many European locales some characters will be untypable, what exact charaters depends on the locale.

      This is of course a bug, but its been around ever since swing was born. It was almost emediatly bug reported. After a couple of years sun closed the bug with the bug still UNFIXED. I guess it got embarassingly high bug votes on their top 25 list.

      Now the bug is reported again (under a new bug id) and has been on the top 25 list for a couple of years now.

      Any Linux programmer know by now, that Sun either is too incompetent or fix this, or have some other agenda that make them unwilling to fullfil the promis of compile once run everywhere that once was used to promote java.

      You can get more information on this bug from:
      http://bugs.sun.com/bugdatabase/view_bug.do?bug_id =4799499

      If you like you can even cast your vote for it to be fixed. Not that I think it will make much of a difference. To Sun java is something for the serverside only.

      --
      God is REAL! Unless explicitly declared INTEGER
    16. Re:off-topic-a-roony by unoengborg · · Score: 2, Insightful

      The URL in parent should have been:
      http://bugs.sun.com/bugdatabase/view_bug.do?bug_id =4799499

      --
      God is REAL! Unless explicitly declared INTEGER
    17. Re:off-topic-a-roony by daem0n1x · · Score: 2, Informative

      In version 5.0, Swing has a native look-and-feel, and that is the default.

    18. Re:off-topic-a-roony by m50d · · Score: 2, Interesting

      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?

      --
      I am trolling
  2. Already ditched by skomes · · Score: 5, Funny

    I already ditched java a long time ago. After trying some .net, settled on python, who wants to write 10 lines of code, and have to pass through 2 layers of variables to open a file? Python: open(filename,r/w,0) Java: JSKALDAHSJKDHLSA; ASDJH(ASLDHJKLASH); ASJHDJAKSHDJHASD(); REALLYLONGBUFFERNAME();

    1. Re:Already ditched by crummynz · · Score: 5, Funny

      After close examination of your Java code, I think I've found the reason you were having some problems.

      --
      ~ Crummy
    2. Re:Already ditched by mabinogi · · Score: 5, Informative

      OutputStream out = new FileOutputStream(filename);

      next?

      (yes, I know it's still more typing than python, and I know you were tying to be funny, but Java really isn't that much work)

      --
      Advanced users are users too!
    3. Re:Already ditched by linguae · · Score: 5, Insightful

      For small programs, Java can get very wordy and very verbose, especially if you coming directly from C/C++, or from a language like Perl or Python. It does get annoying at first, typing in public in front of nearly every class/method and having to type in System.out.println when a simple printf() or cout or print would do suffieiently in another language. However, once you start making larger programs, Java isn't that bad, and all of those words are there for a reason. It starts making sense after a while, and it really is a nice language, once you grasp the OO concepts and get past some of the annoying differences between Java and C/C++/Python/whatever. It gets really convenient when playing around with Swing.

      Put it like this, I'll bet you that you'll want to code in Java long before you want to code in Visual Basic, or even worse, COBOL. If you thought Java was verbose, Visual Basic is even more verbose, and COBOL takes verbose to another level....

    4. Re:Already ditched by Kleedrac2 · · Score: 2, Informative

      Thusly why my default template in jEdit contains;

      public static void main(String[] args){

      }

      public void print(Object o){
      System.out.println(o);
      }

      Makes everything I write just that much easier ... I used to call the print method printf but had ppl use my template get confused (and make me feel old) :)

      Kleedrac

      --
      Sure we wang, can.
    5. Re:Already ditched by brush2327 · · Score: 2, Informative

      As far as verbosity and printf are concerned some of the new Java 5.0 features are designed to help:

      // Import of static methods and fields
      import static java.lang.System.out;
      ...
      private void someFunction(String someVar) {
      // New printf method
      out.printf("Hello %s\n", someVar);
      }

    6. Re:Already ditched by SpaghettiPattern · · Score: 2, Informative

      but Java really isn't that much work
      I see you never did any plain text parsing in Java. Sure, Java has regex. But you'd be amazed how compact plain text parsing code is in Perl.

      OTOH, I like Java over Perl for it's stringer typing and for it's usable OO environment (usable 'cause multiple inheritance is missing and 'cause I dislike misusing interfaces for this.)

      --

      I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
    7. Re:Already ditched by Anonymous Coward · · Score: 2, Informative

      In Ruby, methods can accept blocks (similar to passing arguments). Blocks themselves can be passed arguments, and that's what |my_session| means. A block is passed to the thread initializer, and the thread initializer passes a new Thread object to the block (it "calls" the block, essentially). If the block were passed multiple arguments, it'd look something like:
      Class.method(argument) do |arg1, arg2, arg3, etc|

      Also available is {} syntax, like:
      Thread.new(session) { |my_session| ... }

      One stupendously fantastic thing about blocks like this is that the callee can then do any necessary cleanup. The caller doesn't have to know how to terminate a thread. It just falls off the block, and when it does so, the callee does whatever is necessary. Used very frequently with files, as:

      File.open(filename) do |file|
      foobar = file.read
      end

      So inside the block, "file" is a new File object that can be treated as you would any other File object. Falling off the block automatically closes the file for you, so you don't have to worry about it.

      It took me a couple tries to realize how wonderful Ruby's syntax is, but it didn't take long for the "holy shit" factor to kick in, and I was off and running. You don't really appreciate being "fully OO" until you actually try a language that is.

      For me, Ruby is just about the perfect language; certainly better, from a purely syntax-oriented angle, than anything else. Ruby needs more modules/libraries/gems and could be faster (hopefully the Ruby 2 VM will help with that), but it's still outstanding as it currently stands.

    8. Re:Already ditched by say · · Score: 5, Insightful

      You know, that is an annoyance just because you do not use object orientation much. Java is strongly typed, and it has a lot of advantages. A quite usual way of creating a new variable is:

      Car redCar = new Porsche();

      Or the more familiar:

      List list = new ArrayList();

      This does also enable stuff like:

      Person p = list.get(1); // even if all objects in list are Man and Woman objects!

      If you don't understand the advantages of this kind of casting, you don't understand object orientation, and therefore, you don't need Java.

      --
      Roses are #FF0000, violets are #0000FF, all my base are belong to you
    9. Re:Already ditched by CastrTroy · · Score: 2, Insightful

      Catching exceptions is more important than you think. After programing in VB.Net, I have to say, I love Java's exception model. In VB.Net, you never know what exception a function might throw, and short of reading all the documentation, it's kind of hard to tell which exceptions are going to be thrown. I like that Java forces you to do something about a problem that may happen, instead of hiding it until it pops up in runtime, when it's impossible to do anything about it.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    10. Re:Already ditched by MemoryDragon · · Score: 3, Insightful

      Actually checked exceptions are a good thing, sorry to say that. A checked exception basically forces you to do something. The main problem unchecked exceptions have is, that they fall on your head at code parts you would never expect them to occur and thus take your program with you. One of the main reasons why java programs are so stable is the excessive use of checked exceptions. With every step you know which errors can occur and you are forced to do something abou it. The downside of this is, that you basically have 20% more code which is dedicated to error handling at the stages the error can occur.

    11. Re:Already ditched by one9nine · · Score: 2, Insightful
      A checked exception basically forces you to do something.

      Yeah, this:
      ...
      catch(SuperTerrificCheckedException e) {
      /*
      * I'm too lazy to figure out what to do here,
      * so I'll just leave it blank for now.
      */

      }
      And you're worse off than with an unchecked exception that isn't caught.
    12. Re:Already ditched by daem0n1x · · Score: 2, Interesting

      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...

    13. Re:Already ditched by msuzio · · Score: 2, Insightful
      Yes and no.

      If the "do something with it" looks like this:
      try
      {
      someExceptionalMethod();
      }
      catch(Exception e)
      {
      }
      ...that's not going to help you, it's just going to make the compiler not complain.

      I actually make it a point to put in a comment like "// do nothing, this is OK" when I do something like that, so it's clear to the next programmer that I meant to just shut up the compiler, and I've either got a case that I know doesn't matter or cannot happen because of other constraints.
    14. Re:Already ditched by aCapitalist · · Score: 2, Informative

      We ditched Python for Java for much of our management tools because lack of argument types and return types make cool stuff like intellisense as well just all around documentation next to impossible in Python.

      I don't care about local method variables having types declared, but to me it makes a lot of sense for method arguments and return types.

      And before you flame me, you better go read Guido's blogs over at artima.com because that's one of the reasons he's going to put in optional type declarations in Python 3000.

    15. Re:Already ditched by btlzu2 · · Score: 2, Informative

      It seems that IBM disagrees with you (as do I). I'm a static-type proponent. Dynamically typed languages make me barf. :)

      --
      Zed's dead baby. Zed's dead.
  3. Sun's covert ops by bobdotorg · · Score: 4, Funny

    "Project Peabody" is really the code name for Sun's secret development of The Wayback Machine to send Scott McNealy back to a time when Sun was relevant.

    --
    __ Someday, but not this morning, I'll finally learn to use the preview button.
    1. Re:Sun's covert ops by nathanh · · Score: 4, Funny
      "Project Peabody" is really the code name for Sun's secret development of The Wayback Machine to send Scott McNealy back to a time when Sun was relevant.

      Quiet, you!

  4. eightball says: by gitana · · Score: 3, Funny

    signs point to yes

  5. No, they want to keep their integrity. by CompotatoJ · · Score: 5, Interesting

    "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.

    1. Re:No, they want to keep their integrity. by 0x461FAB0BD7D2 · · Score: 2, Interesting

      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.

    2. Re:No, they want to keep their integrity. by serps · · Score: 3, Insightful

      You can say that with a straight face, after the debacle with Microsoft's J++ Runtime of Incompatibility?

      You may have heard of the court case. Took years to resolve. Somehow, I think Sun has learned its lesson about relinquishing control over what is, and isn't, Java(tm)./p.

      --
      "Einstein argued that [...] God is not capricious or arbitrary. No such faith comforts the software engineer." ~ Brooks
    3. Re:No, they want to keep their integrity. by Baki · · Score: 4, Interesting

      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.

    4. Re:No, they want to keep their integrity. by civilizedINTENSITY · · Score: 4, Insightful
      .NET is just as protected, if not more (also protected by patents probably).

      Mono Developer Meeting
      Miguel and Novell legal staff are currently conducting a formal patent review of mono, and the team had already split up the components of mono into separate ECMA-based and non-ECMA components (WinForms, ADO.NET, etc) to clearly define what RedHat and others could make use of. Importantly, Miguel also said that Ximian had a letter from Microsoft, Intel and HP stating that they would offer *royalty-free* RAND licensing to the ECMA-submitted components of .NET.
    5. Re:No, they want to keep their integrity. by killjoe · · Score: 5, Interesting

      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.

      --
      evil is as evil does
    6. Re:No, they want to keep their integrity. by killjoe · · Score: 3, Informative

      Sun can open source java but keep the trademark. They can make sure that people who do not pass the compatibility tests can't call their product Java, which is exactly what they did with the MS suit.

      --
      evil is as evil does
    7. Re:No, they want to keep their integrity. by R.Caley · · Score: 4, Informative
      What license can I use that would effecively prevent forking, but at the same time be open source?

      By definition of the term `open source' as it is used now, it means that people can get, change and use the source and at least with some restrictions redistribute the resulting changed version.

      I.e. `open source' more or less means `you can fork'.

      The solution is perhaps to grow up and stop wanting to keep control. Life is to short to worry about that kind of thing.

      And, of course, the fact that control is not enforced by the licence doesn't mean that there will be no central control. I think most people would say that Linus has reasonable control of the future of the linux kernel, dispite the fact that anyone could fork it, and many do for special purposes.

      Consider XFree86 vs X.org for an instance of why the ability to fork is a good thing. Sometime when you get bored with working on your library, or fall under a bus, someone else with enthusiasm can take over, and if they do a good job, their branch will take over from yours and, assuming it wasn't a bus, you can go off and do whatever you are more interested in doing at that point.

      --
      _O_
      .|<
      The named which can be named is not the true named
    8. Re:No, they want to keep their integrity. by cyberjessy · · Score: 2, Informative

      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.

      While I do not disagree with your argument on why Java needs to be protected, your statement that there is no formal spec for .Net is just ignorance. The specification for .Net and CLR is probably more formal (ECMA standards).

      From the microsoft site:
      The Common Language Runtime (CLR) is Microsoft's commercial implementation of the Common Language Infrastructure (CLI) specification. The CLI specification is an international standard (read ECMA) for creating development and execution environments in which languages & libraries work together seamlessly.

      Read More

      The C# language is also an ECMA formal spec.

      For a serious alternative implementation, Go-Mono. As to its unclear legal status, we have our own Miguel De Icaza discussing these issues, Here.

      I guess he is tired people are raising the same issues everytime. Its been done to death. And Miguel is quite liked inside Microsoft too.

      --
      Life is just a conviction.
    9. Re:No, they want to keep their integrity. by Baki · · Score: 3, Interesting

      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.

  6. What's so significant? by Jovian_Storm · · Score: 3, Interesting

    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?

    1. Re:What's so significant? by Wesley+Felter · · Score: 2, Informative

      Slightly off-topic, but what impact will Sun's open-sourcing of the JVM have?

      An irrelevant question, since Sun has no plans to open-source their VM.

      Since the Java specs are anyway open, is there any point if Sun opens up the JVM implementation?

      Writing your own implementation is really, really hard. Especially since the "spec" doesn't specify everything. So in the near future Sun-derived VMs will be the only complete ones.

    2. Re:What's so significant? by steve_l · · Score: 2, Insightful

      1. Remember that jvm and library is different. There are good OSS JVMs, but the libraries are a trouble spot.

      2 All the main OSS libraries build and run on Kaffe, including things like the SWT window toolkit, xerces parser, etc. Look at the Gump to see how well it is going: http://brutus.apache.org/gump/kaffe/

      3. A lot of focus in the gump/ant dev groups is about improving gump builds. If we can clean build the OSS stack on the OSS platform, we will be independent of Sun.

      4. the big issue with libraries is testing compliance. One thing we want is for sun to open up the TCK for Java so that OSS implementations can test against the official java TCK

      5. Although the TCKs are opening up, it is patchy and trouble. TCK access is only under NDA, which makes it hard to broadly test and debug, which is what OSS relies on.

  7. Why Java open-source will never happen by blackhedd · · Score: 2, Insightful

    Because it doesn't need to. Java is now so big and so corporate that stability is far more valuable to its constituents than innovation.
    It will be the development system of choice for corporate development for another decade, providing jobs for all the new and soon-to-be CS graduates who aren't taught anything else. Yet Java is already completely ossified.

  8. zerg by Lord+Omlette · · Score: 2, Funny

    If it were up to me (I know it's not, so shut up ;_; ), I would put it in the public domain and pretend I wasn't the one who wrote it. Then I'd be all "Oh wow, Java's so cool, you can even download all the source code for it!"

    And then I'd get featured on slashdot as "Sun's Java Went Open Source" instead of some silly speculation that Sun might make up some magical license that lets you look at the code but not do anything w/ it.

    Will open sourcing Java source code mean that the language will get submitted to a standards organization like ECMA or ISO or something?

    --
    [o]_O
    1. Re:zerg by morzel · · Score: 2, Informative
      some magical license that lets you look at the code but not do anything w/ it
      "Open Source" can be exactly that (getting access to the source code)
      If you want to be able to do something with the code and distribute the end result you should look at "Free Software".

      By definition Free Software is Open Source but not necessarily vice versa.

      --
      Okay... I'll do the stupid things first, then you shy people follow.
      [Zappa]
    2. Re:zerg by Anonymous Coward · · Score: 5, Insightful

      "Open" means not merely "affording unobstructed view", but also "unrestricted as to participants", "available for use", "obtainable", and "without restrictions".

      So, your objection is that the "open" in "open source" can be interpreted to mean merely available to be viewed, despite the other meanings of the word open. Which is no worse than the problem "free" has, in "free software", since gratis software is quite common.

      Here's the thing -- a random member of the public, hearing the word "free software", will immediately jump to the conclusion that it doesn't cost anything. Especially since the way the word is most often used in the media as "gratis", and since the Windows world is full of "freeware" -- most of it low quality software that supports the proposition "you get what you pay for".

      The same person will not have any idea what "open source" means, since he is unlikely to even know what source code is. Instead of being misinformed by the term, he will notice there is something here he doesn't understand.

      Which is better, from a public-education point of view? The term that immediately misleads your audience from what is meant, or the term that is a semantic nullity, in which you can pour meaning?

      Hint: they're less likely to listen if you tell them their first conclusion was wrong than if you don't have to tell them they were wrong.

  9. Re:Sun's tight control... by Wesley+Felter · · Score: 3, Informative

    Sun has 64-bit VMs for SPARC/Solaris and AMD64/Linux. IBM has 64-bit VMs for PowerPC/AIX, PowerPC/Linux, and z/Linux IIRC.

  10. Doesn't matter much by Anonymous Coward · · Score: 3, Insightful

    Sun is in trouble because GCJ is getting so much better. It has a strong chance of becoming the "defacto" version on Linux very soon. RedHat engineers already have Eclipse built and running on it, and tightly integrated with Gnome and Glade development. It's starting to look really nice, and SWT compiles natively into Linux binaries. Sun will likely maintain the lead on Windows pretty easily, but they stand a big chance to lose out to GCJ on Linux. No biggie, because Linux isn't a real server platform after all, right Sun? ;)

    If Sun wanted to make themselves insanely relevant very quickly, they would fully embrace Debian and support it extremely well. Then, they should work to standardize on http://www.autopackage.org/, or something very similar to it. Then, they should work to get Java much better integrated into Firefox and vice versa. Here is a good article on it the level of integration between the JVM and the browser, which is just pathetic at the moment:

    http://www.softwarereality.com/soapbox/swing.jsp

    I wish there were a sane event model to share between Java and the Browser so that I could use the browser as a display technology and have access to all of the Java class libraries for networking and such.

    1. Re:Doesn't matter much by lokedhs · · Score: 4, Insightful
      Sun is in trouble because GCJ is getting so much better
      Why would an omproved GCJ put Sun in trouble? They're getting another Java implementation done for free == more Java == good.

      Now if you say they are afraid that if they BSD-license Java and then end up having the GCJ team dictating what Java is and is not, then yes. That is exactly what Sun means when they say there is a potential problem with forking.

  11. I'm looking forward to this by NutscrapeSucks · · Score: 3, Funny

    As soon as Java goes open source, I plan on forking it. Job 1 will be to add first class support for COM and XPCOM objects. After that's done, I'm planning on adding Delegates for event-driven programming. Good RAD-Designer support is important too.

    Of course, there might be some minor incompatibities with other JVMs, and the initial releases will be Windows-only, but since Java is such a neat and productive environment to program in, I think people will overlook these issues. Anyone interested in joining this project, please contact me.

    --
    Whenever I hear the word 'Innovation', I reach for my pistol.
  12. Re:Integrate into FireFox? by mark-t · · Score: 4, Informative
    The "exploit" to which you refer is not an exploit against Java, or Firefox, or even IE, for that matter.

    It is exploiting a clueless user that doesn't know enough to click "No" when presented with a warning dialog that says that an untrusted application is trying to make changes to the local filesystem, and it asks permission from the user if this should be allowed. Previously, it had been assumed that a user would be ever so slightly clueful enough to not actually permit an untrusted application to do this, especially since they are getting a nice and friendly warning dialog, but hey... I guess user stupidity reaches new lows every week. The people that are vulnerable to this are the same people that think it's a good idea to run native exe attachments in emails from unverified sources.

  13. Get informed by BortQ · · Score: 4, Informative

    Anyone who reads Jonathan Schwartz's blog will know that Sun is gonna open-source java. He's been hinting about it for a while now, interspersed with hyping up the open-source release of solaris. Sun seems to understand that going open-source is there best chance of survival in the software world.

    --

    A Multiplayer Strategy Game for Mac OS X, Windows, and Linux
  14. Re:Sun's tight control... by ralphdaugherty · · Score: 2, Informative

    Sun has a lot of tight control of java. But I believe IBM also has their own java implementation, and I think that version has alot of proprietary and licensed code.

    Why do you think that? IBM created a superior background garbage collection for example and gave it back to the community. IBM of course write JVM's for their own OS's, and those JVM's meet Java Community specs.

    It would do IBM no good to have a proprietary JVM. I haven't even heard of proprietary Java extensions from anyone but Microsoft. Would you know anything about that?

    rd

  15. Java and "Unsupported" Platforms by linguae · · Score: 4, Interesting

    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?

    1. Re:Java and "Unsupported" Platforms by jab · · Score: 3, Insightful

      I have to agree, a true open source Java would be a major improvement. On my platform (Debian) I can install python or php or haskell or gcj trivially, and the package maintainers makes sure any rough edges are smoothed out. The net result is it all just works.

      Yesterday, I tried to install Java because a colleague is developing a web application with a Java component in the browser, and I wanted to try it and maybe help him out. That meant installing a Debian helper package. Then manually downloading Java, clicking through some license agreement nobody reads. Running the helper package, typing answers to questions, paging through the same license agreement in the terminal, having to type out "yes" and hoping things work. Not impossible, but at least 10X more work than every other piece software on my system, especially if I want to keep up to date with point releases

      And of course it ended up not working - my Firefox still refuses to run Java for some reason. I ended up taking the path of least resistance which was VNC to a Windows computer - a pathetic and painful workaround. Normally I'd file a bug and the package maintainer would smooth out these system integration issues, but Sun's redistribution terms are preventing that. To add insult to injury, I think I remember reading that Sun sued Microsoft for NOT distributing Java at one point, which makes me wonder about corporate schizophrenia. If Java were true open source, I'm confident things would finally get smoothed out and I'd be much more inclined to develop for the platform and trust that it would always be there for me.

      Furthermore, there's now a few useful open source programs written in Java that also get hampered. For example, the Lucene search toolkit can't currently be built without Sun's SDK. Therefore, it can't run on the Debian autobuilders and gets relagated to second class citizenship status. As both a proprietary and an open source software developer, my life would be easier, happier and I'd be far more Javaphilic (as opposed to just plain grumpy) working on an open source platform.

  16. Patches, surely by m50d · · Score: 2, Interesting

    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.

    --
    I am trolling
  17. YAY! by thegamerformelyknown · · Score: 2, Insightful

    Acknowledged, Java has some downfalls (slow, etc) and it is not a native programming language, but overall, Java is a great way to go. Java applications developped for a website is a powerful tool, instead of using php. And Java games are very popular in the cell phone industry right now, not flash. Overall, I think the possibilities that Java offers are enough in itself to warrant making it open-source. But I'm biased... I just started learning it.

  18. Re:Why do colleges proselytize with java? by Anonymous Coward · · Score: 2, Informative

    Students should be forced to learn in a bondage-and-dicipline language like Java. Once they understand a type system, they can better understand when to break the rules.

    We've already been down the Python/PHP "typeless" road with teaching Visual Basic, and the end result is a lot of sloppy programmers.

  19. and how's that working out? by Xtifr · · Score: 3, Insightful

    Let's see: we have kaffe, gcj, and a handful of other open source attempts to clone java, all of which are not exactly one-hundred percent compatible, and none of which would exist if java had been open source in the first place. We have MSFT pushing their own completely incompatible java-like system.

    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. My conclusion? Sun is run by a bunch of idiots. (Really too bad, because I used to be a big fan back in the eighties.)

    1. Re:and how's that working out? by LarsWestergren · · Score: 4, Insightful

      Think about the "fairly popular" bit. None of these languages have become as prevalent as Java. With the industrial adoption of Java has come a huge pressure to add more stuff to it, and an increased possibility of forks when people don't get what they want added. See the many different scripting add on libraries for instance.

      We have MSFT pushing their own completely incompatible java-like system.

      Imitation is the sincerest for of flattery. Microsoft has cloned Java, and now you are going to blame Sun for the fact that it isn't 100% compatible.

      Let's see: we have kaffe, gcj, and a handful of other open source attempts to clone java, all of which are not exactly one-hundred percent compatible, and none of which would exist if java had been open source in the first place.

      I think you have to explain your reasoning a bit here, because no matter how I try to read this it sounds like you contradict yourself.
      "Open source versions are forked. Therefore, if it had been open source there would be no forks"?

      --

      Being bitter is drinking poison and hoping someone else will die

    2. Re:and how's that working out? by aesiamun · · Score: 2, Insightful

      Isn't ActiveState's Perl and Python distrubtions forks? They implement functionality that isn't by default in the original perl source.

      If i'm wrong, I apologize.

    3. Re:and how's that working out? by Xtifr · · Score: 4, Informative

      Think about the "fairly popular" bit.

      Ok. I'm thinking of perl. I'm thinking about various systems I've seen and worked on over the last couple of decades. I'm thinking "fairly popular" is a pretty serious understatement when talking about perl. Tcl/Tk? Maybe not so much, but I've still seen lots and lots of it running behind the scenes on all sorts of systems. Python? Ok, I haven't seen much enterprise penetration there. Yet. But it's pretty new, relatively speaking. And it's already got zope, plone and gnue, and looks like it's only going to be growing from there. (Anyway, I can hope, 'cause python sure seems to me to suck less than perl, java, or tcl.)

      Microsoft has cloned Java

      From what I've seen, they haven't merely cloned it, they've actually improved on it. I know, a blasphemous thing to say on /., but I really don't care.

      I think you have to explain your reasoning a bit here.

      Ok. I didn't think it was that tricky of a thought, but since you ask.... Kaffe and gcj are not forked from each other, they're forked (very loosely speaking) from the design of their not-open-source predecessor. Nobody is trying to fork kaffe or gcj - they're already open source, so there's no particular reason to fork them. And if java had been open source from the start, there never would have been any reason to create these competing projects.

      Ask anyone involved with either project (kaffe or gcj) if they would have even considered working on those projects if java had started as open source! If java had been open source there would be no kaffe or gjc! Period! I don't know how I can explain it any more clearly than that!

      And, for that matter, if java were open-sourced, even at this late date, I would expect to see kaffe vanish almost instantly, and I wouldn't place any bets on gcj's long-term prospects.

    4. Re:and how's that working out? by JimDabell · · Score: 4, Interesting

      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.

    5. Re:and how's that working out? by mav[LAG] · · Score: 4, Interesting

      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.

      --
      --- Hot Shot City is particularly good.
  20. Re:Sun's tight control... by ralphdaugherty · · Score: 2, Informative

    IBM has 64-bit VMs for PowerPC/AIX, PowerPC/Linux, and z/Linux IIRC

    And IBM's AS/400/iSeries/i5 is 64 bit PowerPC, so the Java JVM on the AS/400 would be 64 bit.

    rd

  21. Re:Speaking of Java..anyone know by LarsWestergren · · Score: 4, Informative

    Perhaps if you could tell us why you thought Eclipse and Netbeans suck it would be easier to come with a suggestion?

    Anyway, some of the most popular would probably be JBuilder, JDeveloper, IntelliJ IDEA, KDevelop...

    If you prefer more light-weight IDEs, you can always use ANT together with something like Emacs or JEdit.

    --

    Being bitter is drinking poison and hoping someone else will die

  22. Byte Code Is "Open" by nate+nice · · Score: 2, Insightful

    Considering that Byte Code is essentially open, you can construct a language how ever you want and have it compile to Byte Code so that the JVM will execute it. So, in this regard it's open.

    As for opening it to a standards committee, I hope Sun never takes this route. The committee mind for just about anything is terrible. Many great artists won't work with committees and I think Java is better served if Sun calls the shots on it.

    I don't know much about the licensing of J2EE but for people that don't want to pay (do you have to?) you can always use something else or pay for .NET.

    I don't care one way or the other really if Sun "Opens" Java but I'd rather them or a small group of people call the shots on the language. Gosling et all for instance. Whatever they do, I hope Java doesn't fall victim to ANSI or IEEE or whatever as the language will never advance.

    --
    "If you are a dreamer, a wisher, a liar, A hope-er, a pray-er, a magic bean buyer ..."
    1. Re:Byte Code Is "Open" by mikelin.ca · · Score: 2, Interesting

      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.

  23. Mono viability by grahamsz · · Score: 5, Insightful

    While i haven't done much research, a little casual testing suggests that opensource JREs run a lot more java software than mono runs .net software.

    1. Re:Mono viability by lupus-slash · · Score: 5, Interesting

      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.

    2. Re:Mono viability by lupus-slash · · Score: 2, Interesting

      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:-)

    3. Re:Mono viability by AusG4 · · Score: 2, Interesting

      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.

      --
      bash-3.00$ uname -a
      SunOS panda 5.10 Generic sun4u sparc SUNW,Ultra-2
    4. Re:Mono viability by grahamsz · · Score: 2, Interesting

      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.

  24. gcj is nice by DavidNWelton · · Score: 4, Interesting

    I've been using gcj to develop Hecl ( http://www.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.

    1. Re:gcj is nice by k98sven · · Score: 5, Informative

      I'm curious - does the new Fedora actually ship with gcj and gij as 'Java'? That will be an interesting development to watch.

      Actually, yes. Red Hat has actually aliased 'java' to them in the default install for quite some time now.

      The more interesting thing is that FC4 will for the first time include natively-compiled Java packages. And not just any packages, but Eclipse and Apache Tomcat.

  25. Re:Integrate into FireFox? by MillionthMonkey · · Score: 3, Insightful

    Both Microsoft and Firefox have made UI enhancements to make it more difficult for users to just reflexivly click "Yes" on every modal permission dialog that pops up. I think it's perfectly fair to hold Java to the same standard

    You're clearly just trying to save face if this is all you can complain about. Not all vulnerabilities involve users clicking Yes in security dialogs.

    since it turns out that Java really is not safer than "native" extentions like ActiveX or XUL or Plug-ins (despite years worth of propaganda saying otherwise).

    The "years worth of propaganda" was probably referring to Java's immunity to buffer overflow vulnerabilities and other attacks that exploit the machine-level details of C-style calling conventions. Or it could have referred to the sandbox security model under which applets can be run safely without even requiring a security dialog- as opposed to ActiveX for example, which is typically implemented in "unmanaged" (but digitally signed) C++, has a security model consisting of nothing but a security dialog, and which must run either with full privileges or not at all- based on whether you feel you can trust the author. You can run Java code in a sandbox and not have to trust anybody. The sandbox has such restrictive security, in fact, that it partly (along with install base and JDK versioning issues) led to the demise of applets relative to ActiveX.

  26. i dunno by SweetAndSourJesus · · Score: 2, Interesting

    Lots of people use PHP instead of JSP, even for "enterprise*" applications.

    *PS: The word "enterprise" in any software context is bogus.

    --

    --
    the strongest word is still the word "free"
  27. Distribute JRE with Linux distro by Ranx · · Score: 5, Insightful

    Until now, you are only allowed to distribute the JRE with Java software. This has always been an problem for creators of Linux distributions who like to include Java in their distribution.

    I seems Sun is gonna change their license at this point so every Linux distribution can distribute the JRE and support Java out of the box.

    This is probably the most important part of the license change and I hear nobody about it.

    --

    Me
  28. Write once, run somewhere by Macrat · · Score: 4, Funny

    Java is crossplatform. Runs on Windows 2000 AND Windows XP.

  29. Java is open like C by CaptainPinko · · Score: 3, Insightful

    Java is a langauge and say it is prorietary is like saying C or C# are proprietary. I have read the freely available documentation on Java and you'd be surprised how complete it is. There is no need to reverse engineer anything since JavaDoc spells it all out for gou, and heck Sun provide the source code to the files too! It bugs me that people perfer Mono'a C# over Java because it's "more free". Well it's only free because people coded it up. If they spent half the time coding a JVM that they've spent coding a Mono they'd be done years ago. And if Sun keeps their own implementation proprietary, well they own so let them. You can use IBM's or Apple's or your own. Why don't people stop using C since Intel still offers it's own closed source compiler? Java is really spread wide open from letting people participate with JSR (though just like in democracies unless you are with someone big you won't get heard.. but you are free to try), and even poke around with the source. Is there some big piece that I'm missing that would bother anyone besides GPL Zealots?

    --
    Your CPU is not doing anything else, at least do something.
    1. Re:Java is open like C by k98sven · · Score: 4, Informative

      Java is a langauge and say it is prorietary is like saying C or C# are proprietary.

      Wrong. There are many implementations of C. There are three of C# (excluding the runtime).

      There is no need to reverse engineer anything since JavaDoc spells it all out for gou,

      No it doesn't. Sun's documentation is terrible in lots of places.

      and heck Sun provide the source code to the files too!

      Looking at Sun's sources if you want to make your own implementation is legal suicide.

      It bugs me that people perfer Mono'a C# over Java because it's "more free".

      It IS more free (see below).

      If they spent half the time coding a JVM that they've spent coding a Mono they'd be done years ago.

      Well, I would certainly like to to see more resources go towards free Java development, but the missing thing at the moment isn't a VM. There are lots of free JVMs (gcj,kaffe,jamvm,sablevm,jikesRVM,cacao and so on), some of which are quite mature.

      The missing part is the class library.

      You can use IBM's or Apple's or your own.

      These are not seperate implementations; They all use Sun's code, notably the class library. They are all covered by the same licensing restrictions set by Sun.

      Is there some big piece that I'm missing that would bother anyone besides GPL Zealots?

      Yes. For instance, what if you'd like to include the install of the runtime in your own installer? Can't do it.

      What if you do embedded work and would like to exclude the parts of the runtime you don't need in order to save space? Can't do it.

      What if you do find a bug in Sun's code, and include a work-around in your code? Bravo. You just violated Sun's license.

    2. Re:Java is open like C by k98sven · · Score: 2, Informative

      There is kaffe and gjc. Java is a bit of a moving target though and not easy to keep up with. If there was one standard Open Source version then we wouldn't need a dozen different versions all trying to play catch-up with the 'official' Sun version.

      That's not quite true though, because there is: GNU Classpath. Which is used by just about every free VM out there. Kaffe and GCJ are major contributors to Classpath.

      Repeating myself, the class library is the major issue. It's much, MUCH less work to write a VM than to implement the entire class library. Also, the VM changes less than the class library; new packages get added a lot more often than new language features.

  30. GJC by lokedhs · · Score: 5, Informative
    Well, the compiler itself it quite good, and actually manages to create code that runs faster than Sun's VM on occations. Last I looked, however, the Sun VM is faster overall, since it can do stuff like inlining virtual methods, which a static compiler is unable to do.

    However, the biggest problem with the GNU compiler is the lack of compliant class libraries. The GNU Classpath project, which aims at creating an open source cleanroom implementation of the Sun class libraries are severely behind. My optimistic guesstimate would place them at being about 3 years from full 1.5 compatibility, at which time we're probably using the beta of 1.7.

    However, GNU Classpath has an easier job ahead of them than the Mono folks, which begs the question as to why they chose to go with the Microsoft technology in the first place.

  31. Depends by turgid · · Score: 2, Funny
    Do we still hate Java or what? I'm confused.

    Not if it comes from IBM. We only hate the stuff from Sun, and we also like .NET in the form of Mono, because Miguel started that so it must be cool.

  32. The biggest problem for sun is... by jonwil · · Score: 2, Informative

    How to make sure any released "derived works" of their JRE, JVM and JDK are 100% compatible with their official releases.
    Look at what happened with microsoft, they took the sun JVM and did an "embrace, extend and break 3rd party compatibility" act on it and so Microsoft (up until sun forced Microsoft to remove it) was shipping a JVM that was incompatible with the official VM from sun (and people actually built java apps that only work on the Microsoft VM)

    What sun should do (IMO) is to release the code under an Open Source licence. BUT, if you want to use the sun java trademark (e.g. to represent that what you have released is a java VM or whatever), you need to pass a compatibility test and get a stamp from sun. Then, they could release the compatibility test to the world so that everyone can test their code before it goes to sun for approval. The same test could apply to any java VM or compiler (e.g. GCJ).

    People who want to modify (and share modifications to) the JDK, JRE and JVM can do so. (e.g. people wanting to port the JRE/JDK/JVM to a new platform/OS)
    People who want to try out "unapproved" modifications can do so (with the full knowledge that they arent official and may not be 100% compatible with the official sun releases)
    People who want "java" so they can run java apps can feel safe and only download stuff approved by sun.
    If the licence was like GPL where source must be
    released if binaries are released, it would help prevent what happened with Microsoft and the MSJVM (since any incompatible modifications would mean that you wouldnt get approval and couldnt call it "java" and also any modifications you make would need to be returned to the community).

    Because of the rules for the use of the java name, there would be every incentive for anyone making changes to the JRE/JDK/JVM to do the compatibility test and get their changes approved (the licence, the trademark licence and the other factors would work against any incompatible forks showing up especially since companies like MS with an interest in incompatible forks would not want to use code under a licence like the one I suggest)

    Developers would have a big incentive to write 100% compatible java code (since they would be instantly able to see that their development setup is not "compatible" and unless there is a good reason to use that incompatible VM (e.g. like what happened with the MS VM being used because it was shipped with windows, IE etc), they would be more likely to choose one that had the "java" name and sun "seal of approval".

    And by having a dual licence and/or a "copyright assignment" like OpenOffice/StarOffice, they could also continue offering commercial licences for java like they do now (just like they use outside code contributions to OpenOffice in the commercial StarOffice product)

    There are probobly holes in my plan somewhere through, something I havent thought of.

  33. debugging VM bugs by Pastis · · Score: 3, Interesting

    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.

  34. java vs. .NET??? by jonathanduty · · Score: 2, Insightful

    I've never understood the argument that open-sourcing java will convince people to choose it over .NET? Why would someone choose .Net over java because java is not open source?

  35. The only fork they would fear by alucinor · · Score: 2, Interesting

    ... 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.

    --
    random underscore blankspace at ya know hoo dot comedy.
  36. Sun's marketing clowns by null+etc. · · Score: 3, Funny
    One nice thing about an open source Java is that maybe Sun's marketing clowns would have less input into the "naming" of Java.

    Java 1.1 = Java
    Java 1.2 = Java2
    Java 1.3 = Java2 version 1.3
    Java 1.4 = Java2 version 1.4
    Java 1.5 = Java2 version 5?!?!?!

    I mean crykies, I'm almost in fear of what Java 1.6 will be named. And prepare to move into a bomb shelter when Java 2.0 comes out.

    1. Re:Sun's marketing clowns by fantastic · · Score: 2, Informative

      See this article for some inside info on the naming.

  37. Scripting? by atlacatl · · Score: 2, Insightful

    Web open-source scripting tools, such as PHP You can't make a fair comparison between the Java technology (whatever that means) and PHP.

    PHP has its uses and Java has its uses. And Java is not a scripting language. Just because you can deploy a web site using JSP, you can't put Java in the same category as a web scripting language, me thinks.

    --
    Esta es una firma en Espanol.
  38. Re:Why is there a problem seeing the code? by slim · · Score: 2, Informative

    Any employer with enough lawyers is going to give you guidelines on when it's OK to look at source code, and when it is not.

    At my previous employer (a big IT company you'll have heard of), we were not allowed to even LOOK at GPL software without going through an approvals process first: for fear of "infecting" proprietary code with GPL methods.

    I've not looked at these new Sun licenses, but maybe the idea is that a corporate legal team can look at them and far more easily say "sure, we're happy for you to look at that source".

  39. You can't study Sun's code to learn from it by DaliborTopic · · Score: 5, Informative
    You can even study Sun's source code to learn general concepts for your own project as opposed to just "lifting" it.
    No you can't. Read the fine license, in particular the definition of Modifications in SCSL 2.3. Sun claims copyright on any code independently implementing any portion of the SCSL-licensed technology *if* you agree to their license. So please don't look at their code if you intend to contribute to free runtimes in the future. It's the same as Microsoft's Shared Source in a different wrapping. cheers, dalibor topic
  40. Gentoo Java fact I was very impressed with by BigGerman · · Score: 2, Informative

    Recently I discovered a Gentoo feature that now IMHO makes it the most enterprise Java friendly distro.
    Besides supporting bunch of JVMs, Gentoo integrates all the Java stuff in Gentoo way: you can just "emerge jboss" and you will end up with a complete server environment with all the scipts, etc. Very nice.

  41. Seriously? by razmaspaz · · Score: 2, Insightful

    Java, which faces ongoing competition from Web open-source scripting tools, such as PHP

    Is that a joke?

    I mean PHP is great and all, but are there really fortune 500's out there going "you know what lets replace our entire java infrastructure with PHP"?

    --
    I tried for 5 years to come up with a clever sig...only to realize that I am not clever.
  42. Re:you asked for it... by BigBadDude · · Score: 2, Interesting
    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 ?