Sun Says Java Source Already Available 304
mjdroner writes "In an InfoWorld article, Java CTO James Gosling says that source code for Java has been available for 10 years. Gosling claims Java is close to an open source model, though discounts Sun joining the Eclipse Foundation. He goes on to say that Eclipse's endorsement of the standard widget toolkit destroyed interoperability, saying it's based on the windows API, making it problematic to run on other platforms."
Re:It's available? (Score:5, Informative)
http://wwws.sun.com/software/communitysource/j2se/ java2/download.html [sun.com]
All clear?
Re:It's available? (Score:3, Informative)
The situation is pretty good now, but it certainly hasn't always been like that.
Re:It's available? (Score:3, Informative)
http://wwws.sun.com/software/communitysource/j2se
That said, the license is somewhat less than free
Re:It's available? (Score:2, Informative)
C:\Program Files\Java\jdk1.5.0_06\src.zip
Re:It's available? (Score:2, Informative)
Re:Concerning Java. (Score:5, Informative)
Re:It's available? (Score:4, Informative)
Of course the source code is available, but you have to personnally agree to a restrictive license. This is why Sun Java is not easily available as the OpenBSD Makefile for 1.5 port shows:
Re:It's available? (Score:4, Informative)
Open source is more than that (Score:5, Informative)
While I can understand Sun want to maintain control of the standard, they've got to open up the source. It sounds a little harsh considering .NET is not open at all (although MS do provide a reference version of their CLR), but it has to be done.
Sun needs every friend they can get and putting Java into every distribution of Linux is one very good way to make a lot of friends. That means opening it up. Naturally they'd be frightened of some bastardized FrankenJava appearing, but they would still maintain the standards and the trademarks and they could enforce them. Who knows, perhaps opening the source will stimulate the platform once more.
Another way of stimulating the platform is to embrace Eclipse & SWT. Sun may hate to admit it, but Swing sucks. It's a very nice and flexible API but in practice it sucks. Swing apps run with the grace and speed of a slug. Swing apps look weird even when attempting to look native. At least bundle SWT with the JRE and let people decide which to use. SWT has it's faults too, but it sure as hell transforms the UI experience of Java apps. Aside from SWT I cannot fathom why they won't embrace Eclipse. Eclipse makes Java development easy. The platform has been cursed with crappy tools (especially GUI editors) for too long and it will have to pull its socks up if it wants to compete with Visual Studio.
Re:Swing (Score:4, Informative)
SWT-FOX (http://swtfox.sourceforge.net/) looks like a good idea and is supposed to be faster, but I have never been able to get it to work satisfactory (font problems, crashes). AFAIK, it is being maintained by a single person in his free time. Perhaps RedHat or Novel should support the project.
Don't get me started on SWT anyway - I think the design is terrible; it looks like a somewhat cleaner port of MFC.
Re:WTF? (Score:3, Informative)
From your link: "The current model for Java is close to an open source model, Gosling said." So, he's not saying it is.
And the way that the "Open Source Community" uses the term "open source" is really beyond the plain meaning and historical usage of the term; and only makes sense if you've had your ideological briefing. Java is open source in the sense that the source code is open and accessible. It just doesn't meet the "Open Source Definition".
Re:Download Link (Score:3, Informative)
Re:Swing (Score:3, Informative)
SWT is far from perfect. It's definately more a hack than Swing, which is setup very neatly. But it does not matter, it's pretty smooth, has very nice widgets and always uses the underlying platform L&F. The Swing default is the Sun look and feel, which is beautifull, but not something I want. On most applications you cannot set the L&F yourself, and the developers choose either Swing L&F, the platform L&F or even worse, AWT. As long as the Swing applications are not in agreement *themselves* and as long as Sun does not make the platform L&F the default, Swing is doomed.
Re:Concerning Java. (Score:1, Informative)
Re:Destroyed Interoperabilty? (Score:1, Informative)
It runs cleanly, fast on Windows and Linux.
Is it free? No. But the relatively small price for a professionally written IDE is well worth it.
More related to the thread, Intellij is an example of Swing Application that is responsive and has the same look and feel on multiple platforms (specifically, any platform that runs Java 1.4).
Yes, it is available... (Score:4, Informative)
You do need to "register" with Sun to get the source, but same goes even for New York Times... The registration is free.
Open Source does not mean Free Software ! (Score:2, Informative)
In fact you can get the source code, if you accept to sign a licence restricting you to distribute a modified version or reuse the code elsewhere.
So basicaly: the source is availabile (it's opensource) but not reusable freely (it's not free software).
Sun executives often do this confusion when interpreting the F/OSS calls for a free java.
Meanwhile, linux distributors don't make the same mistake: that's why (java being considered non-free) you won't find the Sun jdk/jre in the redistributed medias of Debian, Fedora Core, OpenSuse or Ubuntu (and *BSD, even).
Re:Let's Define Our Terms (Score:4, Informative)
Re:WAKE UP! ...Smell the Coffee! (Score:3, Informative)
If you were talking about JVM's there are "competing implementations" please see http://en.wikipedia.org/wiki/List_of_Java_virtual
And perhaps when you were speaking of 'no standard for Java' you forgot to look into http://en.wikipedia.org/wiki/Java_Community_Proce
Re:Swing (Score:4, Informative)
Re:Shills polluting the conversation? (Score:2, Informative)
Here's a good overview that I should have put in my original post:
SWT on Wikipedia [wikipedia.org]
SWT is tied to the Windows API? (Score:2, Informative)
Re:Shills polluting the conversation? (Score:4, Informative)
IBM put a whole lot of time and energy into optimizing for Windows because it allows them to sell WebSphere studio for Windows. Optimizing for other platforms isn't cost effective, so they didn't do it. But what they did do is release the source, so someone with expertise on other platforms can pick up the ball and run with it and, when it passes all the tests, be merged back into the main eclipse source tree. The extensive tests are key in facilitating this process.
If SWT were to be included in the JRE, I think you'd see at least Apple (who distribute their own JRE anyways) spend sigificant effort in making SWT performant on OS X. I don't think its unreasonable to think that such an effort wouldn't be organized for Linux as well. But as long as SWT is just "that Eclipse thing", these efforts won't happen.
My one quibble with what the GP said is the "SWT is what Swing should have been" comment. SWT wasn't designed to be what Swing tries to be. It was designed to be much less OS abstracted. Much of the ugliness of the underlying OS filters through into SWT (widgets requiring parent composites, requiring developers to call dispose, requiring developers to update widgets via syncExec and asyncExec). JFace, on the other hand, is much more comparable to Swing. It burries much of the ugliness of SWT and presents a much cleaner interface to the developer. It's a shame that the people at Eclipse chose to create only an SWT download and an RCP download and not a JFace + SWT download.
Re:We're beyond Java these days. (Score:2, Informative)
I'm a few years out of programming languages, but it sounds to me that you're butchering the use of dynamic vs. static languages. To my knowledge, dynamic/static is used in programming languages to refer to two properties: scope and typing. This is, of course, not to be confused with compiled vs. interpreted languages.
So, why are dynamically typed languages popular? They're popular because they know how to do things implicitly. We get these niceties like the ability to use numbers as strings without calling atoi, or use input strings to do math. Basically, dynamic typing lets you code faster because you don't have to constantly worry about casting things to the appropriate type.
Dynamically scoped languages are, in my opinion, rarely useful. The only valid use that I have ever had is to temporarily override a global parameter. For example, in Perl I might call local $/ = undef ; to temporarily enable 'slurp mode' in Perl. However, this is pure laziness, I could just as easily store $/ in a temporary variable and restore it when I'm through. Finally, even though languages like Perl are dynamically scoped, a sane programmer would never take advantage of this feature. How can you debug a value when you aren't sure where it came from?
Finally, Java/C are not free from runtime type detection errors. Java will happily throw a ClassCastException if you try to cast an Object to something that it is not. C makes it even worse and will dutifully make the cast and entirely muck up your data structures when you try to use the improperly cast object.
In my opinion, people don't use languages like Ruby/Perl/Python because they are superior architectures. They use them because they are easier to learn.