Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×

Sun to Release Java Source Code 349

pete314 writes "After resisting for years, Sun Microsystems CEO Jonathan Schwartz at JavaOne this morning said that he will release the source code for Java. The company is asking developers to provide feedback on how to best get there and prevent forking and fragmentation."
This discussion has been archived. No new comments can be posted.

Sun to Release Java Source Code

Comments Filter:
  • C'mon Sun, we're sick of hearing about the pending open sourcing of Java. Show us the license!

    I know, I know, Sun's afraid that Eclipse is going to... well eclipse the sun, but c'mon! make it GPL, retain the trademark and you won't believe the explosion in Java coding you'll see!
  • by mungtor ( 306258 ) on Tuesday May 16, 2006 @03:57PM (#15344659)
    That's why they have resisted it for so long. Now it will just be one more thing where there are sneaky, annoying inconsistencies between distributions. Nothing will be "broken", but things will end up being implemented slighly differenty and some portability will be lost.

    I guess it doesn't *have* to happen, but there seem to be more than enough people that want to take Java away from Sun that it's inevitable.
  • by pla ( 258480 ) on Tuesday May 16, 2006 @03:58PM (#15344680) Journal
    Jonathan Schwartz at JavaOne this morning said that he will release the source code for Java. The company is asking developers to provide feedback on how to best get there and prevent forking and fragmentation.

    Well, as a developer, I will tell you THE one and only way to prevent forking and fragmentation...

    Don't release the source code.


    Oops.
  • by gronofer ( 838299 ) on Tuesday May 16, 2006 @03:59PM (#15344686)
    The code isn't going to fork itself. If Sun is doing a reasonable job maintaining the source code, they don't have much to fear from a fork. If they are not doing a good job, a fork would hardly be a bad thing.
  • Change the title (Score:5, Insightful)

    by clevelandguru ( 612010 ) on Tuesday May 16, 2006 @03:59PM (#15344696)
    The title should read "Sun to Open Source Java". The source code has been available for a long time.
  • Huh? (Score:4, Insightful)

    by Bill, Shooter of Bul ( 629286 ) on Tuesday May 16, 2006 @04:01PM (#15344708) Journal
    Java offers nothing useful or exciting compared to what's out there.

    What else is *out there*? c,c++,C#, Visual Basic, Python? If your going to tell me its terrible, I certainly understand that point of view, please at least tell me what you cosider to be better and what applications you have in mind. Just telling me its bad and not good for much, doesn't help much.

    Any suggustions to what is out ther that holds such great advantages to Java?
  • Trademark usage. (Score:4, Insightful)

    by Anonymous Coward on Tuesday May 16, 2006 @04:01PM (#15344711)
    What I don't get is why Sun have such a hissy fit over supposed Java incompatibilites introduced through forking of free licensed code. What's to stop them preventing people from calling derivitive versions 'Java'? Sun could implement strict compliance testing, a-la UNIX, to ensure that derivitives are compatible, and can license the 'Java' trademark for use by those compatible versions. Problem solved.
  • by Trigun ( 685027 ) <evil@evil e m p i r e . a t h .cx> on Tuesday May 16, 2006 @04:02PM (#15344717)
    Create a strong community with strong corporate involvement. If somebody does fork the code, the project will either die or be assimilated back into the main branch. Don't worry too much about others, just make sure that Sun will stand behind an official community. And standing behind them also means listening to them, even the ideas that you don't like.

    Look at Perl. It's open source, and hasn't really forked. It has, however, evolved.
  • by geoffrobinson ( 109879 ) on Tuesday May 16, 2006 @04:04PM (#15344738) Homepage
    Anyone can use the code. You can only call yourself "Java" if you hit certain specs and pass some tests. In other words, if you can prove that you meet the Java standards (with API support etc), you can call yourself Java and use the source code. If not, you aren't Java. Feel free to use the source code.

    This may not be a GPL license, but that's alright.

    Is there any reason why such an approach wouldn't work?
  • by cfoushee ( 803584 ) on Tuesday May 16, 2006 @04:08PM (#15344765)
    If they were to license it under the GPL that would kill it because all the commerical applications that rely on it would then have to go GPL as well. They would have to use something more like the LGPL or the apache license model so that commerical appication can leverage off it and still have their own licensing.
  • Criteria #1 (Score:3, Insightful)

    by TopSpin ( 753 ) * on Tuesday May 16, 2006 @04:11PM (#15344792) Journal
    Whatever 'how' you come up with must satisfy one simple criterion: make it possible for the major Linux distributions to include the Sun JVM, runtime (tailored to whatever degree necessary to work well,) and source, in their product.

  • by Coryoth ( 254751 ) on Tuesday May 16, 2006 @04:12PM (#15344801) Homepage Journal
    Unfortunately, one of OSI's core requirements is forking. So Java will never be able to make the pundits happy.

    Sure they can - there are other ways to pevent forking than in the license. Look at most of the major OSS projects around and you'll see that there is very little in the way of forking - sure minor forks exist but they quickly die. Sun doesn't care about some minor fork of Java that 20 people use that eventually dies, they are worried about a significant competing standard that honestly splits developers between two different platforms. How often has that happened with big OSS projects? Hardly ever. The question is not so much "what can be done to prevent forking" but "what happens that causes a successful fork". The major examples of significant splits in the OSS world would be Emacs/XEmacs, gcc/ecgs, and XFree86/Xorg. In each of those cases the reason for both the fork, and the success of the fork, comes down to the original project stagnating and being unresponsive to change. Avoid that and you tend to avoid significant forks.

    Jedidiah.
  • by magicjava ( 952331 ) on Tuesday May 16, 2006 @04:13PM (#15344808)
    Is there any reason why such an approach wouldn't work?

    That approach works great. That's the license they already have.
  • Sun doesn't care about some minor fork of Java that 20 people use that eventually dies

    But they DO care about IBM or Microsoft creating a VM that advertises compatbility, but actually pulls the bait-and-switch routine. Remember, Microsoft already tried to pull that routine with the NON-OSS version of Java. It was the license that stopped them. This time, you can be sure that they would stay precisely inside the letter of the law. No Java trademarking, but no compatability testing either. Companies will start to rely on it for its Windows performance, and then Microsoft will start introducing subtle differences. Before you know it, users will blame Sun for being incompatible.
  • by Were-Rabbit ( 959205 ) on Tuesday May 16, 2006 @04:20PM (#15344871)
    Whereas I'm not surprised that Slashdot is bringing out the normal anti-Sun's-attitude-towards-Java dogma, is this really a surprise? Jonathan Schwartz is closer to being a pro-Slashdot geek than Scott McNealy ever was. If anything, McNealy was just an arrogant ass who liked staying in his ivory tower with Bill Gates and Larry Ellison. Schwartz has always shown to be more of a geek than McNealy, and releasing the source code to Java has been a "cry of the geeks" for a long time.

    (Note that I don't use "geek" derogatorily as I fondly consider myself to be one.)

    Sun is giving us a ton of surprises in the past few years with Schwartz on board - from AMD processors to their first, AFFORDABLE powerhouse workstations (Ultra 20). I'm not surprised by this move at all, but I also don't blame them for wanting to be able to protect one of their revenue streams. At least Sun is trying. I guess the Slashdot "make it free or forget it" is still too strong, based on the responses I've seen so far in this thread. Looks like when it comes to Java, Sun is damned whether they do or don't. Pity.
  • by Coryoth ( 254751 ) on Tuesday May 16, 2006 @04:25PM (#15344923) Homepage Journal
    But they DO care about IBM or Microsoft creating a VM that advertises compatbility, but actually pulls the bait-and-switch routine. Remember, Microsoft already tried to pull that routine with the NON-OSS version of Java.

    Sure, but they will still own and control the Java trademark and they can simply bar such bait-and-switch advertising. Microsoft can fork Java all they want, they just can't call it Java, nor Java comnpatible. Besides MS is unlikely to do any such thing now since their efforts are heavily sunk into C# and .NET.

    Jedidiah.
  • Comment removed (Score:5, Insightful)

    by account_deleted ( 4530225 ) on Tuesday May 16, 2006 @04:28PM (#15344946)
    Comment removed based on user account deletion
  • by magicjava ( 952331 ) on Tuesday May 16, 2006 @04:30PM (#15344959)
    No offense to Perl fans out there, but Perl doesn't have a Microsoft and and IBM trying to purposely introduce incompatable forks.

    Making Java open source, in the sense of a GPL or similar license, will kill Java.
  • by Coryoth ( 254751 ) on Tuesday May 16, 2006 @04:30PM (#15344961) Homepage Journal
    Which interestingly enough took place between proprietary systems, not open ones. In that sense the UNIX wars are more akin to the battle between Java and C# and .NET (which could, indeed, be seen as damaging to the VM market). That is to say, regardless of what Sun does with Java they are already facing the same sorts of problems.

    Jedidiah.
  • by VGPowerlord ( 621254 ) on Tuesday May 16, 2006 @04:44PM (#15345127)
    They're afraid that someone will linux it.

    That is, come up with a new implementation that will become more popular than the original.

  • by zyche ( 784345 ) on Tuesday May 16, 2006 @04:47PM (#15345178)

    I don't care one bit about Sun Java as open source. Sure, it could be nice, but do you really think that a great number of amazing programmers would eagerly step up and immediately start to maintain and improve Java? And in that doing a better job than Sun & JCP is doing right now? Don't think so...

    However, there is one thing Sun could do... one very important thing: remove the stupid click-through license on downloading the Java source-code. That one thing would mean that the BSD portstree or Gentoo portage could build Java from source - unsupervised. Today it's a total pain to manually download a bunch of distfiles. Even the patches can't be distributed without a click-through license. That sucks.

    But then ofcourse, legal redistribution of Java binaries wouldn't hurt either...

    But Open Source Java? Nah... Not really needed.

  • by jmorris42 ( 1458 ) * <jmorris&beau,org> on Tuesday May 16, 2006 @04:49PM (#15345200)
    Seriously, at this late date in the game who cares anymore what Sun does? Those who care not for Freedom have already adopted Java and those who care are either using another language or are now firmly in the GCJ camp and, knowing Sun, won't leave for any bait & switch offer from Sun. I mean, raise your hand if you believe Sun's offer to "open source" Java will actually become a code dump under an OSI approved license. And the odds of it's license (and you can bet your last dollar it WILL be Yet Another License) being GPL compatible are null.

    Even today's new initiative to loosen the binary license to permit distribution repackaging is being being greeted by a certain amount of scepticism just because it is Sun. Personally I'll believe it is for real (as opposed to a deal for certain select popular distros, much like the Firefox trademark bullcrap) if jpackage.org can finally ship a binary rpm.
  • Re:Huh? (Score:1, Insightful)

    by dgatwood ( 11270 ) on Tuesday May 16, 2006 @04:50PM (#15345201) Homepage Journal
    Well, for one thing, it is slower than native code. For another, its garbage collection has a tendency to result in really bad performance stalls, making it useless for anything involving real-time (eve soft real-time) performance. So it's worse than just about anything other than scripting languages in that regard.

    For another, its portability has been hampered by not fully supporting interesting OS features, which means that there are all these OS-specific extensions to add things like audio support, making it not much more OS-independent than C when it comes to open source development. The result is that any apps that are very complex at all will utterly fail to "run anywhere".

    For another, there is little incentive to ship a single binary for multiple hardware platforms. The extra overhead of building a binary for another platform is negligible once you get past the OS-dependent stuff (which Java for the most part fails to solve). If you have to do extra work for each platform anyway, you're 80% of the way to doing it right....

    Next, Java generally fails to result in apps that match the native OS look and feel, so Java apps tend to seem very foreign on any platform on which you run them. They don't integrate well with other apps, don't do a good job of supporting OS services, etc. This makes them far less ideal from a UI perspective than writing in C/C++. With C and C++, assuming you separate out the interface properly, it is possible to write an app in which the vast majority of code is shared across platforms, but the UI portions are per-platform. This allows much tighter platform integration for a relatively small amount of effort. You just can't do that sort of thing with Java in any practical way.

    Finally, Java makes it hard to add debug functionality into your code without a performance hit. You can do this trivially in C with #ifdef code that makes the debug code fall out entirely. All you can do in Java is run-time testing, which hurts performance. The more debug code, the bigger the hit.

    The bottom line is that pretty much any compiled language has great advantages over Java. Platform independence was made out to be the be all and end all of software design, but it turns out that most people would rather have software that runs well than have software that runs everywhere.

  • by blamanj ( 253811 ) on Tuesday May 16, 2006 @04:54PM (#15345250)
    Take a feature like generics. There were at least two implementations (Pizza, GJ) available a couple of years before JDK 1.5. That's a fork that could have happened easily.

    There are also raging debates over how certain numerics extensions should be done. You could argue that a minor fork has already happened with logging. Some people have a strong preference for Log4j over the Java API.

    You get three or four examples of good but different forks, and Java as a stable, uniform platform could be in trouble.
  • by misleb ( 129952 ) on Tuesday May 16, 2006 @04:55PM (#15345264)
    Don't release the source code.

    Or another option is to not piss off contributors by rejecting suggestions and otherwise being resistent to change. Nobody is going to bother forking if Sun remains responsive to the community.

    -matthew
  • by Coryoth ( 254751 ) on Tuesday May 16, 2006 @05:00PM (#15345324) Homepage Journal
    You throw out a couple of scare scenarios here with either Microsoft or IBM making a mess of Java, but as far as I can tell they are just that, wild scare scenarios that simply aren't viable if Sun is at all on the ball. For starters Sun can keep the Java trademark and simply bar Microsoft and IBM from advertising whatever they care to sell as "Java". From there it is a question of exactly how either Microsoft or IBM is going to get their new language and VM (whatever they decide to call it - maybe microsoft will call it C# and .NET; no, wait, they already did that) to be dominant, or at least bootstrap it into being a competing standard. Microsoft can do that, as you point out, by leveraging their monopoly. The thing is they've already done that: C# and .NET. They can do that quite successfully whether Sun opens sources Java or not. So for Microsoft the argument is rather moot. What about IBM? They don't have a monopoly to leverage so they'd have to resort to the nasty tactic of making a better language and VM with better libraries to manage to get it to take off. But wait, they can only do that if Sun drop the ball in exactly the manner I described and let Java stagnate and become unresponsive to change. So we're back where we started. Sun open sourcing Java really isn't going to make a lot of difference unless Sun drops the ball themselves - which is exactly what I originally said.

    Jedidiah.
  • IBM? Microsoft? (Score:2, Insightful)

    by Julian Morrison ( 5575 ) on Tuesday May 16, 2006 @05:08PM (#15345396)
    Firstly, IBM are the good guys nowadays. They like open source, because they make their money selling integrated systems and it's nice if someone else does the donkey work.

    Second, MS may be as evil as they ever were, but the whole "they'll fork Java" thing is so 1990s. Java is (a) very very solidly entrenched in its serverware and small cross platform app niche (b) a competitor to their flagship C#, so the last thing they want is draw people back to Java, of any fork or species.

    Microsoft's probable response to OSS Java, would be to comb through the source code for bugs, and call a press conference to announce "one gadzillion bugs found in open source Java, more probably exist".
  • by Anonymous Coward on Tuesday May 16, 2006 @05:11PM (#15345433)
    There is of course a simple solution to this issue. Just license it under the GPL and Microsoft won't touch it with a 10 foot pole. IBM on the other hand....
  • In other words, if you can prove that you meet the Java standards (with API support etc), you can call yourself Java and use the source code.

    It's worked well enough for the C camp. Has Java been submitted as an EMCA or ANSI or ISO standard? Of course there are multiple competing compilers which I guess is what Sun wants to avoid.

    This is good for the community; maybe not so much Sun. It will at least force Sun to stay on their toes; maybe by doing so they'll manage to invent a new business along they way (and disappoint Cringely).
  • by Yaztromo ( 655250 ) on Tuesday May 16, 2006 @05:15PM (#15345482) Homepage Journal
    The code isn't going to fork itself. If Sun is doing a reasonable job maintaining the source code, they don't have much to fear from a fork.

    That presumes that there isn't an 800lbs. gorilla sitting in the next room just plotting to catch you unaware and clobber you.

    In the current OSS world, there is a sort of agreed upon level of friendliness between projects. Projects may compete, but they also cooperate, and everyone is more focussed on creating the best project they can, and not just trying to kill off the other guy.

    Microsoft, however, is a business -- and their business has always been to kill off (or buy out) their competition. Playing fair doesn't figure into the equation. They control the platform that 90+% of users are running on their desks, and they control a LOT of developers, both inside and outside Microsoft (and we've all met the type -- the developer who is so sold on using all Microsoft technologies, they'll use a poor solution and write 200 lines of code to do what you could do in 6 lines of code in another, non-MS environment, just because their solution is based on Microsoft technologies).

    So how is this for a scenario: Microsoft comes out with a new release of Visual J++.NET based on Open Source Java, but changes the bytecode generated subtly to make it incompatible with other JVMs (or, perhaps worse, decides to add a few of their own keywords to the language, and ties them directly into Windows-specific APIs). They don't call it Java -- they call it "Visual J++.NET", however the pro-Microsoft developer probably already associates "J++" with (what they think of as) "Java", and decides to use it for all of their Java development.

    Suddenly the Java world is flooded with code that only works on MS VMs. Microsoft winds up controlling a huge percentage of the Java developers of the world, and can start dictating the Java APIs and features developers use (as they can just start sticking whatever they want into their implementation, and as they have a huge army of 3rd party developers who will start using these features, the rest of the Java world has a choice: either implement the new MS features into the VMs on other platforms, or try to maintain Java purity and lock themselves out of a lot of applications developed on Windows, and create confusion for end-users by requiring them to have two competing VMs installed on their systems).

    MS could also start bundling their modified VM with each and every Windows machine. When a desktop user encounters a "pure" Java application that they can't run, they'll either demand from developers versions of these applications which are specifically designed for the MS VM, or simply won't use these applications. This will be especially bad for things like applets and Java WebStart.

    I can see all sorts of ways this could be bad for Java (and Sun). Unfortunately, Sun can't maintain the status quo either: they're losing ground in the Windows world (and it could be argued they never had a lot to begin with: while I'm sure there are a lot of Java developers on Windows, outside of some server-side stuff there really isn't a lot to like about actually running Java applications on Windows), and need the Open Source Linux world no their side in a big way. Sun would be fine if it wasn't for the fact that there are so many developers out there sold so completely on the "One Microsoft Way" when it comes to development tools and environments -- Microsoft has a stranglehold on a lot of devs out there, and those devs don't care about MS's dirty tactics so long as they have a huge captive audience to sell solutions to.

    Yaz.

  • by FatherOfONe ( 515801 ) on Tuesday May 16, 2006 @05:19PM (#15345523)
    If Sun can stop anyone from using the word "Java" then we agree, but if they allow forks then it appears that Microsoft could call it MsJava and change their vm to also accept Java compiled code.

    I am not talking about a complete rewrite of a language like they did with .Net and C#. I am talking about them having control of a JVM. We have lived in that world and it sucked, I don't think anyone wants to go back to it again.

    As far as IBM goes they still own a lions share of the server market and could easily fork J2EE. That would also suck.

    Now I keep asking myself "what problem are we trying to solve?" People want the source to Java... No problem. They want to write their own JVM? No problem. They just need to pass the certification. Is that free? Nope. Do you have a passion for 3D game programming and want to help develop Java3D? No problem, get on the JCP and I am sure your help will be greatly appriciated. Want to help out with the core API's? No problem again, much like Linux though, it may not be accepted. So I ask again. What problem are we trying to solve?

    How is this going to make my life as a Java developer any better?

    How is this going to make the average computer users life better?

    I am not trying to be a jerk here. I am just curious if I am missing something obvious.
  • Re:IBM? Microsoft? (Score:5, Insightful)

    by Schraegstrichpunkt ( 931443 ) on Tuesday May 16, 2006 @05:19PM (#15345525) Homepage
    Microsoft's probable response to OSS Java, would be to comb through the source code for bugs, and call a press conference to announce "one gadzillion bugs found in open source Java, more probably exist".

    I think the last thing Microsoft wants to do right now is to put "lots of bugs == bad" into people's minds.

  • good move (Score:3, Insightful)

    by unk1911 ( 250141 ) on Tuesday May 16, 2006 @06:10PM (#15345961) Homepage
    i think this is a great idea. one of my biggest annoyances with writing java apps has been that if i ever wanted to release my programs and didn't want to make any assumptions about my users (mainly that they had any version of java already installed on their system let a lone a level of java that matched my own level) i would have to deploy a very heavy 50MB JRE with my 100K app... i think with the opening of the java source, much like in the linux world, someone will repackage the JRE and just keep the very bare-bones essentials so that instead of deploying a 50MB+100K apps i can deploy a 5MB+100k app.

    --
    http://unk1911.blogspot.com/ [blogspot.com]
  • Re:Huh? (Score:3, Insightful)

    by owlstead ( 636356 ) on Tuesday May 16, 2006 @08:42PM (#15347161)
    "It is provably true. The proof is trivial, in fact. Java is non-native bytecode. Therefore, at some point in time, that bytecode must be translated. This takes time."

    That may be, but if you acquire information while the code is running, then you may be able to speed things up a bit. Normally, natively compiled code does not do that. Besides that, this is all theoratically speaking. The same argument was used against C: anything you did should be slower than assembly, no? It turned out that compilers won from assembly most of the time: computers are much better in following guidelines and testing for optimum performance than users are.

    Besides that, I would not mind spending a bit of time for added reliability and security on 90% of my applications.

    "Since few OS services are bridged except those that are fully cross-platform, a Java app cannot fully take advantage of the latest technologies in any OS."

    That depends. Some things are enabled automatically. But one of the main points is write-once, run-anywhere. Sure, you can get out of that using JNI, but you may have to rewrite certain bits. On the other hand, how do you know that an application that you write runs smoothly on another machine if you used C++? What if it is an older machine?

    In my opinion, the main advantages of Java are the simplicity of the language, the well-documented and largely very understandable API, the availability of a very large repository of usefull components (check out Apache!), the inherent security architecture...the list goes on. Even if you were 100% right on the previous two points, there is enough merit in Java to take it seriously. And if you look at the penetration rate of Java, well, it's HUGE. Mobile phones, smart cards, TIVO's, blu-ray will use Java, embedded devices and of course many businesses that take security and reliability seriously.

  • by dnoyeb ( 547705 ) on Tuesday May 16, 2006 @10:08PM (#15347638) Homepage Journal
    Sun is worried about IBM forking there code. Which is predictable. Or what about Microsoft trying to take another jab at Java. its not Open Source developers they fear.
  • by Decaff ( 42676 ) on Wednesday May 17, 2006 @05:27AM (#15349260)
    In the alternative universe that you live in that all might be true. The fact is that Microsoft's server software now outsells all of proprietary Unix combined and keeps on climbing in market share.

    I suppose you do realise that one of the most important deployment platforms for J2EE is Windows Server? You are confusing 'server operating systems' with 'software deployed on those operating systems'.

    And of course we don't need to discuss the desktop.

    Where Swing has a bigger presence than Webforms.

    Java was never even a blip on the desktop radar screen...even in the open source world.

    Wrong. Java has substantial use for internal desktop development.

    But it's not just .NET/Mono that is intruding on Java's server space. You've got LAMP and RoR. And those solutions are chipping away at Java on the low-end. By the time Java only has the very high-end server space left, it'll be all over.

    What a set of delusions! Mono simply doesn't exist as a server solution, and RoR, for all its hype, is hardly used at all for serious commercial development.

    You need to take your Microsoft blinkers of and take a look at the real world. Java use is still growing - check any technology analysis or job market survey.

Today is a good day for information-gathering. Read someone else's mail file.

Working...