Java: One Step Closer To Open Source
Ritalin16 writes "Sun Microsystems on Monday intends to celebrate the 10th anniversary of its Java programming language by sharing the proprietary source code for several key Java applications used by corporate customers. Sun officials believe that by making the source codes open to developers, they will spur more involvement and use of Java-based applications."
Ahh, someone who wants to make a front page slashdot article, but doesn't understand Java. What's worse? The editor that posts it, and doesn't understand java.
The source code being released isn't "source code for several key Java applications," its the source to Sun's java application server (called "Platform Edition 9"). Other app servers you probably have heard of are WebSphere, WebLogic, and.... the open source JBoss! The reason Sun is open sourcing their app server is because no one uses it!
If a company wants to run a giant professional website and has money to throw at it, they'll get WebLogic or WebSphere to run it. If they don't, they run tomcat (if no EJBs requried) or JBoss. No one uses Sun's app server cause its new and immature.
This is not a step towards opening Java. The only relation this has to Java is the fact that it runs Java code and is written in Java. Just because sun open sourced it doesn't mean its thinking about open sourcing the Java lanugage.
Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
This doesn't really matter to Java detractors. IT types, usually not programmers, will bring up the same old tired clichés.
Somewhere around the year 2000 Java became uncool especially with younger programmers. I guess because it became an institution taught in high schools everywhere. Maybe programmers feel Java is rammed down their throats so they champion less established languages even something by Microsoft.
Java really is the best thing out there for a lot of things. Sun can give away everything and detractors will be like: "OK but what about your first born child?"
Java: One Step Closer To Open Source
*sigh* Sun is already as open as they're going to go with Java by releasing it under the Java Research License. Now Sun has never complained about or hawked Open Source JVMs, but neither have they been too keen on helping out projects who bite their hands. As a result, the project to watch is the Apache Harmony Project. Given that Apache maintains a close relationship with Sun, hasn't burned their bridges, and has a good track record for completing very complex software, there's a good chance that the Apache JVM will quickly exceed Kaffe and GCJ.
Javascript + Nintendo DSi = DSiCade
Wow, this is truly original. This is definitely a "Can't beat 'em? Join 'em" situation.
You never saw a fish on the wall with its mouth shut.
... just need to jump in both feet and get it done with.
Shadus
You mean I take my own equipment and have a picnic in the city centre?
Are we going to have open source cakes and sandwiches as well?
liqbase
If Sun really wanted to be helpful they could forget the application server and really forget the source, and just concentrate on making a less restrictive BINARY license for redistributors such as linux distributions. Java is being held back in the absence of something like Harmony, and that's just absolutely rediculous when the problem would be so easy to fix. Sun needs to come to terms with reality and realize that they need an installed base, not the other way around.
In other news, the Ford Motor Company announced today a bold new initiative to sell more cars. It seems that they will now be allowing customers to open the hood and tinker with the engine after buying the car. Ford expects this to increase the popularity of their cars and create a huge market for third-party add-ons.
Unknown host pong.
As if Java isn't slow enough, they open source it just in time as .NET is 100x better and faster.
Java would have been great if it ever worked with swiftness. Oh well... that time has come and gone. We'll see what happens.
The price is always right if someone else is paying.
Sun will not go completely open-source. They already have JBoss, which is open-source... too bad that no one I know of uses it. Also, I doubt anyone would have used Platform Edition 9...unless they made it Open Source and promoted the hell out of it, which is why they are doing this. Everything will remain closed-source. *shrugs* just my 2 cents, though.
Earn a % of cash back from Newegg, Tiger Direct, Walmart.com, and more: http://www.mrrebates.com?refid=458505
They already did that*.
--
* Well, mostly.
sigs, as if you care.
News articles, like this one, have a way of being read by my bosses who mistake their content entirely. "I just heard that Java is free, can you look into that?"
Of course any discussion of Java isn't complete without someone bringing up that it's slow and bloated. I don't mind the speed, because I don't use any java applications that need to be all that fast. IANA programmer, but java seems to have a horrible leak in it. I have to shut down my freenet node and restart it about once per day because javaw.exe slowly nibbles away at the available memory and will routinely eat up 99% of the CPU usage. The highest the memory usage has gotten before I restarted is ~ 181MB. Over 10% of my total memory!
Free MacMini
Enjoy!
I get the feeling that the core of Java has been allowed to stagnate at Sun, and they've mostly been concentrating on their web applications for Java.
Maybe once the open source community get their hands on it, they can start improving the VM and actually have it start performing at acceptable speeds.
Get the wording right. If you mean Java might get a more open license or Apache/BSD style license say that.
---- Berlin Brown http://www.newspiritcompany.
Isn't the purpose of open-source to allow customizations through new implementations of said software?
For he today that sheds his blood with me shall be my brother.
I am supprised about SUN's move and wonder whether this move by SUN will also mean that it will be more open about SCO's case. SUN have been silent throughout.
SUN should be saying these words, or these words should be going on in SUN's mind..."Life is still worth living because even as costs double and profits fade, we (SUN) still hang on!"
This of course, meant that Java got used for everything -- including the presentation layer of web applications where it is ridiculous. It took at over 5 years and Google's "revolutionary AJAX" to get people to start paying attention to Javascript/DHTML again.
Well, now that enough web apps have sucked down enough wages to export enough tons of gold via 747s to India, the savvy corporates are starting to realize that there is a limit to the degree they can sodomize the American programmer at the expense of their stockholders -- especially with Google being so fashionable. The jig is up.
Seastead this.
This doesn't really matter to Java detractors. IT types, usually not programmers, will bring up the same old tired clichés.
Same tired old cliches. I can tell you first hand that lots of major developers of Java and early advocates have been turned off directly by issues that could have been addressed by open sourcing it. But that won't stop you from your tired cliches that it doesn't matter, just because you don't want it to matter.
I was developing major applications with it before it reached 1.0, and still work with it quite a bit, but it becomes more and more irrelevant despite my best work because Sun wills it to be irrelevant. Even as a major early licensee of Java, basic problems were not considered important enough for Sun to solve, and it hasn't changed much.
Somewhere around the year 2000 Java became uncool especially with younger programmers. I guess because it became an institution taught in high schools everywhere. Maybe programmers feel Java is rammed down their throats so they champion less established languages even something by Microsoft.
Again, strong on cliche, very weak on technical understanding or demographic fact, but at least you contradict your prior nonsense that it is not programmers turning away.
Java really is the best thing out there for a lot of things. Sun can give away everything and detractors will be like: "OK but what about your first born child?"
Go whine somewhere else. You think you should dictate what is useful to us without giving us adequate control to meet our needs? We will continue to use Java less and less as other tools continue come forward that are more responsive to our needs. The stuff we run today in Java doesn't benefit from the JVM and will be ported away as performance becomes more important and other features we need to build in are still not available in Java, since it is not open.
The whole attitude that somehow open source is wanting more from Sun than it would contribute back is ignorant, uninformed, short sighted, etc. Sun and their apologists should get a clue. Open source would make it responsive to a much wider range of developers and would produce developments Sun was too blind to pursue or pursued way too late and too little. Any harm has already been done to a great extent by Sun's pig-headedness. They should go off in a corner and use it by themselves if they don't want to open it up.
Waiting for Java has become a dead issue. No one expects Sun to get a clue, so why are you still whining that some in the past thought they might.
Who is John Galt?
How many steps are there?
Java is dead, long live LISP.
Themes.
Comment removed based on user account deletion
I have been a Java developer since year dot (well it feels like it) and I can't understand the fuss about having an open source Java. Most of the libraries that I use (in fact all I think) are fully open source along with the application server the only bit that isn't is open is the core libraries but these are given away for free and I have never run into a license issue.
The only thing that I would like in terms of openness is a packaging license that allows the registered linux distributions to repackage the JVM because current installation methods are a pain (I'm on Debian which probably makes it worse that on a lot of other distros).
Other than that I like the stability that is granted by having one company at the wheel. If Sun decided to loose the plot and start imposing strange conditions on VM useage I am sure an open source VM would appear the day after tomorrow. Until then though I will keep buy as many free VMs as I can.
I used to have a better sig but it broke.
Unacceptable.
And how will the Suns opening up the source codes increase my the productivities?
Thanks for not understanding anything about Java. Java CAN use native widgets -- check out SWT. SWT apps look great. Take Eclipse and Azureus for example: they're superb applications, they integrate well with nice shortcuts and launchers and whatnot, and they look wonderful. Even swing apps can look great if some effort is put into their design; Netbeans is a great IDE.
Steve O'Grady, an analyst at research firm RedMonk, said although the Linux community will not be happy about another open source project that isn't offered under the Generel Public License (define), he said the addition of an application server under CDDL will please organizations that have plans to use OpenSolaris.
Indeed! For one, I've never heard of it.
We're going to see the reasonable end of Java soon, its only surviving remnant being JavaScript. Here's why.
.NET applications written in C# to linux. I'm sure many of you know that C# is syntactically VERY similar to Java. So why stick with java when you can write almost identical code and have it run many times faster in the same environment?
I remember five years ago when we were developing Java apps. We complained because Java was so slow compared to machine-specific compiled languages, but we were ecstatic about the convenience that it earned us because the JRE was implemented on every platform that we would ever want to use. We predicted that hardware speed would continue to grow indefinitely, to the point that Java would be just as fast as these other compiled languages.
Sadly, Java's hourglass has run out of sand. We're still sick of it running more slowly than C for desktop applications and sick of it running more slowly than (insert web language of choice) for web applications. Tomcat is nice, and using POJO's for data storage is nice, but nobody in their right mind is willing to take the performance hit anymore.
To make matters worse, we have projects like dotGNU and mono that allow us to port our
Mods: Do you disagree with me? Go ahead and mod me down. Meta-mods will sort it out. Good luck!
May as well download IBM's JVM or Microsoft's to get reasonable native widgets. With Sun's campaign against native libraries, they should have supplied something themselves and not killed off all the competing libraries, each of which worked better than theirs.
Sun still doesn't "get" open source. Check out this interview on news.com with Scott McNealy, Sun's CEO.
We have a strategy that's very different from everybody else's, and it's community development. The way we say that is with the S curve in all our new literature. It's not for Scott, it's not for Sun, it's for "share." We're grabbing that word and saying, of anybody, we own the word "share." We own that space.
The oxymoron appears to have gone unnoticed. But it makes it very clear that Sun is still all about proprietary stuff. They might share it, but they still own it. And that's straight from the horse's mouth.
So.. it has come to this
Oracle Universal Installer
Iiieeeee! The tenticals!
The product name is new, the product core is not. Other names it went by include (in chronological order)
All you touch and all you see is all your life will ever be
You know they must be hurting if they feel they have to do this to make a profit at this point.
Being kind of open-source is like being kind of pregnant.
Look, either we can see the source for Java or not.
In this case, it's a not.
Sun: Thank you, come again.
http://tinyurl.com/4ny52
SWT runs on Java the language but it is not Java itself. That is to say, it is not part of the Java platform. It is a product of IBM-- it's a third party library-- and is not promoted or supported by Sun. If he wants to complain about the Java language maybe he's being unreasonable, but if he wants to complain about Sun's Java then things are quite different.
Irritable, left-wing and possibly humorous bumper stickers and t-shirts
It would have been nice if the Sun Java App Server could have become an Apache project instead of a CDDL project. It would have been a perfect match for Apache. But maybe that was asking for too much. Sun was very generous when they donated Tomcat to Apache back 1999 (and perhaps Sun's management thinks they were too generous since Tomcat forms the foundation for some products which now compete with Sun)
Yes, I know that Geronimo is working under Apache to do an app server too, but they are still have a long way to go to be production ready.
Note to those who become involved with the new GlassFish project. If you ever get any leverage with Sun, please ask for an Apache License.
This is not a step towards opening Java. The only relation this has to Java is the fact that it runs Java code and is written in Java. Just because sun open sourced it doesn't mean its thinking about open sourcing the Java lanugage.
Okay, that would explain a lot.
But when I first saw the thread, I thought it meant that Sun was opening the "source" to javac and java, and then I got to wondering: Okay, what language are those programs written in? C++? C? Bison?
Or is it largely "machine code"?
progress. In 1992, OF AMERICA irc
This is a free software license which is not a strong copyleft; it has some complex restrictions that make it incompatible with the GNU GPL. That is, a module covered by the GPL and a module covered by the CDDL cannot legally be linked together. We urge you not to use the CDDL for this reason.
Also unfortunate in the CDDL is its use of the term "intellectual property".
Or JOnAS!
Constitutionally Correct
Java is a COMPILER and an interpretor. The startup time plus compiling causes confusion even to computer experts. Too many people that I trust say its fast once it gets going.The only negative is that it's both a compiler and an interpretor and is trying to do too much.Sun maybe should have kept java just an interpretor like PYTHON and PEARL and then people might not complain about speed.
Another idea would have been to have it 'COMPILE' code into native just like a c compiler.
You made the case for the opposition. Now cite a product that runs in pure Sun Java and can be redistributed as a simple class library. Anyone can make a native entry point allowing better native implementations to be invoked by Java, but then most of what is claimed about Sun Java becomes false.
But then it wouldn't be "write once, run everywhere". That's one of Java's main selling points.
This is my sig. There are many like it, but this one is mine.
Another idea would have been to have it 'COMPILE' code into native just like a c compiler.
The JVM does convert the byte code into native machine code. All programs need to be converted to native machine code in order to run.
Sun maybe should have kept java just an interpretor like PYTHON and PEARL and then people might not complain about speed.
I'm quite certain that the speed would be much worse if the JVM simply interpreted the byte code rather than compiling it. It seems that you are a bit confused about the difference between an interpreter and a compiler. An interpreter will run through all of the steps of a compiler on the fly, but will not store the results of the parse tree, type checking, etc. This means that an identical piece of code that is executed 1000 times in an interpreted language will be re-parsed and re-type checked 1000 times. Java is a bit smarter than that. It will do the compilation on the fly, AND store the results for the next time it is needed. (Which is why some java programs seem to require more an more memory as they are executed.)
What I think would make a lot of people happy is if Sun released a more tradional compiler. Such compilers do exist (like GCJ for example,) but they do not support all of the Java libraries (As far as I know, Swing is not supported in any of these compilers.) I guess this would break the write once, run anywhere view that Sun has had for the past ten years, but I think we all know that that will never be truly achieved.
FortKnox seemed to clear up the confusion about "Sun closer to opening up Java", but on a more general note - I would find Java to be a much more attractive desktop solution if I could compile Java down to an .exe.
Yes, I know about GCJ, but that only works with a subset of current java (that I'm aware of) and I think even commercial native compilers like Excelsior Jet (or something like that) can't compile Swing apps.
I don't care about the politics of open sourcing it, but open sourcing java just gives me many more options when considering something that isn't server side.
But Sun still has this fear of opening up under the same excuse of "our corporate customers don't want incompatible forks". It's Sun's baby and all, but how much do they even make on Java? And will they ever recoup the development costs?
- Sun is the final arbiter of what constitutes a Java-compliant application. People incorrectly claim that Sun's control extends only over the trademark, but that's not true: they can keep you from shipping your Java implementation through patents and the licenses on their specifications if they don't like what you are doing, no matter what you call your Java.
- The Java specifications that you need to create your own Java implementation are only available under a strict license (the fact that you can download them so easily from java.sun.com makes it even worse)
- Sun owns several patents on key technologies needed for creating a compliant Java implementation
- The only Java implementations actually capable of running the code are Sun's and licensed derivatives.
Maybe the creation of a fully open source Java implementation by IBM, Apache, and/or GNU will finally force Sun's hand--while technically, non-enforcements of their patents and licenses against such open source projects doesn't invalidate their claims, practically, they would have to act or face tough questions. But until the legal status of open source Java implementations is resolved (or Sun abandons their ridiculous patent and license claims), the only Java there is is proprietary: Sun Java and its derivatives.And open sourcing stuff built on top of their proprietary platform doesn't bring it one step closer to open source. Quite to the contrary: it merely looks like an attempt to drum up business for their proprietary platform.
Java compiles to bytecode which is 'not' native. The bytecode is for the java processor(virtual machine).
y /j-native.html?loc=j
Python and Perl seem fast on startup because they don't have to compile to bytecode.
Native code is what c or c++ compilers create.
http://www-106.ibm.com/developerworks/java/librar
Your other point about GCJ is what I was saying.
open and free ( as in beer ), but with no freedom for developers to modify it to suit their needs and redistribute that.
open sources sure does not mean freedom as the free software movement tries hard.
I don't feel like it...
When you compile your java code into a .class file using javac, this is producing byte code. The byte code is then run on a JVM that will further compile the byte code into machine code. Let me re-iterate, NOTHING other than machine code can ultimately run on a CPU. There is no java byte code engine built into the processor. Python and Perl are fast on startup because they simply traverse the parse tree and generate machine code as they go. They do not need to worry about storing the results of the parse tree.
No one else could type that and control their laughing long enough to click "submit".
I'm no programmer, however isn't Java's appeal the fact that it's very easy to make Java apps cross-platform?
While Sun's intentions in open sourcing their products may not be neccesarily benign, they ARE giving *something significant* to the open source communuity. The best example I can give is OpenOffice.
Sun does have it's own commercial office suite called StarOffice which is derived from the OO suite, however OO is being developed into a very well-rounded competitor.
NeoOffice/J for OS X is a great opensource alternative for MS Office, and that project has its roots in the OpenOffice suite.
Karma police, arrest this man, he talks in maths....
First of all, you don't compile your java code into a class file, you "compile" it. In Computer Science compilation produces machine code. javac does not.
Secondly, to your post two levels up, I don't think merely adding caching to an interpreter suddenly makes it not an interpreter. I'm sure MS's classic VB runtime cached things in loops at least. And it was definitely an interpreted language (it did eventually allow the option of making an EXE, but I don't know if it actually compiled the p-code or whatever to machine code, or just linked in the VB runtime).
Which brings me to what I'm wondering about: You say the JVM compiles the byte code into machine code. I seriously doubt that that's true. Does the JVM really take your byte code and build an executable and spawn a process for it? Until I hear otherwise, I'm under the assumption that it does not, that rather the JVM is compiled, and that your byte code never is, but is interpreted (and cached) by the JVM. That is, only JVM code is ever machine code. Please correct me if I'm wrong.
Attention zealots and haters: 00100 00100
I think you may be mis-interpreting what I am saying. I am merely stating the obvious that only machine code can ultimately run on a processor.
Please refer to the following paragraph taken from wikipedia:
Additionally, please refer to the description of javac taken from the javac man page: I am not stating that the JVM builds an executable and then runs it. That is surely untrue. I was just trying to explain the difference between the inner workings of a compiler verses an interpreter. The main point I was trying to make was that a compiler will hold on to the results of parsing, type checking, etc. where as an interpreter will not.
Java will never be open source.
"Rags" presentation had the following details. Java will never be open source. It will continue the Java community process, but it will not become open source like apache etc.
This according to Raghavan 'rags' Srinivas at JSpring 2005 in the Netherlands where he held a nice demonstration on Java. Rags is one of the Java evangelists of Sun.
My appologies about the wrong post before this one, that's my Dell laptop playing up (stupid touchpad gets activated by the keyboard sometimes).
Regarding VB, it supported generating native EXEs since at least 5.0. But the EXEs still need the run-time DLL.
First of all, you don't compile your java code into a class file, you "compile" it. In Computer Science compilation produces machine code. javac does not.
Yes it does. It produces machine code for the Java Virtual Machine. There are some processors that can run this code directly - it is their machine code.
Which brings me to what I'm wondering about: You say the JVM compiles the byte code into machine code. I seriously doubt that that's true.
It is true.
Does the JVM really take your byte code and build an executable and spawn a process for it? Until I hear otherwise, I'm under the assumption that it does not, that rather the JVM is compiled, and that your byte code never is, but is interpreted (and cached) by the JVM.
Just because an executable is not built an run as a separate process does not mean that byte code is not compiled. The byte code is translated into sections of machine code which are then jumped into by the interpreter (during which time it is not interpreting).
A large public website I work with is likely going to drop using java applets in the future now that the new versions of the plugin display a very large ad for Sun - and even seem to delay the running of the applet to ensure you get a good 10 or 15 second stare at the ad.
I havn't written a java application that came as one .class, um, ever. And I'e also never written one that had *any* trouble on other platforms.
Of course in the "real world" you're going to need to do some native code, maybe some database stuff, and those arn't protable all the time. But you can't blame java for that.
autopr0n is like, down and stuff.
So, in the vein of the original poster, I'm going to claim that Java is the best 3G application-development language going: it's the only one that includes GUI components of any kind in its API (except maybe Microsoft's C# API, which is debatable). Sounds pretty silly huh?