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

 



Forgot your password?
typodupeerror
×
Java Programming

Sun Moves Toward "Open Sourcing Java" 165

jilles writes "I found this article at infoworld. Apparently some company executive of Sun was caught saying that SUN Microsystems is moving toward making its Java technology fully open-source."
This discussion has been archived. No new comments can be posted.

Sun Moves Toward "Open Sourcing Java"

Comments Filter:
  • Sun wants everyone to use Java on every platform - without putting forth the effort to port it to every platform themselves. But more importantly, they want everyone to use their compiler/runtime/etc

    Can you clarify these statements? They seem to contradict eachother. If Sun truely wants everyone to use their compiler/runtime/etc, how can they not port it to every platform on their own?
  • by jabber01 ( 225154 ) on Wednesday October 25, 2000 @07:21AM (#676915)
    import com.mon-sense.Grain_of_salt;
    ...
    Grain_of_salt grain = new Grain_of_salt(HUGE);

    The guys context of the phrase "open source" is completely off in the article. He keeps refereing to it as though it were a product, not a mode of release.

    "We're not adverse to full open source [for Java]. It's really what is the right model for that open source and where that model is for that life cycle," Paolini said.
    ...
    "I can say that open source for Java is our goal."
    ...
    "We've really taken a simple program language to a platform very quickly."

    Come on folks! This sounds like a script that seeds press-releases with the latest buzzword. This guy seems to not understand what 'open source' means, and by the last comment, seems to be a little confused about Java - the language, and the JVM as a concept.

    Either that or he was only talking to a bunch of know-nothing MBA's.

    The REAL jabber has the /. user id: 13196

  • Ask Rob about J*va Invaders.
  • "Incorporating it into the OS" does NOT magically give you performance enhancements.
    What improves performance.. is performance enhancements.

    For example, converting the wonderfully portable but wasteful system class zip/jars, into shared libraries. If you're REALLY clever, you would put them into the library in an already initialized state.

    This would then be OS-dependant, AND JVM dependant. But think of the startup gain, not to mention the memory savings on multiple java invokations!

    Heck, a really good jvm would create $HOME/.class-cache, and do the conversion automatically, for system classes.
  • Shortly after IBM announces they're just about ready to fully open java to the outside world, Sun then announces they're planning to do the same thing. This is most amusing in that when they were busy threatening IBM with legal action a month or so ago they obviously had no intention of opening it up, and since they couldn't sue IBM for it they're suddenly trying to look like the good guy. Some companies never change.
  • Request 1: Write a compiler that targets outputs java byte code rather than native instructions. Request 2: While it's not ADA, Apple is doing exactly that with their Objective C bridge in Mac OSX. You can use native classes from within a Java class and vice-versa. I'm assuming something similiar could be done with ADA. Note: My knowledge of ADA is very limited. I have a single book that I purchased and skimmed over a few pages in. I felt it wasn't worth learning as I don't ever intend to code for the US military. Not that knowing ADA is a prerequisite for that anymore anyways.
  • The Java class loader has to make sure that the stream of bytecode is valid Java bytecode (no illegal instructions, no stack underflows or overflows, etc.) for security reasons.
  • Do you really think Microsoft would fork a GPL implementation and open source their improvements?

    Yes.

    If they did, would that really be so bad?

    Yes.

    Realize that everything Microsoft does is to maintain their Windows franchise. So I can easily imagine them forking the code in such a way that it only runs on Windows. Then include it with the default Windows install. And change Windows so other versions don't work or work poorly. And there would be nothing to stop them from adding non-GPL'd extentions. Windows only of course.

    Steve M

  • Sun Microsystems has a history of showing their belief that their implementation of Java is THE implementation - THE Java. I have heard many Java fans say things along those lines: "No, not IBM's version, I am talking about the real Java" (quote of a fan in reference to Sun Microsystem's implementation of Java).

    So the Sun exec does understand his product, but in a very twisted and close minded way that many Sun Microsystems employees and followers subscribe to. I am not trying to troll. I am just stating what I have seen in the "Java community".

    I wouldn't be surprised if they actually considered their implementation to be their specification of Java. There is something truely bizaar about the fanaticism that many of my peers seem to have for somebody else's programming language.

    Just imagine if someone owned the English language. Imagine how happy writers would be... they wouldn't have to worry about someone slintering the language. Oh boy, they would love the restrictive grasp of the ownership around their profession.
  • Did they actually write the class loader in Java? It seems to me that you'd have to try hard to make it this slow.

    In case someone hasn't already posted this, you can download the source from http://www.sun.com/communitysource [sun.com]. Sorry if this is already common knowledge.

    Interestingly, the virtual machine is written in C, not C++.

    The class loading functionality (at least the low level parts of it) appears to be implemented by src/share/javavm/runtime/classload.c.

  • You mean the same way that this has happened to linux? I really hate the fact that we now have several hundreds of different incompatible kernels that all derive from linux! (Yes it's sarcasm.)

    SUN have used "forking" as a rather lame excuse for quite a while now. Why would anyone want to use a different version of Java more than a different version of the linux kernel? If you make a program aimed at "IBM Java" you would lose a lot of customers, and then why use Java in the first place?

    If used for the "good side" this could mean we get more integrated JVM's under our favourite OS's. Native support without hacking the kernel, etc etc.

    SUN's current behaviour is slowing down Java's expansion rate. While this could be a benefit while you are still ironing out bugs, but I think Java is quite capable of standing now.

    Personally what I like best about Java is to study some complicated aspect of programming, and then see the smart way they have made it easy in Java. There is a lot of really impressive engineering behind it.
  • One of the major strengths of java was supposedly to have it not require porting and C# isn't there.
  • Increased startup time, or increased startup speed?
  • > Perhaps they don't want to be perceived as an > "evil corporation"... Yes, this is totally true. The big people in Sun really really really care if they're known as an "evil corporation" by /.ers. Or, it might just make good business sense, and fit into Sun's vision of Open Computing, Dot in Dot com blah blah.
  • I think Sun really did both Javas a disservice by giving them both the same name and marketing them as one thing.

    Java, the object oriented programming language that's like C++ done right, is a very nice language to program in and deserves to do well. Note that you can/could compile Java source into any target language you like, from x86 machine code to Java bytecode.

    Java, the portable bytecode and virtual machine technology is a very useful technology for the network age and is completely unrelated to the programming language. Note that you can/could compile any high level manguage you like to Java bytecode (especially if GCC supports it) from Eiffel to C to Ada to Java.

    So, we're left wondering which of these, if any, or both, Sun plans to "open source"...
    --
  • wrong topic :)

    this isnt going to go over well with the moderation gods hehe
  • In all fairness, GOD am I glad this may happen.

    It always seemed likely that Java should go open source, since the language itself is sort of a forced-open source language. (I'm referring to the extreme ease with which you can decompile Java, and trust me, even if it's been decompile-proofed, it's a snap).

    Also, as someone who has worked with Java for nearly 4 years now, if you follow the Java community at all, you know that the main gripes people have are platform support, and bug fixes. The Sun Java Bug Parade and RFE lists have thousands of votes for fixes and enhancements. Imagine if instead of people just telling them what was wrong, people were sending sun fixes, or revisions.

    This will also help platform support. Java's strength is it's run-anywhere ability. But as of now, there just aren't THAT many VMs available. If that changes, Java could surge in popularity with the platforms that don't get so much software written for them.

    It'll work.

    --
  • you mean .02?

    i am math daemon, hear me correct!
  • If they really decide it's in the best interest of Java® to have libraries like
    import java.win32api.*;

    then, by all means, let them!

    What's to stop them now? They should probably be more like com.microsoft.win32api or something. They can't claim this to be an intrinsic part of Java, of course.

  • > How would I compile, say, Lisp into Java bytecode?

    This [tu-berlin.de] is how. Not much on Lisp, but quite a bit for Scheme. There are also many other languages listed at that site that have been made to work inside of Java. I know that JPython [jpython.org] is very popular!


    > How would I get Ada to access classes that were written in Java?

    Look here [adahome.com].

  • "'We're not adverse to full open source [for Java.] It's really what is the right model for that open source and where that model is for that life cycle,' Pailini said."

    I think I speak for most of us when I say, "Huh?"

  • How would I get Ada to access classes that were written in Java?

    Java supports CORBA. I don't know for a fact that Ada supports CORBA, but I don't see a reason why it couldn't.

  • by sips ( 212702 ) on Wednesday October 25, 2000 @07:02AM (#676936) Homepage
    I think that kaffe [kaffe.org] would really benefit from this. Last I checked they hadn't updated their program for quite a while.

    Also improvements in memory waste of the JVM and sheer size would be greatly appreciated.
  • What about Japhar [japhar.org] and Classpath [gnu.org]? Or SableVM, ORP,...
  • ...the did open source Star Office...

    Perhaps they don't want to be perceived as an "evil corporation"...
  • I don't see a problem with this on an OS Level. As long as the source code level remained OS independent, the JVM and class libraries could be implemented in any way on the OS. The problem comes when one sub-classes a standard or extended Java class. Remember the JVM is already OS dependent.

    If the shared library were for core functionality and any sub-classes scope were confined to the instance that created them, no problem. Since it is the JVM that handles dynamic class loading, this approach is feasible and WITHOUT having to recompile the .class files, which is the ultimate goal.

    The JVM would have to be rewritten to be able to recognize that the java.* and javax.* packages are all shared libraries and that all other packages and classes are dynamic. Or, make it a JVM option. This might not improve memory usage because when classes are loaded dynamically, the JVM has to dynamically instanciate the super classes as well. Each instance of a class would have its own heirachy in memory. It would improve the load process though because of the lack of disk hits needed to load up the core packages since the shared libraries only have to be loaded on the first hit. Another approach would be to have the .zip and .jar files on a RAM drive so that they would not have to endure the disk hit problem. Same effect but much less work. All of this, combined with the HotSpot comiler technology might make programming in Swing an option.

    Of course, I could have completely missed the point.

    --- This is my sig. There are many like it, but this one is mine. ---

  • The hell it isn't a fork of C++. The syntax is IDENTICAL. They took namespaces and called them "packages", removed pointers and called it a new langauge. Oh, and made it compile to bytecode so it would be slow as shit due to JVM overhead. What a great new language...
  • by qnonsense ( 12235 ) on Wednesday October 25, 2000 @11:05AM (#676941)
    BS! You can in fact write (and compile) code for JVM in Eiffel [loria.fr], Fortran [utk.edu], LISP [inria.fr], Visual Basic [tvobjects.com], Ada 95 [appletmagic.com], Python [python.org], PERL [ebb.org], C [novosoft.ru], any language that GCC supports [uq.edu.au], and a whole slew of other languages.

    In the future, keep your uninformed ramblings to yourself.

    See the comments [slashdot.org] to cid#135 [slashdot.org]this page [tu-berlin.de].
  • Increased startup time.
    The speed might be faster too, but I know time is faster for sure.
  • There is an open source Java compiler out there - Jikes [ibm.com]. What bad has become of it?

    The best defense to forking is momentum/inertia. Sun has already said that there are 5 million or so users, who would want to leave them behind? [ibm.com]

  • I've heard similar reports but I tend to among the doubtful. First off, I'm not even sure how one would go about "open-sourcing" Java since that would be blurring the line of specs and programs, and there really doesn't seem to be much argument there. That said, if the specs were modifiable, there would be some use to the ballyhoo. The second point to be made is related to Sun itself, and the high level of unlikeliness in that company releasing the entire source code. Any thoughts?

    1. My Vote's On This Doofus [mikegallay.com]
  • Sun is more likely now than ever before to move towards open sourcing Java. The competition has emerged: Microsoft CLR and C#. Like all Microsoft products, it sucks. Big time. But Sun knows that that's never stopped Microsoft from taking over a market before.

    So now with Satan's Steamroller coming across the horizon, Sun has every incentive to open source Java. Soon, preferably.
    --
  • by Anonymous Coward
    Yeah! And if the performance increase will be anything like the staggering speed-up of Mozilla, then.. umm.. oh wait..
  • What I would rather see is a flash-upgradable hardware implementation of the JVM, on a plug-in coprocessor card, using something like Transmeta's code-morphing technology to execute the Java byte-codes on the hardware level.

    Forget hooking the JVM into the OS of the platform. Make the JVM the HARDWARE of the platform.

    The REAL jabber has the /. user id: 13196

  • Performance and usablity of Java - maybe. Performance and usablility of Linux - NOT.

    ___
  • /. used to have the official Java logo, but sun threatened to sue or something so Rob changed it to what you see now. That's how much Sun wants to support the open source community.

    IBM was about to do the same thing, but the /. community came up with the idea of using a blue brontosaurus for the image instead. Fortunately for Big Blue, they backed down and let us have the stupid image.

    Misfit
  • "There will be some magic point in the future I believe, where we'll reach critical mass.
    When we reach that point at Sun, you'll see us go to a much more open source,"...

    I tought that there are 2 things : open source and close source. Much more open source ?? hmmm, what does that mean anyway ?

    They are stalling with this Sun Community Source License scheme...
    Too bad, I like Java...
  • Part of staying an icon is having a vision and recognizing which way the market is flowwing long term. As has already been addressed by another post, being able to incorperate jvm functionality closer to the kernel would give it a bit of a kick in the pants (which is what MS did in the windows envirnoment sort of). But at a more intere$ting level, one of the growing fields is Training. Sun had already started getting its hand into this. If they are able to boost java's use, and they are seen as the defacto source for java instruction then they profit. Think about it. 12 people paying $2000 for a week's instruction. That is $24000 to cover the cost of a trainer, a site, and some sun nick-nacks. RedHat is diving into training as fast as they can (maybe too fast) because there is profit.

  • (To quote myself)
    You can in fact write (and compile) code for JVM in Eiffel [loria.fr], Fortran [utk.edu], LISP [inria.fr], Visual Basic [tvobjects.com], Ada 95 [appletmagic.com], Python [python.org], PERL [ebb.org], C [novosoft.ru], any language that GCC supports [uq.edu.au], and a whole slew of other languages (170 or so).

    See the comments [slashdot.org] to cid 135 [slashdot.org] and this page [tu-berlin.de].
  • And that's the whole point. There is little question that Sun would still remain in control of an Open Source Java. Especially if this beast were released under a license like the GPL (which would give extraordinary powers to Sun, they could still release versions licensed under a closed-source license, but their competitors would not be able to do the same). If Sun released their source code they would almost certainly end up behind the steering wheel. The only difference would be that it would quiet the doubters. All of a sudden there would cease to be a reason to worry about Java's future. After all, if Sun were to screw up horribly, the Java community could right the ship.

    Forks are evil, but if you base your future on software that you can't fork, you are at your vendor's mercy. If customers want that, they can stick with Microsoft and their solutions.

    Besides, I want a decent Java2 JVM to be part of Debian main. In fact, I want all of the Linux distributions to ship with a Java2 JVM set up and ready to go. Running Java programs should be as straightforward under Linux as running programs written in C. The fact of the matter is that, in the Free Software world anyhow, Java isn't even as ubiquitous as Python, and it is no where near as universal as Perl, and that's Sun's fault, plain and simple.

    Java could easily become the next lingua franca for programmers, replacing venerable C. But Sun's grasp is slowly squeezing the life out of it.

  • Now, when anyone posts how .net is cool for being very cross lingual, just remember folks this is yet another way of doing that same thing.

    GTK also gets kudos for its success in the cross-lingual-hood.
  • It's easy to say "we go open source", because that way you don't have to make a commitment. Now "we're releasing Java as Free software" - that would be a bold move.
  • Hey, if you want low-level Java, why don't you check out www.jos.org [jos.org].

    JOS is an effort to produce a full Java operating system for many architectures. I think the point is to load a JVM "kernel" at boot time and off you go. :-)

    -----
    "People who bite the hand that feeds them usually lick the boot that kicks them"
  • by be-fan ( 61476 ) on Wednesday October 25, 2000 @12:16PM (#676957)
    You're kidding me right? Some guy at Sun slips a comment about OSS and everybody is up in a OSS induced religious fury? Where's the hard evidence? It's not even a f*ing RUMOR! Its silly some of the stuff that makes it on Slashdot.
  • It's amazing what passes for "insightful" these days. First of all, if a license prevents forking then it doesn't meet the open source guidelines. Not only that, but the GPL is the license for gcc, the gnu objective-c runtime, and countless libraries. One memorable fork in recent time was the gnu/linux split for the standard c library, and that ended up being unified quite nicely. In my opinion, being allowed to fork is necessary. Even if forking isn't desired, it must be allowed.
  • Oh, please God, help Sun Micro... do a complete international standardization of Java FIRST! This to keep our semi-beloved Java free from the impurities of Hell, um, I mean Redmond, WA, and free of the unclean touch of the dark lord, um, I mean Bill Gates.

    It is only through standardization that Java can be assured to be kept truly pure and cross-platform operable as an open product. Proprietary extensions, while seeming useful to large groups of users, erode overall product usefulness and cross platform compatibility. Remember the early days of both Javascript and ASP.

    Code commentary is like sex.
    If it's good, it's VERY good.

  • In an interview with the IDG News Service after his keynote address, Paolini reiterated that Sun will eventually also make Java's source code fully open but said that he could not give any predictions as to when.

    "I know you want me to say it will be in a week or in a year, but I can't say that. I can say that open source for Java is our goal. But we also continue to provide an environment that benefits everyone," Paolini said.

    Huh?

  • Starbucks opens the source to their award winning Nutmeg Coffee.

    When asked to comment about this, they said "We hope to attract more of the computer scientists to our business. They have to get their buzz somewhere, why not get it from the OpenSource Java Leader?"
  • I meant distributing forks as Java. Obviously every new modification in some way will make a fork of a previous and a later version. And thus if you were to prevent forking in the global sense, all modifications would be prevented. I don't know where my mind goes some days.

    What I meant was a more open license being used for Java would be a good thing, and I would support them in this, even if they preventing forking by means similar to the ones you name (registation and certification.)

    Anywhere, here is java's future in action:

    http://java.sun.com/features/2000/10/jcp.html?fron tpage-banner [sun.com]

    They appear to be reaching out to the various interests involved in Java programming to approve changes in a congressional manner. I don't know if I should demand better representation, or less taxes.

    -Ben

  • If I'm not mistaken, they use the original BSD license, which qualifies under the OSD. They also no doubt use GCC as their compiler, and it's GPL-ed. Maybe they don't like applying the GPL to their work, is that what you are trying to say? I'm not sure I'm getting your point.

    Thanks

    Bruce

  • Then they cannot use a GPL license. It's one thing for an editor like emacs to fork, another for a language to fork.

    That's a just plain dumb statement. Without language forks we would still be using Fortran or arguably Fortran/Cobol/Algol/Lisp.

    Java is itself a language fork for christ's sake. Surely you've heard of it's predecessors C++, C with classes, K&R C, C, B and BCPL. Not to mention the many other langs it stole other idioms from!

    The GPL is a like an ecology. If you don't suck, you survive. If you do, you get killed.

    Maybe under GPL, Java would be able to grow up and become a champ. But if it gets it's neck snapped off by an inspired left hook thrown out of the Eiffel camp, so be it.

  • I completely agree. But that is why the Sun executive George Paolini made this statement:

    "There will be some magic point in the future I believe, where we'll reach critical mass. When we reach that point at Sun, you'll see us go to a much more open source."

    How many forks are there in the Linux kernel? Linux is under GPL, but Linus is still regarded as the central authority for maintaining the main kernel releases. Once Java reaches the critical mass that Sun is waiting for, the advantages to forking over the source code to create an incompatible Java instance will be overridden by the momentum of general public using Java.

  • First of all, Sun has already released the source to the JVM, quite some time ago. It's just not under what some people consider an open license. The article was talking specifically about changing the license to GPL or something similiar.

    Second, it would NOT be awesome if they opened the spec up to everyone, like an RFC. If it was, anyone who wanted to add a new API class or method or change the way a class worked would be free to do so, creating a large number of incompatible version of Java. This is precisely what Sun is trying to avoid. Now maybe they should release control of the spec to a standards body, but that is a different story. Besides, Sun created Java and they should be able to do with it as they see fit. If people don't like it they won't use Java and it will go away.
  • by sammy baby ( 14909 ) on Wednesday October 25, 2000 @07:57AM (#676986) Journal
    Java is itself a language fork for christ's sake. Surely you've heard of it's predecessors C++, C with classes, K&R C, C, B and BCPL. Not to mention the many other langs it stole other idioms from!

    Calling Java a "fork" of C++ because C++ preceeds it and has some things in common is patently ridiculous, and appropriation of features from other languages does not a fork make.

    Don't forget that Java itself is basically just a specification for a language and a means of implementation. The stuff that Sun [ is | may be ] looking at open sourcing are their virtual machine and bytecode compilers (we assume).

    The "forking danger" here is that a bunch of other organizations might simply decide they want to introduce new stuff to the language and say, "Okay. This is our version of Java. So there." Microsoft licensed the technology from Sun and proceeded to do just that, completely against the terms of the contract.

    (Incidentally: John Heilemann writes a fantastic article about the Microsoft anti-trust suit in this month's Wired [wired.com]. He asked Steve Ballmer if Microsoft believed they were signing the contract in bad faith. His answer was a bit on the long and vitriolic side, but it seemed to boil down to, "Of course we were, and the sub-50 IQ people at Sun were morons if they didn't think so too." Yes, "sub-50 IQ" was his phrase.)

    Would it be so bad if someone forked the code in that manner? Maybe not. But I suspect that plenty of people are twitchy about just that possibility, given the whole J++ fiasco.

  • ...But they still need to relax their Distribution restrictions - If java2 doesn't come as a standard part of Linux distributions, they will have hard Time trying to attract Linux users. Windows users will go with .net anyway. Which leaves OS X/Solaris as the only serious java2 platforms.

    Both have the problem of running on hardware with a bad bang/buck ratio.

    Hopefully their co-operation with apache project might eventually wake them up.
  • If you consider what happened with StarOffice having the GPL applied to it, and Sun seeding the GNOME foundation, this is a lot deeper than a reaction to C#. Sun looked at how the community felt about the SCSL license on StarOffice and decided we were right. They looked at GNOME as the right choice when CDE and other consortium projects didn't pan out. They've heard our criticism on Java's licensing, and they might percieve that their present strategy is holding Java back. Sun is coming to the understanding that the Free Software paradigm is the future for computer infrastructure.

    Thanks

    Bruce

  • Java the environment takes in all of those pieces. I don't think it's bad to call a large package of different components that are meant to work together "Java".

    The language definition is already out there for people to use, as are the APIs. That leaves the JDK and the various Java packages as the main thing that is not Open Source.

    Thanks

    Bruce

  • And I doubt Sun is anywhere near an understanding that 'the Free Software paradigm is the future for computer infrastructure'.

    First there was IBM. Then, Digital provided an alternative. Then, Sun provided an alternative to Digital. Then a whole bunch of people marketed Unix-like systems based on Free Software and provided an alternative to Sun. Sun's got to notice, and they don't want to go the way of Digital. So I think they might be getting that message.

    Thanks

    Bruce

  • by sammy baby ( 14909 ) on Wednesday October 25, 2000 @02:42PM (#676995) Journal
    The hell it isn't a fork of C++. The syntax is IDENTICAL. They took namespaces and called them "packages", removed pointers and called it a new langauge. Oh, and made it compile to bytecode so it would be slow as shit due to JVM overhead.

    So you think the two languages are essentially the same because of the syntax? Allow me to introduce someone who believes the contrary. His name is Bjarne Stroustrup [att.com].

    If people insist on comparing C++ and Java - as they seem to do - I suggest they read The Design and Evolution of C++ (D&E) to see why C++ is the way it is, and consider both languages in the light of the design criteria I set for C++. Those criteria will obviously differ from the criteria of Sun's Java team. Despite the syntactic similarities, C++ and Java are very different languages. In many ways, Java seems closer to Smalltalk than to C++.
    - from Bjarne Stroustrup's personal FAQ [att.com]

    Of course, Stroustrup doesn't really like Java all that much, so you might infer that his claim might be biased by a desire not to be associated with it. In any case, I'd say this pretty neatly blows a hole in your theory that Java is a fork of C++ because the syntax looks the same.

  • by spitzak ( 4019 )
    Hey, SUN! Why not give out the source code for NeWS?

    Preferrably the original Gosling NeWS server, not the X11/NeWS hybrid. Both would be even better, though...

  • Java is already being shaped by expert group communities, with Sun's developers at the helm having the final say. How is this different from the same way structures work with other open source projects? You're free (in most countries) to download the source code to Java's classes and runtime JVM implementation, you're just not allowed to make your own one based on Sun's implementation, and you're not allowed to call it 'Java' without paying Sun a lot of money for a license. Who cares? If you want to participate in the Java community, almost all the flexibility you need is there.
  • Certainly kaffe [kaffe.org] exists. They will benefit, not because they cannot currently exist but because they will have to go through fewer legal hoops to get there.
  • There are some things that make an OS lite enought to run properly and there are some things that are rather bad to do. I think when you start to shove things into the OS domain you really start to get bloat similar to microsoft products.

    In theory why aren't people working on running OS level perl and php as well considering all the use that these languages get in the world today.
  • You forgot the third, IMHO most important, part of Java: the huge set of APIs and frameworks. Sure the language is nice, sure this cross platform VM is a nice gimmick but the API is what is responsible for the reduction in development time many developers are experiencing.
  • "the DFSG and its derivitave the OSD are the generally-accepted definition of Open Source"

    Tell that to the folks over at OpenBSD [openbsd.org]. I'm sure they will disagree right after showing you the source to their software.

  • Calling Java a "fork" of C++ because C++ preceeds it and has some things in common is patently ridiculous, and appropriation of features from other languages does not a fork make.

    And, if you can believe it, from the same message!

    The "forking danger" here is that a bunch of other organizations might simply decide they want to introduce new stuff to the language and say, "Okay. This is our version of Java. So there."

    You're killing me here! Good stuff!

    Ok, I'll concede that Sun didn't actually say "Okay. This is our version of C++. So there". I guess that name change must be the difference.

    But wait!

    Would it be so bad if someone forked the code in that manner? Maybe not. But I suspect that plenty of people are twitchy about just that possibility, given the whole J++ fiasco.

    Microsoft did change the name and it wasn't enough. Argh! I'm confused! (or someone is anyway)

  • Yeah, which Java? Java the language? Java the security model? Java the Virtual Machine? Help me out here.
  • The statement "Sun wants everyone to use Java on every platform - without putting forth the effort to port it to every platform themselves." is only contrdictory if you assume that to have java on every platform then Sun will have to port it to every platform. If they open-source the code (under whatever restrictive license they need to keep control of it) then OTHERS will do the porting for them. They will have it on every platform, they will have control over it, and they'll only have to expend a fraction of the resources they would expend if they ported it themselves. This also lets their user community decide which ports get done and how quickly, rather than Sun guessing which port has the highest priority.

    -Adam
  • Whether they have a problem with people changing it the way MS tried changing it depends entirely on what they source and how they license it.

    I doubt Sun is opening all of java, and I doubly doubt that they will use a licensing scheme which allows others to 1) fork the code and 2) change the code significantly without their stamp of approval.

    -Adam
  • ...which I'm sure many of you will do. ;)

    If they open source Java - wouldn't it be very easy at that point to incorporate it at a very low level into an operating system (especially an open source OS like Linux)? Thereby increasing performance and usability...

    Just a thought.
  • by karzan ( 132637 ) on Wednesday October 25, 2000 @07:06AM (#677015)
    Just make it Open Systems! If they made Java a completely Open System, designed by industry consensus and completely backward compatible with a publicly available spec, anyone could create a complete Java implementation, open source or not. This is far more important than availability of source, but then again Sun has been more against Open Systems than any of the UNIX vendors, historically.
  • ...there will exist a JVM that isn't broken? The Java Virtual Machines are known for their memory taking and process slugging performance. If they open source this, I can't wait to see what an incredible increase in performance this will mean for Java programs!


    -- Don't you hate it when people comment on other people's .sigs??
  • by OlympicSponsor ( 236309 ) on Wednesday October 25, 2000 @07:08AM (#677020)
    "Java" can't be open sourced--it's a specification, not a program. So is he talking about releasing the source to their implementation (which would be largely worthless*) or about opening the spec up to everyone to modify like with RFC's (which would be awesome)?

    My guess: Neither one. The guy was speaking at ApacheCon, he was just using "Open Source" as a buzzword. At best, we'll see the source code of some (not all) of their implementation.

    *Obviously this would provide immediate help to projects like Kaffe, but it wouldn't be all that useful long-term.
    --
    An abstained vote is a vote for Bush and Gore.
  • by stienman ( 51024 ) <adavis@@@ubasics...com> on Wednesday October 25, 2000 @07:09AM (#677022) Homepage Journal
    This is really just a reaction to C#. Rather than trying to submit Java to a standards body and let everyone make their own Java compilers (instead of Java - like compilers) Sun wants everyone to use Java on every platform - without putting forth the effort to port it to every platform themselves. But more importantly, they want everyone to use their compiler/runtime/etc

    This may or may not happen, and it may or may not benefit them. But if it does happen, it can only benefit us.

    -Adam

    It's no match for Larry-Boy and his Super Suction ears!
    "spluh, spluh, spluh, spluh, spluh"

    How do you make a squeeking, suctioning sound in cyberspace?
  • BS! You can in fact write (and compile) code for JVM in Eiffel, Fortran, LISP, Visual Basic, Ada 95, Python, PERL, C, any language that GCC supports, and a whole slew of other languages.

    In the future, keep your uninformed ramblings to yourself.


    Eh? That's what I said. Which bit of "you can/could compile any high level manguage you like to Java bytecode (especially if GCC supports it)" didn't you understand?

    Maybe you parsed "from Eiffel to C to Ada to Java" as three conversion stages, when what it actually means "encompassing a wide range of languages including Eiffel, C, Ada, Java and many more". My sloppy use of English idiom, perhaps...
    --
  • by Benjamin Shniper ( 24107 ) on Wednesday October 25, 2000 @07:11AM (#677027) Homepage
    Then they cannot use a GPL license. It's one thing for an editor like emacs to fork, another for a language to fork.

    They must use a different license, where forking is somehow not allowed. I think that's understandable for a piece of software on which millions of other pieces of software are based, such as Java. Although they want it to grow and change quickly, they want it to stay in one version, if only to keep sanity in the ranks of millions of Java programmers (like myself). Can you imagine if someone came out with a Java++ with new features and incomplete support for new initiatives that came along?

    Oh wait...

    So I support Sun, as a Java programmer still. And I understand why a "pure" GPL license probably isn't the answer in this instance.

    -Ben
  • by Bruce Perens ( 3872 ) <bruce@perens.com> on Wednesday October 25, 2000 @07:51AM (#677038) Homepage Journal
    Sun can indeed use the GPL on Java, or any other Open Source license. However, Open Source licenses may not, in themselves, prohibit forking. That would be a prohibition on modification or distribution of the modifications, which is specificaly excluded in the Open Source definition.

    What Sun can do is use a certification program and trademarks to enforce the Java definition. If you modify it, you can't call it Java(R) any longer, and you can't display their certification badge on your product's packaging and literature.

    Thanks

    Bruce

  • Designing an ASIC to run Java byte code native might sound appealing at first, but it is ultimately a losing proposition. General purpose hardware (in this case, commodity microprocessors) ramp so incredibly quickly that investing in a special purpose "accelerator" is almost always the less cost-effective approach.

    Obviously, graphics cards are the exception today. The reason? Graphics processing is incredibly hungry, and parallel by nature. Rendering and texture mapping can be parallelized far more easily than other desktop-style applications.

    It is less clear that an ASIC JVM would make sense. Recall the early days of software mp3 players. When you were running an inefficient software decoder on a P100, you could notice the performance loss. Many people talked about how cool it would be to have a special ASIC run the algorithm in hardware on your sound card. Well, ramping up a project to design, market and sell such a device would have taken so long that by the time it hit shelves, everyone would be P200's with better optimized players and no longer care.

    As long as CPU cost / performance keeps ramping like it is, hardware accelerators for special functions are not going to be attractive. I just can't see the demand for such a device. Besides, how much speed improvement could the device really buy you without being a fairly advanced processor itself?

    rambling on a Wednesday,
    Lenny
  • RFC 882 put the dot in .com, not Sun Microsystems
  • I'm certian this decision is a long time coming, and that it has been discussed for the past several years at various times. But I would not be surprised if the decision was tipped toward open source (not free software, read the article) due to MS's NET strategy, and integral part of which is C#.

    And I doubt Sun is anywhere near an understanding that 'the Free Software paradigm is the future for computer infrastructure'.

    -Adam
  • by Bruce Perens ( 3872 ) <bruce@perens.com> on Wednesday October 25, 2000 @07:54AM (#677042) Homepage Journal
    The ones that I wrote with the Debian developers. ESR didn't have anything to do with them, he came along 6 months later and adopted them. RMS approved of them at the time. If you don't like them, that's your privilege, but the DFSG and its derivitave the OSD are the generally-accepted definition of Open Source (and for that matter, Free Software as well).

    Thanks

    Bruce

  • Java is definitely C++ done right, as a language.

    Unfortunately, the whole virtual machine approach sucks like a 2-dollar hooker.

    Why not have to linker grab the .class and(!) native .obj files that your application needs (and nothing more) and link them to one executable?

    It would solve a large number of problems that are now plaguing Java applications:

    (1) A need to deploy the run-time
    (2) another need to deploy the run-time everytime you upgrade the jdk.
    (3) an unnecesary requirement for the run-time to remain backwards compatible.

    Why not take the sealed jar approach to the logical point where it not only contains all the .class files your application needs but the .obj files as well?

    In such case, an executable would have all its dependencies, contained in its own file, and there would be no need to remain backward compatible. The new executable would simply contain the new dependencies!

    Second, I would like to see:
    import org.myorg.somefunctionality.1.99.* As some

    Instead of:
    import org.myorg.somefunctionality.1.99.*

    It prevents global name space pollution, and it clearly indicates what namespace the classes and methods come from. Now you would have to write the horrible:

    org.myorg.somefunctionality.1.99.someClass myvar=new org.myorg.somefunctionality.1.99.someClass()

    I would like to see instead:
    some.someClass myvar=new some.someClass()

    Open-sourcing is definitely needed, so that we can finally move the thing forward!
  • As an attempt to please the developer community, I think they'd do better with some standardization of the core product (language,vm,core classes).

    I know standardization is slow and can inhibit development (and the ground is well trodden), but developors' need that reasurance that what's written today doesn't need rewriting tommorrow.
  • If I'm remembering recent history correctly, the term "open source" was coined for the purposes of marketing the free-software meme. It was deliberately decided that the term needed a careful definition to prevent the mistake that you are making: you are assuming that if you can put your eyes to the source code, regardless to the terms & conditions for doing so, then you are viewing "open source" software. This thinking is in error. OpenBSD predates the time when "open source" came into use. By the way, their license meets the guidelines at opensource.org anyway. (so what's your point?)
  • by rw2 ( 17419 ) on Wednesday October 25, 2000 @07:12AM (#677050) Homepage
    ...the did open source Star Office...

    Yeah, but without printing capabilities!

    What's Java going to be missing, sockets?

    But seriously folks, Sun, whatever their motivation, is going in the right direction. Support them. Few believed them when they said they would open soffice, but they did. Let's give them some props.

  • I mean, get real. Sun is spitting out this merely as a publicity attempt. Will it go open source? Who knows, not even them at this point. But that doesn't top them from using the open-source frenzy from grabbing a little publicity.

    "There will be some magic point in the future I believe, where we'll reach critical mass. When we reach that point at Sun, you'll see us go to a much more open source," said George Paolini Sun's vice president of technologies advocacy and community development in the conference's first keynote speech.

    "I believe".... not "Sun will"

    I'll believe it when when I see it!
  • by SpookyFish ( 195418 ) on Wednesday October 25, 2000 @07:12AM (#677052)
    Hate to say it, but Microsoft's .NET strategy is a pretty compelling vision. While it "embraces" Java, it will always play second fiddle in Microsoft's eyes. As with everything M$, it will take 2-3 years before .NET becomes decent.

    Open sourcing Java now will allow it to evolve with a much higher degree of innovation than it has to date. IMHO, this will give it a strong fighting chance to stay ahead of the .NET snowball in being a foundation for the coming net centricity of virtually everything.
  • You must not have tried creating or running Java apps on various JREs. There is a difference in each one and it's not just performance... There Sun opening up the source to their implementation would be great for a truly standard jvm.

  • Actually, IIRC, which I may not, Java is implemented at a fairly low level in Mac OS X. What this would really mean is that open source OSes like Linux could implement Java at a really low level and not have to cut any deals or make any sacrifices to accomodate the VM. That would be cool. Real cool. Too many people complain about how Java is slow, but that doesn't seem to apply to programs running under Linux. Low-level Java support would allow a whole lot of neat programs.
  • You can fork the implementation (ie: the code of the "compiler" and the JVM).
    If you fork the language, it isn't Java anymore, so you can't.

    ____________________
  • > I don't think it's bad to call a large package of different components that
    >are meant to work together "Java".

    hey, shouldng' that be GNU/Java?

    [duck]

    :)
  • by mughi ( 32874 ) on Wednesday October 25, 2000 @08:58AM (#677059)


    I think this is a great idea if they do it. Javadocs are cool, but sometimes, you have to go find the source to figure out how ther *^&$ thing *really* works.


    I'd have to disagree with you on that one there.

    • Sun already includes the public source for the class library with the JDK
    • Depending on one vendor's internals is a bad thing
    • You should be counting on the Java Language Specification [sun.com], not the vendor's implementation
    • Good automated test cases should keep you safe

    Far too often I've seen bad coding implemented for the sake of 'optimization' and 'work-arounds'. While I'm not dismissing knowing what's going on, it's far more important to do things cleanly and to test things. A good test case run against multiple VM's is far better than a stroll through the code. Especialy if in that stroll you pick up some assumptions on how things work and missapply them later.

    Also, I've seen 'fixes' people have put in that later break things worse when stepping up the VM. Just switching to IBM's VM, or from 1.1.x to 1.3.x should not cause any problems.

    For an example of vendor-specific class sources, compare java.lang.String.valueOf( int ) in Sun's 1.1.x and IBM's 1.1.x. Some would recommend going with Integer.toString( int ) instead as an 'optimization'. However, it makes the code less clear and less reuseable, and, more importantly, in IBM's VM doing that is actually slower. And even in Sun's VM doing the 'optimized' thing is not significantly faster. So why then do some recommend that 'optimization'??? Because they looked into the Sun 1.1.x sources and decided to change their application's code based on their examination of the Sun sources.

  • by stienman ( 51024 ) <adavis@@@ubasics...com> on Wednesday October 25, 2000 @09:11AM (#677065) Homepage Journal
    Well, I must admit that this is a matter of opinion and speculation. But from where I'm standing, here's what it looks like:

    Sun has always been server driven, and application servers are a future we are looking at now. The hardware to run those servers is what Sun will make its money on. Netscape tried to make this a reality with their integrated communicator product, and their server software, but they were only selling software, and it is mainly an issue of manpower and money to drive a software company out of the market, rather than time. Hardware takes time, and if Sun can get their product out the door as a complete solution for application servers, they are set for the short term.

    Microsoft, however, knowing that Intel (and consequently AMD) is creating more powerful hardware which will transcend the desktop for pennies wants the market that netscape, sun and all the other major player were after: distributed computing, especially in the context of application serving. Imagine a world where users don't have to buy new software every year, upgrade their computers infrequently, and have instant support. This is the holy grail of money making: Software is now a service, not a unit or product. Rather than making $80 per computer sold for Office, MS is going to be making $5 a month from all these people who want to buy cheap, small, non-upgradeable computing units. Even those people who now only upgrade office every other version will pay this. Now MS doesn't have to pay for packaging, distribution, etc. They just need to set up companies with servers and their software. The company gets a cut, MS gets a cut, which is significantly larger than what they are getting now.

    Sun now has a problem: if NET takes hold of a significant share of the market (as it will, since this is the third time MS is at bat in this market ;-) then Sun will have a VERY difficult time selling its hardware. In order to protect the market so they can insert their servers into it they have to get the people so entrenched into Java than NET fails.

    C# isn't the ONLY reason they MIGHT open-source java, but it is the straw that broke the camels back. It is an integral part of MS's NET strategy, and must be in place before MS can effectivly get developers on board their vision.

    -Adam

    #include "speculation"
    #include "grainsalt"
  • you're just not allowed to make your own one based on Sun's implementation

    A Java platform compatible environment, with all the class libraries, would AFAIK have more lines of code than the Linux kernel.

    you're not allowed to call it 'Java' without paying Sun a lot of money for a license

    Free software reimplementations of the UNIX platform are called POSIX standard compliant systems. What will free software reimplementations of the Java platform be called?

  • Okay slashdotters time to earn your keep in a sponaneous hacker elite contest.

    How would I compile, say, Lisp into Java bytecode? How would I get Ada to access classes that were written in Java?

    The winner gets to overthrow/undermine .NET
  • Sun wants everyone to use Java on every platform - without putting forth the effort to port it to every platform themselves. But more importantly, they want everyone to use their compiler/runtime/etc

    Huh?? The VM and Language specs are freely available. So is the source to the runtime libraries. Re-implement them all you want, nobody is stopping you or forcing you to use their runtime. There are several platforms for which there is no up to date Sun runtime, but there is a third party runtime. There are also several current VMs which "compete" with Sun's. I'm sure they couldn't care less. They don't sell VMs, they don't even sell Java products!

    I think Java is still in an immature phase. It still needs to be centrally controlled. Just look at the number of "community" proposals: there are tons of them, many of them which would have very broad impact on Java. The problem is not that implementations will fork - who cares. The problem is that these nascent specs will splinter and leave the entity known as "Java" in many various flavors which may or may not be reconcilable (e.g., everybody comes up with their own RPC apis and libraries? etc.).

    I think we should lay off Sun a bit. Kirninghan faced this very same problem when everybody was jumping on him to add their favorite new whizbang feature and he resisted (yeah, yeah, C is an ANSI standard...Java is not there yet, there is still stuff to clean up).

    As a daily Java middleware developer (CORBA/Servlets/MOM, etc.; yeah, I'll admit it), I think Sun has done a pretty damn good job at giving everybody a pretty solid language which is lovely to develop in, tomes of *well designed*, refined APIs and libraries, and liberation from platform dependence -- all for free (if not Free).
  • by Auckerman ( 223266 ) on Wednesday October 25, 2000 @07:18AM (#677073)
    GPL'ing Java would be a mistake. The only way Sun could ever keep Java from being polluted like every other web standard MS has touched is by still maintaining the related Patents and Copyright.

    Open Sourcing of Java is not magical pixie dust. It won't lead to anymore developement than it has now. Sun should release full OSS Java Compilers, along with detailed sample code and headers with the purchase of a $20 book. You need to get the hearts and minds of poor college students, then once they are in the industry you can move to screw Microsoft.

  • I don't think so if you look at it IBM is doing the same thing. I think there are at least a couple of reasons. 1. And I think most important is mindshare. They understand that there are alot of very bright people who prefer to work with stuff that is open. They therefore can gain mindshare and goodwill among alot of people for basically nothing. Think about how many people a couple of years ago hated IBM and how many now think they are kind of cool again. 2. They get work for free we get better tools. This is IMHO a good thing for everybody
  • If "open source" (what ever their definition of it is this week) is what Sun has to say to get folks attention then hell thats what they'll do. An "open source" java from Sun means nothing without Java itself being submited to a standards body like ANSI. More lip service from Sun's marketing to make them look like the nice guys while they plan their next points of attack against MS and the Linux/Unix world.

    Peter
    --
    www.alphalinux.org
  • Open sourcing java (if they mean the jdk) may work much better than projects like mozilla and openoffice.

    Mozilla and openoffice are both more or less monolithic, huge heaps of source code. It is very difficult to handle them in open source projects. (X11 is a similar thing, and XFree has long been developed by a relativly small, well organized bunch of people).

    The jdk consists mainly of two parts: The virtual machine and the class libraries.
    Huge parts of the libraries are written in java, and their interfaces are somewhat documented, so it may be easy to subdivide it into smaller projects.

    The VM may be split into a base system and a a JIT compiler, both are reasonably sized for an open source project.

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...