Sun Open Sources Java Under GPL
prostoalex writes "The embargo is off, and Associated Press is reporting on Sun releasing Java under GPL. Sun is hoping that this step will attract more developers, as well as extend the lifespan of Java. The article notes that this is 'one of the largest additions of computer code to the open-source community', and that Java is currently being run on something like 3.8 Billion devices worldwide." From the article: "Rich Green, Sun's executive vice president of software, said the company hopes to turn more developers into Java programmers, who may then create additional software to support Sun products. 'The open-sourcing of this really means more — more richness of offerings, more capability, more applications that consumers will get to use,' Green said. 'The platform itself will become a place for innovation.' All the Java source code is expected to be released by March 2007, Green said. The move covers all Java technology, which includes software that runs on handheld devices, personal computers and servers."
I want a GPL'd latte :-(
Anyone got a BitTorrent link to a source tarball?
While I'm psyched about the fact that they went whole-hog and went GPL, there are a number of commercial Java Applications out there. The fact that they have this "Classpath Exemption" makes it sound more like the LGPL.But at any rate, it good that Java is now suitable for Linux.
Will they use the GPL for all the components? That is the compiler, the class libraries and the runtime? Then it will still be easier licensewise to use mono.
Well, on a more practical note, this means that within a few months, I should be seeing a real, complete, working JRE sitting in the main repositories for Debian and Ubuntu. Sweet. We no longer have to go and fetch it ourselves or experiment with incomplete toolkits.
For the ideologues, knowing that there's one less piece of non-free software on your system is a real comfort. For me, personally, all that apparently remains are ATI drivers and Flash Player.
Yay!
~ C.
I don't think the Mono folks are rejoicing ;)
With this step, SUN has became the largest commercial contributor to the free and open source software pool. OpenOffice.org, OpenSolaris, now JAVA - well, kudos!
to post a link to a forked java
This will remove, at a stroke, one of the largest issues of licence trouble in the *nix world. Fully Free server offerings can now be broader, and the Free desktop gets access to one of the three major ways of bundling sophisticated apps into web pages(Not that I like the practice much; but if Flash, Java, and ActiveX have to exist, I'd rather that more be Freely supported than less).
I'm really impressed with Sun on this one.
Come on, you dont do the same kind of applications with a script language like Python and a lower level, general purpose language such as C, C++ or Java.
Script languages are good for small applications but when it comes to big and/or commercial software you need something else. Java is probably one of the most used language (with C and C++) in commercial applications. So yes it is important.
I totally agree. It will also make it easier to distribute AND maintain Java apps with GNU/Linux distros, such as Debian.
Great news, indeed. Thanks Sun!
I work for a LARGE government contractor and have had a hard time getting management to realize Open Source in general and the GPL in particular aren't bad for business. Open source here has the same connotation as red communism. Can't get many of them to stop calling it freeware. With Sun making Java GPL they won't have the choice of sticking with that attitude anymore. Many of our existing projects use Java already!
"God fights on the side with the best artillery." - Napoleon, Marshal of France - speaking truth to power
Some more articles I have found, with some substance to them:
InfoQ, also mentions Glassfish.
eWeek.
There is also going to be a official webcast about this by Jonathan Schwartz and Rich Green 9.30 a.m. PT.
In related news, apparently Project Looking Glass, the 3d desktop, is likely to be included in the Ubuntu Feisty release.
Being bitter is drinking poison and hoping someone else will die
Now Stallman can drink coffee again
//WR
Linux Devices has a fairly comprehensive list of just what technologies 'GPL Java' encompasses. The std libraries are GPL with the classpath extension.
I love how easily you just shrug off that number.
Java is an embeddable language at the hardware level. So-called "Java chips" provide a very real platform for deployment on handheld devices. It's easier to develop applets in Java than in, say, C, since Java is higher-level. The fact that there is low-level support for such a high-level language makes it popular with cell phone developers.
Your point of Python is a good one. After all, Python is high-level, intelligent, and permits object-oriented development. It's my favorite, and I'm writing a few programs in it right now. However, Java still has a few advantages. First, it's ported more places, the most obvious off the top of my head being that Java's Mac OS X GUIs are far more robust and less buggy than Python's. Second, it's compiled and then byte-interpreted, giving it a fairly good speed compared to Python's interpretation. Python also has structures that, while easier to read, definitely don't execute as fast. (I do concede, however, that Java is no speed demon.)
Also, Java is embeddable as a web applet. Only a few other languages can do that. You can't exactly drag'n'drop a Python application into a web browser, hook it up to a frame, and project it to the world.
Of course, since this is Slashdot, I'll finish up with a low-blow bit of rhetoric. If Python is superior to Java, then why is the leading Bittorrent client, Azureus, written in Java if the original Bittorrent client was written in Python?
~ C.
http://news.zdnet.com/2100-3513_22-6134584.html?ta g=zdfd.newsfeed
Comment removed based on user account deletion
It is my understanding that we're talking about the Java language compiler and virtual machine here, right? Which libraries will be GPL'd? What about the Java code for the J2SE libraries and the J2EE framework? The article is a bit short on details...
.: Max Romantschuk
This story here on SDA India quotes Robert Brewin as saying that Sun is also planning to open source the remaining 30% of their software suite, which is made up of their SOA and Identity Management portfolio.
I am grateful to Sun and so is everyone who uses free software. Its just heartbreaking to think of the amount of effort that has been made obsolete by this decision been taken now instead of 10 years ago. A huge opportunity was wasted.
.Net would never exist as why would anyone bother? Sun has lost huge amounts of money over the last decade on software and subsidised it with hardware sales. As a GPL project, Java will be considerabley less expensive to them.
.Net as an alternative and the waste of the volunteer labor of developers who should be Sun's greatest allies.
Just think if Sun had done this in the 90s. There would never have been a GTK/Qt appliactions split because all software would have been written in Java. Assuming the deveopers allowed open source fixes to the performance, Linux, Mac and Windows users would all be using the same free applications and the desktop OS would simply be a JRE support system. A huge investment of volunteer time in GTK apps, in Qt apps, in Mono apps, in the now obsolete ClassPath project - all that work could have been productively spent developing Java applications.
Its great that Sun have finally released Java. Its instructive to see that all they achived by 10 years of keeping it under a restrictive license is huge financial losses for themselves, the emergence of
1000s Warcraft Gold while you sleep
Java is an easy to learn, fully cross platform (and by fully, i don't mean pseduofully like most languages, if you code a GUI in Java, you don't need to install stuff like GTK+ to make it work in windows / linux), with a 'one class file fits all' attitude. You don't need to spend time making sure that your code is compatible with every OS that java runs on, you also don't have to waste time compiling for each system, It's fast, complete and as i say, easy to use. I'm primarily a C++ programmer, but my current occupation requires that I code java most of the time, and to be honest, i don't mind, it's much less of a problem making sure everything doesn't segfault, and with a true OO nature, it's just a joy to use. The only real quibble i have is with the way the Java VM behaves and handles memory. As far as open sourcing goes, i welcome it, although i doubt it's going to effect anyone really at least for years to come, the only real advantage is that it may (as stated) be shipped 'as default' in some linux distros, which is a good start
Perhaps the open source community will finally learn to stay the fuck away from the foaming at the mouth Microsoft fanboy Miguel and his attempts to fuck Linux over - finally.
With Java now GPL we can start to repair the damage the little fuck has done to Linux application development. Distros already making moves to purge all mono tech is a good start.
I'm wondering what is going to happen with free Java compilers/virtual machines like GCJ and Kaffe?
I would like to encourage everyone to send a nice thank you letter to Mr. Schwartz at SUN, applauding the GPL release so that he can see how many people actually have taken notice of thir effort.
I am really interested to hear what RMS is going to say about this. And I wonder a certain artice of his as had any influence at the Sun top.
Wenn ist das Nunstueck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput.
So am I going to be able to get the sources from somewhere and build Java from scratch?
How is this going to work?
Y
Did RedHat know this was in the pipeline when they bought JBoss.
I look forward to seeing Fedora ship with the Sun JDK and JBoss installed as part of the system.
I wonder how some websites and newssites claim to know the truth even before Sun's Official statement in this matter ? Perhaps they work different on different timezones but for me as well as a few friends in the states the cat (or Duke) isn't out of the bag yet.
Personally I'm very sceptical by all this. Especially since the whole project was already open sourced in some way (meaning: the sourcecode has always been freely available) and it was only due to some fanatics (IMO) that the need is deemed more important than it might actually be. Still, if I put on my hat of sceptism +10 then I have to wonder... Is this done to please the OSS fanatics or perhaps to cut down on development costs on Java itself?
What I'd like to see open sourced is the Sun C/C++ compiler, wouldn't it be nice to give GCC a run for it's money? Besides, giving OpenSolaris it's very own compiler would make it an even more self-contained and complete project than the BSD's which all rely on a number of "third party" GNU tools.
Anyone?
Remember the "Ice Weasel" nonsense? That was because the Debian team did not want to use a copyrighted Firefox logo. Isn't Sun's Java going to have the same problem?
I'm very happy that Sun is going to bring Java -platform to Open Source and under GPL license.
I believe that this move by Sun will increase development speed of Java and more importantly it will make Java more common. By having Java as a GPL, there is no reason left why Linux distributions wouldn't include Java in default installation. By becoming a standard part of Linux installations, it will gather more mind share from developers, both open source and commercial, and make developing of Java based applications more lucrative. It's interesting to see if this move will bring Java over a tipping point in desktop environments and lead to a situation where more and more applications are based on Java, leading to a total commodization of desktop.
When Java will become more standard part of a desktop, I believe that it will change deeply on how we build our applications. I think that the future is for applications that have desktop application component that is integrated to a server application. Already it's quite easy with Java to develop server software that works via multiple interfaces, ie. web and desktop. The only question for now has been, do all clients have Java, maybe in the future there is no need to ask this question.
Survey research tool for commercial and scientific use
... welcome our new Duke overlord.
Wow! Despite all the rumours, I never really believed Sun would release Java under GPL instead of CDDL. Hats off to Sun. I assume the class libraries are also under GPL. The question I now have is, have they explicitly given a GPL linking exception for the class libraries to avoid GPL tainting Java code? Rather than implicitly saying there's no problem, I hope they make an explicit exception similar to the one given for FSF's libgcc or libstdc++.
After the Microsoft-Novell deal, this couldn't come at a better time.
And Java 1.6 (6?) is coming really soon now.
Open Source Java Web Forum with LDAP authentication
Python is byte-compiled and executed too. That's what all the .pyc files are.
Java is as low level as PHP, and I don't know what the parent poster was referring with it being "more low level and general purpose". True, it is one of the big 3 with the 2 C's, but i'd say it's more specialized than Python. Few things make Java worthwile and console programs ain't one of them, for example. And more low level? Than what? Java is pretty much as high as you can go.
Azureus is the leading resource client because people really *must* have all the flashy graphics that show how much of a file is done in 47 shades or yellow, orange and green.
My english is sow-sow. Sowhat?
is that we'll see applications built on custom versions of Java that aren't compatible with each other or have fixed bugs differently to how someone else has fixed them.
Hopefully Ubuntu, Debian and Fedora will just take the current version of Java, compile it with all the bugs still intact (I'm not kidding!!) and stick it in the repositories.
Summation 2
I wonder what is going to happen to these three projects?
Let's hope now Java integrates all the good features of C#, like true generics.
Open Source Java Web Forum with LDAP authentication
If Python is superior to Java, then why is the leading Bittorrent client, Azureus, written in Java if the original Bittorrent client was written in Python?
Simply because the Azureus has far more features and is easier to use than the original client (this could have changed since I haven't used the original one in a while).
moderators!
That's all I have to say really, but I had to say it. Thanks. You did the Right Thing.
Where I work, we use Java a lot but we have corporate rule that says "no open source software".
Python is also compiled and byte interpreted. It is certainly not interpreted in the same fashion as a shell script. Python even keeps the bytecode versions around and wil use them later to save recompilation. Any speed difference betwen the 2 will not be due to interpreation.
It is likely that Java will be a bit faster because there has been more resources thrown at and therefore more people able to do optimisation.
However, the big reason is that Python is a dynamic language (similar to Perl) and the compiler cannot make the same optimisations that a more staic language, such as Java and C can. It also tends to mean an extra layer of pointer redirection (hidden behind the scenes). When you have the ability to tie ('tie' is the Perl-speak way of talking about this - not sure if they use another word in Python) variable to external resources, you can't take any chances even with consecutive reads of the same variable. This all adds time.
As you say, you last shot is a low blow. Just because something is 'leading' does not make it the best - is Windows the best OS or IE the best browser? Maybe, maybe not - but I htink on Slashdot we'd agree there is more to it than just 'leading'. I've not used either client, but maybe Azureus is simply a better program with a better interface, maybe it is more widely available for different platforms? I have no idea - but it says nothing about the relative merits of the 2 languages as such.
While I think OpenSolaris was a shot accross the bow, this is most welcome, if long overdue. If Sun had done this 10 years ago, they'd now have the de-facto cross platform runtime.
The VM war on linux was just won by Java, the sooner distros rid themselves of Mono, the better.
Second, it's compiled and then byte-interpreted, giving it a fairly good speed compared to Python's interpretation.
Python is compiled and then byte-interpreted, just like Java. If you have to bring the speed argument to the table, at least bother to verify WHY it's slower before spouting nonsense.
Also, while Python maybe be slower objectively, especially in number crunching, the significantly faster startup times and generally smaller memory usage often make it seem much snappier, which is at least as important for many if not most applications. Java GUI toolkits other than SWT are also universally regarded as slow, and Python is significantly easier to extend with C so you can speed up the parts that really need it.
Also, Java is embeddable as a web applet.
In theory, in practice Java applets never worked well, and have been going the way of dodo pretty much since their inception, you rarely see one these days - fortunately, painful as they were.
GPL does not prevent forking (and some forks will develop due to $$$)but if the forker abides by the GPL he has to publish his code for the forks, so Sun could have incorporated those changes making Sun java compatible with MS-J.
This space is intentionally staring blankly at you
That's like saying if you code C++, Bjarne Stroustrup has indirect control over your code. It's a ridiculous argument and the reason it gets any weight here at Slashdot is because it plays into that "Star Wars" mythology of the battle between good (FLOSS) and evil (Microsoft). And I'm sorry to say this but Star Wars isn't real.
Since the GPL forces everybody to publish the source code to their improvements under the same GPL, there's little motivation to fork anything. If the fork introduces significant improvements, they will be back-ported to the original branch. I think the only good reason to fork a GPL project is if the original team loses interest in the project and it becomes more or less "abandonware".
Second, it's compiled and then byte-interpreted, giving it a fairly good speed compared to Python's interpretation.
Python is bytecode-compiled also, although to be fair I believe Python's bytecode is substantially higher level than Java bytecode. There is also a native-code just-in-time compiler (psyco) for x86 platforms that works reasonably well.
IMO, the main problem with Python, performance-wise, is that a variety of operations it supports are defined by the commonly-accepted understanding of the language to be atomic. This includes modifying lists and dictionaries. Because of this, these structures must have all accesses synchronised, which the standard Python implementation achieves by only allowing one thread to execute at once. I don't think I need to point out how horrible this is for scalability to multiprocessor systems.
Sun may have had other motives than that, but some people will interpret this move as Sun has written off java and is now giving their inventory away. Yes that is a croocked argument, but I am sure some bonehead CTO's or MS-salesdroids will make it anyway.
This space is intentionally staring blankly at you
This isn't like GCC, where the runtime is negligable and easily replaced.
Releasing Java under the GPL rather than the LGPL may hurt more than it helps.
Just to make it clear: Java is going to have the GPL with the Classpath-exception, which explicitely allows to create closed source applications when using the standard libraries.
See Gosling's blog:
http://blogs.sun.com/jag/
and here you'll find the mentioned exception:l
http://www.gnu.org/software/classpath/license.htm
There is no more excuses to use java anymore :-)
The classpath exception still requires you to release your main code under the GPL.
One of the prominent Java implementation out there is IBM's jdk. It's supposed to be faster, since IBM invests time, energy, and patents on proprietory improvements - performance improvements, optimization, integration with WebSphere, DB2, etc. For example, most of WebSphere Studio products requires an IBM JRE to run.
Now that Java is under GPL, IBM will have to release their JDK under GPL as well, right? and if they fork it to something else, will they still be able to use the Java name? How will this affect their patenting strategy, with regards to Java?
+1 insightful
So your Java programs should be as "safe" from the GPL as you GCC compiled C and C++ programs.
Richard Stallman discussed this in a Nov 1st interview. I've put a transcript online.
Please help publicise swpat.org - the software patents wiki
If Python is superior to Java, then why is the leading Bittorrent client, Azureus, written in Java
I don't know but it may be connected with why it's also a buggy, slow, memory-hogging piece of shit that crashes or just goes ape-shit crazy on a regular basis. I have a theory that this is actually caused by Java's garbage collection agent trying to delete the whole of the program's code on the grounds that it clearly is garbage.
Oh, you poor baby ... "sticking" with the latest horsebuggy over the old reliable when a new horseless carriage is about to take over.
This is a historical day.
That is all.
You know, Microsoft's street address also says a lot about their mentality.
I don't think so. While Java isn't as fast as C, it also doesn't peg my cpu at 100% on a regular basis. If Novell made their deal with the devil^H^H^H^H^HMicrosoft to protect Mono, they screwed up.
This is interesting enough that I'm going to hit the book store for some more O'Reilly - for some Struts, Hibernate and Spring.
Java is NOT strictly interpreted language. HotSpot (http://en.wikipedia.org/wiki/HotSpot) mechanism dynamically compiles bytecode into machine code.
In theory, Python has Psyco that can do JIT-compiling, but in practice dynamic nature of Python prevents most of optimizations.
Debain wanted to distribute their own patched version of Firefox, the Mozilla people didn't want to get blamed for all the bugs introduced by Debian, the name change was the way to resolve that conflict.
My own sympathy goes unreservedly to Mozilla, as a software developer I know what a total pain Debian is to deal with.
You're right. The terms of the classpath exception are poorly worded and confusing, and lead me to believe otherwise.
Why didn't the FSF continue to use the LGPL, which is equivalent, instead of creating new variants of the GPL. Isn't this producing the same kind of license confusion they complain about with the Creative Commons license family?
I've never understood the notion of sacrificing the ability to use facilities provided by the operating system in the name of portability. I'm sure the same kinds of situations exist under Windows.
WTF, Java designers? Maybe I just want to write some software, and I don't care whether it's portable or not.
Now maybe that it's GPLed, people can finally start changing it so that we can finally start using Java and OS facilities at the same time .
In the course of every project, it will become necessary to shoot the scientists and begin production.
That it was all written using Visual Basic.
Take the cheese to sickbay, the doctor should see it as soon as possible - B'Elanna Torres, "Learning Curve"
Wait, Java is as high-level as you can go? It doesn't have higher-order functions, proper tail recursion, continuations, or any kind of macro system, and you can still work directly with byte arrays without working against the language. "Garbage collection" does not mean "as high-level as you can go".
There is actually a policy at the company I work for that prohibits the use of Open Source Software. I never brought up the fact that many of the apps used on our HP-UX box are OSS, but will be looking forward to an opportunity to bring this one up.
C++ > LISP > pascal > C# > python > Java > Visual basic.
If by "suitable for Linux" you mean that you can now start hacking the JVM to your heart's content, you may be right. But I interpret "suitable" as referring to stability, performance, security, and reliability, not whether I can personally hack the code.
Aside from that, if people start hacking Java itself, they'll end up with versions that won't pass the compatability tests and break the very commercial apps you mention.
I see no benefit to a GPL Java over the existing licenses from Sun at all, unless you're trying to integrate it at a low level into something like PostgreSQL or MySQL as a trigger/stored proc language.
I do not fail; I succeed at finding out what does not work.
Anytime I startup a Java program I want to run and hide due to fear that the pages being swapped out to make room for it will crush me where I stand.
Maybe as open source software people will be able to look at it and ask *why* does it have to take up so much memory to do such simple jobs? Compare for example Azureus (in Java) to bittorrent (in Python).
Java is often at least an order of magnitude faster than python, barring startup costs. They're not even comparable from a very high-level.
Python is compiled down to bytecode, but as far as I know, there is no further compilation to native code by the python vm. Python is amazingly fast for some things, when you're using mainly highly optimized c modules. (If you ever compare sed vs. doing regex search-and-replace via python, you'll be blown away at just how much faster the python is than the sed. The difference is the io, which is incredibly optimized c code in python.)
Java is not interpreted, and hasn't been for many years now. The vm compiles the hotspots (the code sections that are expensive enough and used enough to be worth compiling) to native code, and performs many optimizations that a static compiler cannot make, since the vm has much more information available with which to optimize than can be known at compile-time.
Struts is good, and is still living, but if you are just starting, JSF is both easier to grasp, and more advanced. I think it is a better choice.
Tell that to Google. My own company has switched to Python for all future application development. If Python is a scripting language, then so is Java.
Dewey, what part of this looks like authorities should be involved?
Why is the original Bittorrent client usable, while Azereus is a resource-hog that would kill my server if I tried to execute it?
/G
ps: I positivoly hate coding in Python...
The JabRef program is extremely useful - http://jabref.sourceforge.net/
Others that spring readily to mind are Jedit - http://jedit.sourceforge.net/ and Jmol - http://jmol.sourceforge.net/ (I usually prefer the application version to the applet version).
There's also Jaxodraw (for Feynman diagrams) http://jaxodraw.sourceforge.net/
I guess it depends on what you are doing, but there are indeed very useful Java programs out there.
"I object to doing things that computers can do." -- Olin Shivers, lispers.org
Having shunned away from Java due to its license for years, I look forward to another good free-as-in-speech tool under my belt.
This sig is intentionally left blank
So, I hope someone will finally be able to make an usable 64-bit port of Java.
:-)
Really, amd64 systems have been around for quite some time, but it's taking forever to port some stuff. (Sun's Java and Adobe's Flash come to mind instantly, as most people with 64-bit systems have to install a 32-bit firefox just to run those)
Yes, I'm aware that there is a download for 64-bit linux java in Sun's site, but most will agree that it doesn't really fit in the "usable" adjective.
With some banks using java to authenticate its users, this will be a great addition. (which leaves only flash to open up
I'm on a karma burn this morning, obviously.
You guys are somewhat right. Python files can be optimized (*.pyo) and compiled (*.pyc), but you've never read the docs on how that works. I'll go and find the relevant sections sometime later, but the bulk of it is this:
Python optimizations and compilations are currently limited to inlining assertions and certain limited unreachable statements. Python's "duck typing" model is too dynamic to be statically compiled. Psyco does JIT-style compiling, but there are many parts of Python that are simply too dynamic to handle outside of the interpreter.
Java files, once compiled, are verified bytecode. Verification is one of the more arcane parts of Java, but it's always been interesting to me. Verification is a guarantee that the code has passed some very basic sanity tests. Verified code is statically sane and complete, just like compiled C code. The bytecode virtual machine is an abstraction used to make device-independent Java runnable anywhere that there is a complete set of core classes. While Java doesn't embrace the "batteries included" philosophy of Python, there are quite a few useful classes in the core runtime environment that make porting things very easy. Most system-dependent files nowadays are things like installers and graphical enhancements.
~ C.
Of course, since this is Slashdot, I'll finish up with a low-blow bit of rhetoric. If Python is superior to Java, then why is the leading Bittorrent client, Azureus, written in Java if the original Bittorrent client was written in Python?
Good question! Perhaps the Azureus team chose Java because they were used to it. I think they could have done a much better job in Python. Azureus is a horrible resource hog: it's an absurd generalisation to say this, but I've found that "resource hog" is quite typical of Java applications.
Of me kicking the dust off my Java compiler.
Great move guys.
..don't panic
I'm moving to Hell this summer. I hear the weather is lovely down there lately.
~10 years ago certain company DID embrace, extend java with their OS specific extensions and ship this lame and incompatible version with their operating system until they were forced by court to stop. If you were coding java in these days, you would what abominition Microsoft Java was... And don't remind me MS J++
So what did Sun gain keeping java closed source for 10 years? Hostility of open-software coders? Losing war of java on desktop?
--Coder
Perhaps someone will correct me if I'm wrong here...
I realize this is a very simplistic view, but wasn't a core issue in the MS/Java fracas about 'incompatible' JVMs? If so, why isn't Sun coming down hard on projects like Kaffe and GCJ, if for nothing else than brand infringement?
Many Linux distros I use/try have 'java' on them as an executable, but it's not Sun's Java, and gives a *very* bad impression of what Java is really all about. Like the parent here, I end up having to remove the default 'java' stuff and install Sun's Java on every system I use anyway, because precious little that I need to run in Java runs on the open source versions. Isn't that damage to the Java brand just as bad as anything MS could have done? At the very least, MS actually made improvements which would make the experience of a custom Java good on at least one platform - the kaffee/gcj stuff isn't usable on any platform I've tried it on.
creation science book
It appears to be the GPL with a linking exception, which is probably a better choice than the LGPL.
The standard C library on Linux systems also uses GPL with a linking exception, so we know it works for these purposes, both legally and technically.
Java is an easy to learn, fully cross platform (and by fully, i don't mean pseduofully like most languages, if you code a GUI in Java, you don't need to install stuff like GTK+ to make it work in windows / linux), with a 'one class file fits all' attitude.
/. that said something like "Java. Cross platform... as long as you run the exact version of the JRE, wit the exact version of the Java libraries, in the exact OS", and in my experience, this is 100% true. In fact, i wrote Perl and Python programs that were much more portable (and ran better) than Java counterparts.
This is a perpetuated lie. I once readed a quote here in
Java has its perks, but it is NOT fast and it's not as portable as Sun want us to beleive.
I wonder how this will affect Apple - on the Mac, Apple is responsible for implementing the JVM - and without a doubt they have a number of things implemented that are unique to the Mac, such as the implementation of Swing. This seems like it could be considered a derivative work, despite the "classpath exception"... I wonder if they will end up having to put any of their Mac-specific stuff under the GPL?
only if C++ is patent encumbered
Sticking feathers up your butt does not make you a chicken - Tyler Durden
That should actually read:
Only if C++ is patent encumbered, there are few implementations, and the only useful implementation is owned by a company that is no longer willing to try to work around the patents to produce a truly free implementation, and, in fact, has made a deal with the devil so only their own customers can legally use their implementation.
Sticking feathers up your butt does not make you a chicken - Tyler Durden
they'll just rename it Iced Mochaccino ;)
The early announcements suggest that this is a GPL release with a linking exception and no "dual license" scheme.
If that is so, it means that this is the real deal: a real open source project that is nevertheless usable by commercial users, and a legally binding commitment by Sun to make all their applicable Java-related patents available (and they have quite a number of them). Furthermore, it means that people can reuse bits and pieces of Sun's codebase under the terms of the GPL-with-linking-exception. And it removes the issue of what would happen to Java if Sun really hit hard times.
In the short term, this means much better availability and integration of Sun's Java implementation into Linux and other systems.
In the long term, it means that Sun's mediocre garbage collector, JIT, and toolkit bindings can be overhauled by combining Sun's Java library code (which has always been the biggest obstacle to compatibility) with systems like IKVM, Jikes, and gcj.
It won't solve any of the numerous technical problems Java has accumulated (at least not in the short term), but it puts Java back in the running.
I haven't tried JSF, but I'm the sole maintainer of a Struts application. It works reliably, but changes are a pain in the behind.
s /Stripes+vs.+Struts
I have zero experience with the Stripes web framework, but this comparison between Stripes and Struts has an excellent illustration of the klunkiness of Struts: http://stripes.mc4j.org/confluence/display/stripe
"One of my prime frustrations with Struts is the fact that just to implement a single page/form, I have to write or edit so many files. And I have to keep them in sync, or else things start going horribly wrong. With Struts I have to write my JSP, my Action, my Form, a form-bean stanza in the struts-config.xml, an action stanza in the struts-config.xml, and if I'm going to do it the Struts way, a bunch of forward stanzas. And let's not go into the fact that since this is all stored in one xml file I'm continually facing merge conflicts with my team mates. Yes, there are annotations for Struts, but they are just literal translations of what's in the XML file, and they don't feel natural to me."
You may with to learn Struts anyway, because it's so common. But if you're builing a new Java web app from scratch and no one on your team is used to Struts, I'd investigate alternatives. The Struts project page even lists a few under the 'Similar Projects' heading. Now, extensibility, stability, and other buzzwords matter just as much as ease of initial configuration. So don't use speed of initial development as your sole criteria.
What the people who believed this will never happen are saying now?
"I think this line is mostly filler"
There will be a "Java Open Source event" webcast live at 9:30 am PST: http://www.sun.com/2006-1113/feature/index.jsp
Ok it was a bit of a stretch :) but calling Java low-level was too much for my brain to process and produce coherent output.
My english is sow-sow. Sowhat?
Python has poor multithreading performance (last time I looked, maybe they've fixed the 'global interpreter' problem) which limits its use for certain kinds of server applications. Java is very slick and reliable at the same sort of apps.
I don't think that that's the reason; you can have all the fancy graphics in a python client.
I suspect that brand awareness in the biggest factor, and simply that it works well enough (it doesn't crash too often). Programmers are lazy because Intel and AMD are happy to fix their "goes like a snail" bug for them!
Wikileaks, no DNS
I don't think the Mono folks are rejoicing
Maybe Java will eventually compete with Mono, but right now, the two cover completely different domains: Java has excellent server-side and tools support, Mono has excellent native desktop support on Linux and Windows. I don't see any competition between them.
Quite to the contrary: Mono implements Java through IKVM and provides full C#/Java interoperability. With the GPL release of Sun Java, Mono's Java implementation can finally be 100% compatible with Sun Java, which will make Mono a more attractive choice on Linux, while also helping Java standardization. Everybody wins.
And here, the OpenJDK project.
Thanks Sun. You're earning a lot more cred in my book.
More specifically, the detail of which pieces they are unable to release as GPL. And also the detail of which libraries are to be released when (Until such time as all of java.* and javax.* on all platforms for which SUN has official support in the SUN tree are released under this GPL + exception licence, java will not be Free)
Simply posting a list of "these are all the pieces of code Sun cant release at this point" would be nice, people could concentrate the open source efforts at replacing those (much like how when the Free versions of BSD appeared, the first thing that happened was a rewrite of the few pieces of non free AT&T code left)
The only thing I worry about is when, some time down the road, multiple forks of Java (which aren't called "Java" per se because Sun won't allow that) are unleashed upon the world, there are going to be apps which are written to take advantage (meaning, are only compatible with) of some particular JVM.
That's going to be ugly. Imagine having to keep multiple JREs on your system in order to run all your Java apps.
So please folks, resist the urge to make forks of the JVM which introduce new, incompatible features. You didn't like it when Microsoft did it...
If you put 1000 monkeys at 1000 typewriters one will eventually write a java program. The others will just write Perl.
Mod parent -1: Liar.
IANAL, but the ruling in the download page which says:
International Use Restrictions
Due to limited intellectual property protection and enforcement in certain countries, the JDK source code may only be distributed to an authorized list of countries. You will not be able to access the source code if you are downloading from a country that is not on this list. We are continuously reviewing this list for addition of other countries
isn't in contrast with GPL promoting source availability?
It's great that they've GPL'd it, but it's a pity that, if you want your code to make it into Sun's Java, you have to give Sun the right to make your code proprietary:
Sun requires that contributors to all of its Free and open-source projects sign the Sun Contributor Agreement (SCA). . .to ensure that Sun has the rights to use your contributions in products and projects."
It makes a community fork almost inevitable, IMHO - too many people won't want to see their code turned into something Microsoft can license and use without any GPL worries.
So.. it has come to this
Perhaps the best news that can come from this is that the three major platforms can potentially converge. Currently Sun, IBM, and BEA all have their own Java VMs. While compatibility is remarkably good for a specific version, each has their own strengths and weaknesses, performance wise. Each also utilize non-compatible tuning parameters and such.
A unified code base can potentially reduce these differences. We might have a single JVM that incorporates the best performance features of all three products, and can be tuned in a consistent way.
Hopefully this means we'll be able to have the Java browser plugin on EVERY platform now. It was really irritating having to build a 32-bit Firefox on an x86-64 system specifically to use crap like the Java plugin and Flash plugin.... I guess the Flash plugin thing is still an issue though. >.;
Probably v6.0 according to Broadband/DSL Reports.
Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
All my code has been GPL'ed, so not that problem.
But the way Debian "shield" the developer from the user, so we (as developers) don't actually see the original problems experienced by the users, but instead have to deal with the consequences of the broken "fixes" introduced by Debian. They even distribute other developers alpha test code so they "shield" the developers from direct response to code that was only released in order to generate such a response.
I still write free software, but I'm happy that it is for a sufficiently vertical market that I don't have to deal with the pain of Debian packaging it up anymore. It is one of the many small annoyanced that takes the fun out of it.
And yes, I know there are advantages to the use of having a "homogenised" distribution with a single access point, but as a developer I only see the dark side of it. And somehow none of the other distributions caused as much grief.
Uh, what's the practical difference between using a built in cross-platform GUI like Swing, and using an third-party cross-platform library like GTK?
I was a Java coder for around a year, and it certainly isn't a bad language. It has a somewhat basic syntax though, and if you're used to more advanced languages it can be rather frustrating to find that your preferred solution to a problem is impractical due to Java's structural limitations. I tend to prefer languages that let me work more abstractly.
3-4 bittorrent/bittornado instances eat all available CPU cycles even on modern desktop puters, whereas Azureus can run twice at many at 5% CPU usage.
'Once scientists, even the dim-witted social scientists, get muzzled, the Western Civilization is finished.' - oldhack
Didn't IBM indicate they would open source parts of theirs if Sun open sourced theirs?e n+source/2100-1007_3-5165427.html
http://news.com.com/IBM+urges+Sun+to+make+Java+op
http://www.java.com/en/javahistory/timeline.jsp
I'm schizophrenic; no I'm not.
Well done Sun! This has been a long time coming.
As a frequent user of odd operating systems on odd architectures, I welcome and applaud this move. It will be fantastic to be able to include, use and redistribute the JDK. I look forward to the day that the JDK is as ubiquitous as the GNU Compiler Collection.
Honestly, I can't imagine a better move for Sun and the Open Source community at this time. Java is a fantastic language that is now able to be used for any purpose. While I am not much of a coder these days, I am a sysadmin. Where previously I would have tended to stay away from Java applications in favour of programs written in other languages, I will now be able to consider Java to be as native and free as C and C++ with GCC. There is also a huge library of interesting and innovative Java programs that will now be able to be included in Debian and other Linux distributions.
This is absolutely fantastic news for anyone interested in Open Source and software research and innovation. This may do as much for computing as Firefox/Mozilla has for browsers and web developers. If a stable JVM is ported to most platforms, we may finally be able to experience write once run everywhere.
Thank you Sun.
was break "write once run aywhere". OK, it wasn't all that well to begin with, but MS put the knife in the kidneys.
To be "Java" you needed to include all the requred core java. You could add your own additions to java (even these additions are not portable). However, MS didn't do all the core stuff and included in the "core" class MS-only technology.
Therefore you would write a java app under MS and it would apparently be portable Java.
Move it elsewhere and it would not (and could not) work.
By the documentation (e.g. you only used core java) the problem would seem to be that MS had the only correct Java and it was broken everywhere else. Result, either:
a) MS java is the only real java so java apps are written for MS only
b) Java isn't portable so you might as well use VB if you're going to be stuck on MS
Both bad for Java and Sun especially.
A GPL version of Java includes the core stuff and nothing unique to that VM is in the core path. Even though it isn't a good implementation of some bits, your app will run elsewhere but be faster if you use the Sun implementation. Result either:
a) GPL platforms aren't good platforms for Java
b) Sun does the best Java
Both good for Sun Java and newutral for Java.
This old timer (who turned down a chance to help develop a 32 Bit UCSD p-system back in the old days) is looking forward to banging on the VM code. Haven't done any serious hacking on byte code interps since the 80's (grins).
Seriously, open sourcing Java means that anyone with a serious itch to scratch (need a really compact VM?) can think about playing with it. Just like Unix, just when we thought it was dead...
check out: https://openjdk.dev.java.net/
Andy Allen.
What I'm really waiting for is OpenOffice's response. After the Java feud between OO developers and then making up, what happens now that it may not matter?
-Tash
Google uses Java a lot more than they do Python. The only people who bring up the Google-Python argument are people who either don't work for Google or don't know anybody who does. Within Google, Python is most often used for small scripts and internal applications that never go public. Almost everything else within Google is done with C,C++ and Java. Google has even made significant moves to standardize on Java.
I've seen a few posts suggesting that Sun couldn't do this till now because of the forking threat in the past, reprepresented by MS's J++. I think this is wrong and probably comes from people who blame everything on MS.
.net (and maybe mono on Linux).
Sun didn't open Java before because it didn't have to. The fact that they are opening it now suggests to me that they are starting to fear
Personally, this makes me much more inclined to go to Java as my next language, rather then C# (I'm currently using C++) but, given Sun's past refusal to open Java, this move by Sun suggests to me that Java isn't doing as well now. (If only Sun had done this 10 years ago I could have been using Java all these years instead of C++.)
One other possible factor is the 3rd party open-source Java efforts. I don't know how they were coming along, but if any of them were doing well then they could have increased the pressure on Sun to do this. The great irony of those projects is that they get wiped out if they are successful.
Does this mean that we might see native-code compilers for java bytecode? I would really like the option of running an app as either interpreted bytecode or as native binary code. Also, does this mean that we'll see faster adoption of non-JVM technologies like OpenGL for Java?
Am I the only person salivating at the possibility of writing code that will compile down to full binary on any platform and make use of hardware for graphics acceleration now, and possibly other things (GPU computational engines, anyone?) later?
And that's not to mention the bugs in JVM implementations, but hopefully this release will help with that for the future.
The fact that 80% of the carrier market requires you to use it makes it popular with cell phone developers. If there was an actual choice, you'd see more applications written in C++.
I don't understand this argument... Is English an inherently better language than, say Portuguese, for international trade? There are also bittorrent clients written in C++, does that make it a better language as well?
How does/will this affect closed/proprietary applications written in Java? Must they now also be distributed under the rules of GPL?
I felt a great disturbance in the slashdot, as if millions of "sun is the next redmond" trolls cried out in terror, and then vanished.
Am I the only person salivating at the possibility of writing code that will compile down to full binary on any platform and make use of hardware for graphics acceleration now, and possibly other things (GPU computational engines, anyone?) later?
Probably. You already could compile Java to virtually any platform using GCJ. Compiling the code to a native format doesn't help in accessing graphics accelerators, that's more a function of having the right libraries available.
IMO, the biggest advantage here is for the community to enhance the JVM, and include a fully functional JVM and Java libraries in Linux distributions. This also means that Java code that's already under GPL could also be included in these distributions. GPLed Java programs can now also ship the JVM with their programs, if they so desire.
It must be the all-nighter and the ridiculous amounts of caffeine in my system, but I'm glad someone else is genuinely happy and excited. I mean, c'mon, Slashdot, a tagging keyword of "finally"? As if Sun was somehow obligated to do this? (Do you see Microsoft doing the same with C#/.NET?) I was expecting some half-assed Shared-Source-like crap that hardly changes anything from the way it was before, and they're diving in headfirst with GPL.
Hell yes.
Thank you, Sun!
Don't thank God, thank a doctor!
Java was pretty pervasive in everything Sun did, and with good reason: If I developed a sexy new programming language, I'd use it for everything, too. So, most of Sun's contributions have felt half-assed without Java. OpenOffice... great, but you need Java to run it. Netbeans... great, runs on Java.
.NET (including ASP.NET), and Visual Studio .NET. Hell, it's roughly equivalent to Microsoft funding Wine development.
I bet people wouldn't be so forgiving if it was an "open source" toolkit for writing applications on top of Flash.
This move completes it. It's also roughly equivalent to Microsoft releasing the Windows source code, as well as C#,
Thanks, Sun!
Don't thank God, thank a doctor!
Funny, I thought the leading bittorrent client was written in C++.
All kidding aside, you can't beat optimized C++.
Leben Sie jetzt die Fragen.
As the GPL says, "Each licensee is addressed as 'you'." Sun is not a licensee of it's own code, it is a licensor. Sun's licensees are prohibited from redistributing Java or Java-derived works without also offering a redistributable royalty-free license to any patents that code would infringe, but Sun is not so prohibited.
I guess it's possible that Section 0. applies, since "The act of running the Program is not restricted" could be interpreted as a patent license.. but on the other hand the preceding sentence is "Activities other than copying, distribution and modification are not covered by this License; they are outside its scope.", and patents definitely cover more than copying, distribution, and modification.
Looking at the responses on the thread you linked, I only see assertions and misconceptions. Sun is not distributing Java based on its GPL license, Sun is distributing software based on its ownership of the copyrights - as such, Sun is not bound by any of the requirements of the GPL license, including the requirement to sublicense patents.
If Sun is serious about going open source, then of course this is just hair splitting - they'll just officially offer a royalty-free redistributable patent license for GPL'ed software as soon as someone brings the problem to their attention. But just because they should have done so and they probably will do so doesn't mean they already have done so. Microsoft FUD aside, the GPL is not a virus: it can't take away any of your IP that you don't explicitly agree to give away. Sun is agreeing explicitly to release their copyrights by licensing them under the GPL, but I don't see any explicit about their patents yet.
It seems that most major languages I look at don't start out designed to be multithreaded. They start out single-threaded, assuming the language is atomic, and lots of libraries are not thread-safe. Then threading gets added to the language, and it's unstable for quite awhile, and even when it's stable, you have to check whether libraries are thread-safe. This is at least as true for Java as it is for Python.
And python does seem to have quite good support for threading... I think it's called TwistedPython.
But really, if a language was designed to be threading from the beginning, I think we'd be seeing some more useful constructs like coroutines.
Don't thank God, thank a doctor!
It's great that they have open-sourced Hotspot and javac. However, those are the two components that already have good open-source competitors. There are half a dozen open source JVMs (Kaffe, JamVM, Harmony, etc, etc). There are at least three excellent open source javac: gcj, ejc, and jikes. So... this first round of offerings doesn't change much. The really big prize are the huge Java class libs, namely java.* and javax.*. Swing in particular is too big to be re-implemented by an open source volunteer team. Open source JVM + java.* + javax.* = a true open source Java platform, which would be fantastic. I guess we may have to wait until March to get all the way there.
Now we can include Java in the Linux kernel! :->
Mine (albeit on a single torrent) was barely noticeable at all on a 1.8ghz amd64. I mean, between that, gaim, and moblock, I was still 98% idle or so.
By that calculation, I could run 50 simultaneous instances of BitTornado, and still have plenty of room to spare.
Azureus, though. Doesn't even start up properly -- always has 3 error messages in a row. Then it works, and it's very nice and pretty and powerful, but really, performance was about the same. At least until, after months of use (not continuous use -- I didn't leave the same instance open, duh), Azureus began to thrash my disks (nice little RAID) so hard it slowed down the Torrent a touch, and definitely enough to make the rest of the box unusable.
This on a single torrent of less than 200 megs. My BitTornado just finished downloading a nice little torrent of about 15 gigs or so.
Anything that makes the cursor lag is fucking broken. I miss the queuing, but that's it.
Don't thank God, thank a doctor!
Just because something is a scripting language does not mean it's not scaleable, but just because Python is scalable (used appropriately) does not mean that, ergo, Java is also a scripting language.
Scripting language = ease of prototyping. Python, LUA, and at a stretch, Lisp and Scheme are in. Java is certainly not, though some languages that run on the Java platform, like Groovy and Rhino, are.
Michel
Fedora Project Contribut
Can anyone tell me what this means:
"quote"
Open-Source Java SE: Today Sun is releasing the source code for the Java HotSpot virtual machine, the Java programming language compiler (javac), and JavaHelp online help software. Release of a fully buildable Java SE Development Kit (JDK) based nearly entirely on open-source code is expected in the first half of 2007. "quote end"
From http://www.sun.com/2006-1113/feature/story.jsp
"based nearly entirely on open-source code is expected in the first half of 2007" what do they mean?
Is there still closed source code or non-free code when you try to build the VM of Sun or the compilers?
Or are we talking about the logos, pictures and a like just like in the "Firefox"-saga?
Java being released under the GPL might have an even bigger impact in the long term than it appears (from these comments) many people think. It may represent the beginning of a huge leap forward for open source. The following line of reasoning seems at least somewhat plausible...
Of course, the idea's not perfect, especially due to the large number of existing platform-specific applications and the fact that some applications need to be platform specific to run efficiently. Perhaps ahead of time compilation will be used/developed further? Anyway, even if this happens, it's probably going to take a very long time- maybe decades. But if the end result is that people coalesce around a freer and more open platform, and better (often open!) and cheaper (often free!) software comes about as a result, we'll all (well, except for Microsoft, of course) be better off.
and fer god's sake, upgrade to flash 9 already (the beta is more stable than 7 release)
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
It's intriguing that this comes on the fifth anniversary of Java.NET, aka. Visual JSharp.
I'm a Programmer. That's one level above Software Engineer and one level below Engineer.
A language just isn't a language without the great taste of closures.
Yes you can. Compilers still suck and you can always hand roll your code, or forego vtables, etc...
Not that you'd want too, but alot of people have the same view of C++... Sure I can beat the speed of Java/Python/Lisp, etc. by writing it in C++... not that you'd want to.
"The fact that 80% of the carrier market requires you to use it makes it popular with cell phone developers. If there was an actual choice, you'd see more applications written in C++."
I am not aware of many developers clamoring for more BREW phones to develop on. I realize that this partly a result of most BREW carriers being nanny-content-gatekeeper-bastards. I'm not totally convinced developers want to develop C++ apps for phones. This just means even more phone specific optimizations than you already have to do for Java apps.
Not in the main repository, which is what the parent poster said. Ubuntu has Java in the 'multiverse' repository, the definition of which is "non-free, totally unsupported, possibly illegal, use at own risk", and which needs enabled manually before you can use it. Today's news do indeed mean that we can expect to see Java in the main repository. I'm looking very much forward to it.
You know, Microsoft's street address also says a lot about their mentality.
As an engineer, I am fully against the push for Java against more robust languages like C. However I am for whatever reason required to take it towards getting my degree. Through my experience with this language, I have learned that it is the most ironic language I know of. The purpose of OOP is to lay out your methods and classes in order and Java is a god example of OOP. However, Sun's Java API is the most disorganized API I have ever seen.
At least Microsoft has the Win32 API layed out by application, and not in alphabetical order. Say I want an action listener in Java. Well I'm screwed from the start because unless I know exactly what the method is named, I dont have much rom to lok around for it.
Anther thing is the Sun;s Windows Java compiler. "Horrible" is the first thing that comes to mind. However, compare this to Sun's Linux compiler, which is far more descriptive than Windows.
I think that GPLing Java is going to allow for better developed compilers at least. And maybe, just maybe, the JVM wont give me the "NoClassDefFound" exception for no fucking reason at all...
Vive le Java libre!
I stole this Sig
hey it's 2:30, why is there not yet a 64bit java plugin for firefox?
If it's such a lie, how come I'm currently working on an application that is developed on Windows and Linux (office/home) with a Sun JDK and then deployed on an AS/400 with an IBM JRE and it doesn't break a sweat? It just works. That's 3 OSs and 2 completely different versions of the JRE. The only time I ever came across non-portable Java was when I inherited a bunch of code that had hard-coded path delimiters and things inside it - in other words we're talking PEBKAC. There are utility classes to make everything OS/platform agnostic, if you don't use them it's not going to be portable, it's also bad practice. I ended up firing the guy who put in hardcoded paths. Not for that particular example, but just because he couldn't code very well in general.
Bob
Listen to my latest album here
Okay, how many GCC's are there?
How many Qt's are there?
How many versions of Perl, or Python, or TCL?
Truth is, your fear does not happen.
Actually, java console apps can start pretty nippily, as long as you already have a VM running under the same user. It'd be nice if you could start off a VM during boot/login that idled away until you started a java app. Sure, it'd eat a bit of memory, but launches would be a lot quicker.
it does raise the question of why the FSF is muddying the waters by having two licences that do the same thing.
The "Classpath exception" is not from the FSF, so they are not responsible for the confusion.
The only trouble the FSF is causing is that the LGPL does not really do what many people want or expect, so many people have come up with alternative licenses which are all LGPL/GPL with an "exception".
In my own library software, I pretty much license it as "the library code and modifcations you make to the library *itself* must be released when you distribute it, however you are free to do anything you want with code you write that links with the library, including statically-linking it and releasing the binary only". I assumme this is the main purpose of the "Classpath exception", and also for dozens of other exceptions.
It would be nice if the FSF or somebody came up with an official version of such a license with a short and clever name so we could all use that and it would be clear and easy to say we are using it.
They choose to use the "GNU GPL v2 only" (plus Classpath exception) license, not the more common "GPL v2 or any later version".
This is what the FAQ says about it:
There's a hidden treasure in Python 3.x: __prepare__()
So take a look at Groovy. Closures(with curry and all) and one have no more excuses for not use java.
While you are at it check out grails.
It is like ruby on rails, only for java.
Hope you find it useful.
Marcolinux
Is this
When Java came out the concept of virtual machine was not widespread, and certainly MS was not even thinking about it (heck, they were on denial about the Interenet, forget about applets and Java powered servers).
And as for all the object oriented stuff, that was described eons earlier in C++ and similar languages.
There is no chance in hell that MS has any valid patents pertaining to Java.
IANAL but write like a drunk one.
Google for it.
IANAL but write like a drunk one.
Look closely: They didn't release the class libraries. Just the compiler and the JVM.
http://outcampaign.org/
Wait, what is that I am hearing?
Er, it is silence I think.
IANAL but write like a drunk one.
Today, Sun released their Java compiler and JVM under the GPL. Big deal. We've already had a free JVM and compiler for a long time.
What we need is their rather large standard library, which is what the GNU Classpath and GNU ClasspathX projects are currently trying to provide.
I've said it before and I'll say it again: I'll believe it when it happens.
http://outcampaign.org/
Personally, If I want closures on a JVM, I'd go with KAWA, as I'm already familiar with Scheme, it's got continuations also, and there's already a large amount of existing code recipies for Scheme... not to mention that I can use it to do REAL object oriented programming instead of the cripled OO that Java uses.
But, Java is designed "just poorly enough" that it hasn't caused me enough pain yet to motivate me to use another language implemented on it's VM; there are simply too many non-VM cross platform languages available for most any non-java centric project for me to need the VM, and Java is "good enough" for large Java projects, and I fear what incompatibilities might arise if I introduce a second language into a large Java Project not to mention that mixing 2 languages in the same project adds more complexity than the benefits would offset.
I think my favorite "VM" is still gcc. Use any language you want that compiles to C++. gcc is then supported on more platforms than Java.
You really should upgrade your system to get rid of those ^H's. ^W is the new tech...
I hereby place the above post in the public domain.
Pretty nice, but i can (and did) do the same with Python. I'm taking about stuff like SAP XI, a 250,000$ software package i have to work with every day and breaks if you switch browsers, use a "non-supported" OS or dare to upgrade the damn JRE. Same with Java applets for cellphones. You can write portable Java code, i agree - you can also do it in other interpreted languages. Hell, you can do it in C if you're careful enough. Like i said, Java does have its perks. Flawless portability it's not one of them.
This is incorrect.
The forker only needs to make their code available to whomever they distributes the resultant. There is no requirement for "publishing", no requirement to make changes available to anyone other than the recipient of the derivative work.
It's a simple matter of complex programming.
I had mono in high school, I really don't recommend it since I was tired all the time.
Think global, act loco
Please mod parent +1 informative!
"I think this line is mostly filler"
does this mean I can get at their X.509 and other security related code? I think it would be possible to start building backdoors into key pieces of security infrastructure and slip your hack, trojan style, into assorted projects and products if controls were not in place to validate carefully new versions of stuff we once trusted entirely to Sun.
SLASHDOT: news for people who can't concentrate on work or have no life at all and got tired of yelling back at the TV.
Funny, except for Linux distro torrents, the vast majority of peers seem to be using utorrent.
Or do we want another IceWeasel?
As someone a post above you suggested, I think PeaBerry would be a good name for the Debian version...
"Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
Agreed 100% that Azureus is total crap. It's so bad that after I got sick of dealing with KTorrent, which I like a lot more than Azureus, I switched back to uTorrent, and just run it through WINE.
Using Java in Azureus is just as silly as using it for OpenOffice. If the whole thing isn't Java, then what's the point? My biggest complaint with OpenOffice is that it's slow to start and parts don't work like the rest. Unsurprisingly, these parts are written in Java, while the rest is C++.
All the articles and PR work that I've seen so far haven't actually described in a complete sense what, precisely, isn't under the GPL *right now*, what *will* be under the GPL come 2007, and *will never* be under the GPL.
So, where can we find actual details instead of people discussing political issues too far above their heads to say anything useful about it?
Unsurprisingly, these parts are written in Java, while the rest is C++
Of course, the fact that some part of a program doesn't work like the rest is to be solely blamed on the programming language used. The quality of the program itself is obviously to be disregarded in this kind of matter.
Write boring code, not shiny code!
I meant Solaris, not IRIX (although, that would be something, wouldn't it?)...
Reason is the Path to God - Anon
Yes, actually, in this case it is the language choice to blame. Java can't directly interact with things outside of the sandbox. This means that you have to either draw the UI using Java, or a hook library to interact with the system as the rest of your program does. You also have difficulty reusing the code that you wrote in another language from your Java code. I am not attacking the concept of a portable application, or even Java, itself, but the concept of mixing languages that have such different paradigms.
Take the case of OpenOffice. If they stuck with C++ for the application, then they could use all of the same calls to do their UI, they would be portable to more platforms with just a recompile, since there are platforms that Java won't run on, and they would have faster launch speeds without random slowdowns caused by launching a JVM in-process. If they went for all Java, they would have a slower launch speed, but only that once. They would also be directly portable to any platform with a JVM available, without a recompile.
In the OOo way, you don't get the direct execution portability of Java, the recompile portability of C++, the launch speed of C++, or the consistent speed of a JVM after launch. You have to deal with the Java sandbox, and the ease of making mistakes in C++. You can't reuse the Java code in C++, nor vice versa, since you can't make calls without big performance hits. So, in short, you get the worst of C++ combined with the worst of Java.
This is great!!! Where I work they use all Java all the time.
And every time I try to propose using something useful like samba, perl, apache or anything else that is GPL they simply cite the doctrine that open source or GPL software is not permitting in the environment.
I wonder how they will deal with this one?
Probably ignore it. But I'm going to have fun throwing it in their face.
It's strange that in a country that was founded on freedom and liberty that they'd be so willing to let marketing folks hijack such a fundamentally important word and make it synonomous with gratituity so they could sell more laundry detergent. Even Mork from Ork knew what 'Fly be free' meant
Signatures are a waste of bandwi (buffering...)
I was thinking the same thing. I downloaded and installed Tomcat today, then went out to Borders and bought "Core JavaServer Faces" by Geary & Horstmann, and "Beginning Hibernate" by Minter & Linwood. I'd been wanting to learn all this J2EE stuff, now I'm actually going to do it.
Finally found the answer:
s p#h1
http://www.sun.com/software/opensource/java/faq.j
The startup time has nothing to do with JIT compilation. Java starts up slowly because every class is dynamically linked, no matter how tiny, how small the scope of its use or where it is defined. That means that a typical program dynamically loads and links thousands of classes from an inefficent binary format just to get up and running.
You forgot all those non-free fonts.
"Little does he know, but there is no 'I' in 'Idiot'!"
I just wrote a new online game using Java applets. There really aren't that many options. Your choices are pretty much Flash, Java applets, or Javascript. Flash is too proprietary. Javascript is too painful.
Look at Yahoo Games. I think most of them are Java applets. Other than the game niche though, you're right, applets aren't used much. However, it is a big niche, and I don't expect applets to be "going the way of the dodo".
"So-called "Java chips" provide a very real platform for deployment on handheld devices."
If by 'very real', you mean 'non-existant', then yes they do.
Java chips sounded like a good idea last millenium. The evolving JDK and Moores Law conspired to kill them off.
Perl/Python/Ruby run on more OSes than Java, purely because the source is more available.
That'll change now, thanks to Sun.
Laws do not persuade just because they threaten. --Seneca
Plus, Psyco is x86 only.
At any rate, the script was taking a long time to run, so on a lark, I implemented the exact same logic--basically line for line--in Java using Java's perl regular expressions, and I'll be damned if the Java parser didn't run in 1/3 the time of the perl script.
That's right. Java beat perl by a factor of 3 at perl's bread and butter: slicing and dicing log files. Sun has really come a long way with the performance of their JVM and JDK classes, and deserves some recognition for it.
They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
Right, time is a shell keyword, even though typing "man time" brings up the man page, which you'd think would describe the program to be run. Either way, the memory-counting features don't seem to work, so... darn. How hard is it to find the maximum resident-set-size of a program over its short lifetime?
Laws do not persuade just because they threaten. --Seneca
Comment removed based on user account deletion
Good points, I'm sure. I still need to learn more about threading models, although I think coroutines could be ridiculously useful to get some sort of threading done quickly.
My point is that we don't really see any threading-specific language constructs in most of these languages. They express threading in terms of what's already there. Java is an "object-oriented language", not a "threading langugae", so threads in Java are an object, and anything related to threading is expressed that way. Perl lets you do "ties" for anything really bizarrely outside the ordinary, and Perl threads kind of look like that. C does most things as functional/procedural, either passing structures around or (more likely) passing ids around, and that's how threading is implemented in C.
I'm not saying any of these are a bad or wrong way to do it, but I suspect that a language designed from the ground up to do threading -- as one of the major design goals of the language, not just an incedental thing -- that language would look fundamentally different.
Therefore, I still say Python is as good at threading as most other languages, because like most languages, threading is kind of bolted on, but you can still do some cool things with it.
Don't thank God, thank a doctor!
It seems like such a small step from SCSL to GPL, but it really isn't. GPL'ing Java will ease development on platforms that formerly relied on things like Blackdown to have any kind of Java support at all. The gcj project will move forward more rapidly, providing native code compilation of Java on hundreds of platforms, many of them embedded systems. In many ways, removing distribution restrictions from one's product is a leap of faith. It takes confidence that Java is a mature product that will keep Sun's legacy through its transformation into truly Free Software. Kudos, and my sincere hope that Java becomes the dominant multiplatform solution of the future.
mandelbr0t
"Please describe the scientific nature of the 'whammy'" - Agent Scully