In his Weblog entry last week, Jonathan Schwartz wrote that “despite the cynics, using a GPL license is very much on the table“ as a possible option for open source Java. Schwartz also reported that Sun is making serious progress on open sourcing Java. “We’re now making serious progress on open sourcing Java (and despite the cynics, using a GPL license is very much on the table), while focusing the debate on what matters most: not access to lines of code (that’s already widely available), but ensuring compatibility,” said Schwartz.
I will know Java is open source software when Gentoo users can include Java source code and compile the Sun JVM directly on their machines.
This is what I dislike about Java. People tell you oh you can download the Java linux JVM binary here… You can see the source code here.. There is no real option for distributions if you want to include the source as a SRPM so users can compile it for a specific CPU. It is awkward to have to follow Sun’s binary download policy just to get the JVM included. When I can include the JVM source code and recompile the system Java will really be open source software. Right now it is community accesible software but not open source. Somewhat close but no cigar yet Sun.
Edited 2006-05-31 18:13
Why would you want to compile it yourself? It already includes a JIT targeted for specific architectures. I don’t see what benefit you’d get from compiling it yourself.
You obviously dont know Gentoo, it’s a source based distro, those guys (want to?) compile everything theirselves, even if there absolutely isnt any gain from it.
Exactly my point. I never understood the motivation behind Gentoo. OpenOffice is OpenOffice is OpenOffice. Why spend hours (or days on older systems) compiling it and all its dep’s when you can just use a binary?
Anyone that builds OOo from source is out of their mind.
Thats why theres a -bin in portage.
Ohhh… thanks for confirming I’m out of my mind
You just made my day, thx
Anyone that builds OOo from source is out of their mind.
Thats why theres a -bin in portage.
Once again, there is no binary of OpenOffice.org 2 for Linux PPC, so I _have_ to compile it, if I want to use it. The world is not only x86, you know?
Because:
1) We can.
2) We want to.
3) Compiling is not about extreme optimisation flags (despite what some might think). It’s about configuration, securing the packages are compiled with exactly the functionality I want, no more and no less. The binary OpenOffice.org-package does not fulfill my needs, that’s why I compile OO.o (though as seldom as possible – it takes 8-9 hours).
is not for everyone and was never intended to be… As long as they are happy with what they get, fine with me!
Because souce compatibility is _a lot_ easier than binary compatibility.
Because of 80/20 rule:
80% time is spent on compiling an application, 20% on running it.
“Because of 80/20 rule:”
What rule ? this is a made up stupid lie , that you keep repeating , you think that software programmer and compiler at commercial closed company spend there time using the software ? Think , heu no , it would not apply to you , you cant think , need a brain for that and the ability to think freely.
“Exactly my point.”
You dont have a point , if you did those who do it would agree with your point and stop doing it.
“I never understood the motivation behind Gentoo.”
Learning how things really work , improving the software code , for speed , integration , functionnality , etc. Just look up the logfile on your software. Thats right you dont know what those are for either.
“OpenOffice is OpenOffice is OpenOffice.”
No , but thats because you dont work ON OpenOffice , you dont follow its development , participate , contribute or have anything to do with OpenOffice , maybe except use it.
“Why spend hours (or days on older systems) compiling it and all its dep’s when you can just use a binary?”
Because you can , because you know how , because you see the benefit in it , because you learn from it. Because its there time , because its MY time.
Its funny that you think that software grow on special tree , inside software company only and that improvemnet and new software come already made from the internet in binary package.
I never understood the motivation behind Gentoo. OpenOffice is OpenOffice is OpenOffice. Why spend hours (or days on older systems) compiling it and all its dep’s when you can just use a binary?
As a side benefit for the whole Gentoo “compile everything” community, I’d bet that having lots of folks doing builds — likely with various optimizations enabled — is good for picking up on various bugs in the system you might not ordinarily find.
Better to have a “thousand eyeballs” building your code than just downloading the binaries.
Now, whether or not they actually submit bug reports for the ones they encounter is another question.
Oh, we do submit bug reports.
(me kicks my gcc-4.1.1 installation)
Gentoo is nice, don’t get me wrong, but there is very little benefit from compiling from source on x86 because the instructions are the. Your sytem wont be faster than my Debian system because you compiled from source everything.
Compiling from source is not about speed. It’s about customization.
[/i]”Compiling from source is not about speed. It’s about customization.”[/i]
And what do you wish to achieve by customization?
Edited 2006-05-31 22:38
As I stated earlier:
A system running completely after my mind, with the functionality I want – no more and no less.
My Gentoo system is a lot more stable than the mainstream binary distributions I’ve tried (especially better than Fedora, the latter drove me towards LFS).
Since the devs on binary distributions are incapable of maintaining a distribution useful to me, I’ll just maintain my own
If you have the code you can fix bugs that annoys you.
As an example, for over SEVEN years, Swing GUI applications have been useless on Linux unless you have an US keyboard.
If you have some kind of European language various characters are untypable on Linux, what character it is depends on your language. On my Swedish keyboard it is the tilde character.
This bug is now finally fixed in the Sun JDK1.6 beta, and will hopefully, remain fixed in the final version to be shipped later this year. I doubt that major show stoppers for java GUI applications like this would have remained unfixed that long if java had been open source.
Other reasons to allow people to have access to the code is to make it possible to port it to other platforms. My guess is that FreeBSD have suffered from this in the past, or what if you want to port to another processor.
However, I’m not sure GPL is the answer for java. Even if Sun could use a dual license model for people that want to write closed source apps. GPL would prevent Sun from incorporating GPLed contributions from the free version without negotiating deals with each contributer.
Some kind of Apache like license would probably be more productive. That way Sun could cooperate with the Apache Harmony project. Sun have coperated succesfully with Apache in the past e.g. on servlets, so there is no reason it couldn’t work for all of java.
> If you have the code you can fix bugs that annoys you.
Um… You can.
Hundreds if not thousands of bug fixes have been contributed by users ever since Sun changed the licencing for Java last year. Users can now modify Java for internal use (provided they don’t intentionally break compatibility) and also submit bug fixes to Sun for inclusion in Java.
Why would you want to compile it yourself? It already includes a JIT targeted for specific architectures. I don’t see what benefit you’d get from compiling it yourself.
How about because there is no Sun’s JDK binary for Linux PPC and I have to use it? And no, IBM’s JDK is not 100% compatible and has already given me headaches for a few weeks.
“Why would you want to compile it yourself?”
The real question is why do you NOT whant to comiple it yourself and why are you trying to remove that possibility from others ? Its not like your going to add function to Java , improve the current software speed , change some code to make it more efficient. My take is you dont even know what JAVA is and what its for and can be used to.
“It already includes a JIT targeted for specific architectures. ”
Its not made 100% for that architecture , by expert on that architecture. Its a generalistic , broken , usually not even tested on the specific you use.
“I don’t see what benefit you’d get from compiling it yourself.”
Optimization , integration , removal of spyware , trojan , adware at the source code level , etc … there is too many real benefit to name them all , and it would be time wasted on someone like you , you dont use your computer , you use the software to do the minimum.
Simple , realistic , answer is take a programming course , learn what you can do with compiling. But then again you whont see the benefit in that either.
GPL With Exceptions would be good for the libraries. Obviously straight GPL for the libraries would doom Java. Straight GPL could be used for the VM, compiler.
I think Sun is very mistaken though if they think open sourceing Java will suddenly change the fate of Java. Most Java developers just don’t care.
Probably the biggest fear that Java developers have of an open source Java is fragmentation.
And another edit…
Actually, straight GPL on the VM would be problematic too for embedded systems and linkers. But GPL with Exceptions would work. Of course just the GPL stigma might turn some companies off.
Edited 2006-05-31 18:22
Perhaps for companies in USA, but in Europe “GPL with an exception” would be used without any hiccups.
GPL’ed Java would however probably be a threat against open source JVM’s like Kaffe.org.
There is already some fragmentation in the Java area, if you count in Kaffe, Jamiga etc.
Perhaps for companies in USA, but in Europe “GPL with an exception” would be used without any hiccups.
GPL with expections is a bit more clear than LGPL. Some European companies have problem with GPL too.
It’s a lot more clear than LGPL, but it would be unwise of Sun to choose LGPL, IMHO. Anyway, no matter what “Open Source” license they choose, they should stand firm on the trademark, simply to ensure compatibility.
The numbers of european companies having issues with GPL can likely be counted on one hand. Most european IT-companies (and companies in general) are small or medium-small, and rely heavily on the GPL.
Government-funded research in USA is often released as BSD/MIT. In Europe the license is GPL v.2 or (at your option) any later version.
Issues with GPL is almost purely an american thing.
Actually, we worked on two projects with a French and a German firm that couldn’t use LGPL because of a mandate from their legal department. We had no problem with LGPL.
As I said, it’s very rare. You can of course find companies not wanting to use GPL (or LGPL), but it so rare.
However, I can understand why they didn’t want to use it. If I was a company releasing some major software, I’d make sure it was GPL so I minimized the threat from competitors.
Actually, its less rare than you think in Europe. It had nothing to do with not wanting to use it. It had to do with their legal departments mandating that they couldn’t use it. The code in question was LGPL.
However, I can understand why they didn’t want to use it. If I was a company releasing some major software, I’d make sure it was GPL so I minimized the threat from competitors.
You seem to be confused though. This wasn’t an open source project.
If it wasn’t an open source project, it explains why the legal departments wouldn’t allow use of LGPL.
There is already some fragmentation in the Java area, if you count in Kaffe, Jamiga etc.
There really isn’t any fragmentation in Java at all. If you haven’t noticed Kaffe is not Java and it cannot even claim to be. IBM has a certified Java and it hasn’t caused fragmentation.
Kaffe is not Java in the legal sense, but none-the-less the only thing resembling Java on many platforms.
The one from IBM is old – and slightly incompatible btw.
The strength of Java lays in the massive number of specifications Sun has so carefully crafted and evolved through the Java Community Process. Even if the language is mediocre, the specifications are what make it so great.
There have always been massive flamewars over including java as a “first-rate” language in gnome. If java were released under the GPL, or the LGPL, I’m positive it’s bindings would be included in gnome by default. This would do wonders for java as a language of future desktops.
LGPL could work for Java, as long as Sun could figure out a method to ensure that only 100% compatible Java VM and library implementations are distributed. If Sun couldn’t assure a user that the Java VM and libraries that they’re using are certified as 100% compatible, then their “Write Once Run Anywhere” claim would no longer be valid, and that could cause them all sorts of nightmares. Perhaps they could implement a method to notify users “Yes, this implementation is conformant” or “No, this implementation is not recognized as 100% compatible” by having a test application that takes an MD5 check of the binaries and libraries and checks with the Sun website to see if it is recognized as conformant.
There may well be problems with doing what I’ve stated above, but as soon as Sun allows full redistribution of their source code, this is an issue that must be addressed, or they have invited the distinct possibility of incompatible versions of Java by accident that Microsoft attempted to do on purpose.
Here’s another point: someone somewhere has to do a lot of testing with validation suites to verify if an implementation is conformant or not: who gets to do that, and what is the price for that? That isn’t without financial costs, and someone has to absorb that cost. Even if the source code is made fully available, the “Free as in beer” doesn’t mean that “It’s free as in beer and also in cost for validation” at the same time, and it benefits everyone to know for sure that any and all implementations of the Java VM and libraries are compatible for a given version number, especially since that’s one of the biggest benefits claimed for Java. If it were one of many other programming languages, it might not matter as much: for example, there are a lot of things for C/C++ that are “Left to the decision of the vendor” that can vary from one compiler vendor to another, even on the same hardware, and there are many cases where nothing is written at all that governs how a certain piece of code is supposed to work, so it’s a fill-in-the-blank specification.
Unless Sun can come up with a method for ensuring that all distributions are compatible or at least ensure that no user can use an unverified copy without being very aware that it isn’t certified, it may do them (and Java and those that develop for it) more harm than good to make it open source.
i hope sun will continue assuring that all java vm are compatible…..
who will test that ?
DAH!!!!!!!!!!!!
Geeze, like they’ve always done; don’t call it Java unless it has passed the Java conformance tests. Doesn’t ANYONE read?
That means that anything IBM uses java for will have to be GPL’ed. Good move sun!.
Dual license Java – like QT and force your competitors to release revenue generating products as free software.
BRILLIANT!!!
“That means that anything IBM uses java for will have to be GPL’ed. Good move sun!.
Dual license Java – like QT and force your competitors to release revenue generating products as free software.
BRILLIANT!!!”
You do realize that IBM and Sun have a pre-existing license agreement in place for IBM Java, right? And you do also realize that the agreement will still continue, even if Sun releases Java under the GPL, right? It’s common sense really.
IBM has their own JVM and Libraries, the GPL doesn’t apply to that.
I don’t see Sun GPLing the entire Java platform. Ever.
If the code for rt.jar is GPLd, all Java code that ‘links’ to it will have to be GPLd as well. That means even the simplest ‘hello world’ app would also have to be GPLd. Sun should never endanger Java’s corporate presence in this manner.
Edited 2006-05-31 19:52
Yeah, obviously anything that links to user code couldn’t be straight GPL. But he’s probably referring to some other GPL in the GPL family.
According to:
http://www.kaffe.org/~stuart/japi/htmlout/h-jdk14-classpath.html
Currently, the compatibility of GNU Classpath and JDK 1.4 is 99.06%.
There many active FREE JVM implementation depends on GNU Classpath.
Such as:
Kaffe
http://www.kaffe.org/
Kissme VM
http://kissme.sourceforge.net/
SableVM
http://sablevm.org/
JamVM
http://jamvm.sourceforge.net/
And GCJ can compile Java into native code.
Sun is losing its leadship of java.
Not to diss the hobby projects you listed, but just because they might be mostly compatible does not mean they are performant or production-ready. How many Java devs, do you suppose, are even aware of the projects you listed?
In reality, there are very few who would chose a non-Sun/IBM/BEA Java runtime.
I agree. It’s late for Sun. Who cares now? Not only there are the alternatives you mentioned already. There’s also mono now.
And developers hate Java (hard to code), users hate Java (a memory hog),…
Developers love Python, users can tolerate it (it’s slower than java, but uses less memory, which is more important for most desktop apps).
I can’t see Java’s future very bright. At least for the desktop.
A bit off topic, but… can someone tell me if Lua is an option or not as a programming laguage for desktop apps? It’s simple and fast, for what I’ve read…
I agree with an earlier poster, those other “alternatives” for java are sadly not a real alternative at all, I don’t think anybody in their right mind would use it over the official implementation to do anything serious.
And I sure would like to know where you got that developers hate Java. I’m a developer and I very much like using it. Its not about people hating this or tolerating that ..its about writing good software and using the best tool for the job. If its good people will use it, it doesnt matter how or on what its written. In the end its all 1’s and 0’s.
Edited 2006-05-31 22:39
> I agree. It’s late for Sun. Who cares now?
Oh I don’t know… Maybe the 15,000 Java programmers who showed up at JavaOne this year, producing record attendance levels, and making it the largest developers conference in the world by a large margin?
Or maybe it’s the mobile developers, who have a target market of 2 billion.. yes 2 BILLION Java enabled mobile devices to deploy on?
Or maybe it is all those people who search Job web sites and find that Java is still most in demand programming skill in the world?
Or perhaps it is all the open source developers, who have made Java the #1 language on Sourceforge, having surpassed C and C++ for the number of projects.
Or then again, maybe it is all of them.
> And developers hate Java (hard to code), users hate
> Java (a memory hog),…
Hmm.. Please cite a source for both these claims. I’m a developer, and I love Java. And so do a lot of other developers It gives me the best balance of power and ease of use of any language.
> Developers love Python, users can tolerate it (it’s slower than
> java, but uses less memory, which is more important for
> most desktop apps).
Python, and other loosely typed languages for that matter, are horrible for large projects–especially when those projects have a lot of people working on them. They are also horrible for debugging purposes since bugs that would show up at compile time in a language like Java don’t show up until runtime in Python when someone hits the buggy code.
> There’s also mono now.
You mean that totally undocumented half baked .net clone that is not even cross platform for many uses (and don’t tell me gtk. gtk is not a suitable toolkit for use on Windows, and doesn’t even exist at all for Quartz on OS X).
> I can’t see Java’s future very bright.
I’m afraid that 15,000 JavaOne attendies, the worlds largest developer conference, the world’s largest developer job market, the most popular language on Sourceforge, the 86% of computers in the world that have Java on them, and the 2 billion mobile devices out there that are Java enabled, all disagree with your assessment of Java’s future. Not only is Java very healthy. But it is growing.
By the way, did you know that JavaOne is such an important event in San Francisco that the mayor of San Francisco has officially declared that week Java Week?… Not bad for a platform that supposedly has no future…
Edited 2006-05-31 23:03
Go with a BSD/Apache type license. I do not want to have to deal with GPL nonsense (from my own standpoint) when I work with Java. At least if it’s BSD, GPL-loving folk can use it as well as BSD AND closed-source kinda guys. If you go GPL, you restrict the “freedom.” This is just going to turn into a GPL/BSD/whatever debate though, I would be sorely disappointed if it was GPLd and would no longer be able to use Java in my deployments for various legal reasons, if the GPL is used throughout java. I hope they can come to a halfway point somewhere, at a minimum.
…you’ll never go back. Because it’s impossible. You can do a rollback and start from where you’ve first adopted the license. But you cannot ask everybody contributing to a GPL license app to permit a change of license. That’s impossible.
So to state it very shortly: If Sun releases Java GPL’ed, they’ll probably never own it again.
I wouldn’t consider that a loss, though. JVM was free already – but the stronger it gets, the better platform they’ll have for all the other Sun apps… which is quite a number and probably their main meal ticket.
That’s not quite true, Sun could give away Java under the GPL but not incorporate commits from external people.
They could also demand people who commit to give them further rights than just the GPL – rather unlikely though.
Question is, why does Sun want to GPL it – to get work done from third party people? I think it’s more for political reasons and some of their customers’ demand.
On the other side – a licence change backwards could result in a fork (like Xorg vs Xfree) which could harm Java and Sun in future a lot. But this is not needed to stay “owner” of Java.
Edited 2006-05-31 20:24
I think you miss the point of open source: everybody owns the code. To say that “they’ll probably never own it again” is to state the obvious.
This is a decision Sun shouldn’t come to lightly. Sun are too obsessed with their control over Java to just release it into the wild. I personally believe that this is a publicity stunt.
And to all those crying about potential forks, please do educate yourselves. Forks are extremely rare events and typically happen when someone *closes* an open source project’s source code or in some way dominates the development process, not the other way around.
What are they after, anyway?
But whatever license it comes out under, I hope that people contribute plenty of slimming patches.
I’m sure that SUN is fully aware of this, but it never seems to come up in threads like this one, so, here goes:
The JAVA language and SUN’s implementation of it are two different things.
SUN can easily retain control of the language through the trademark, as they do now. You can’t call what runs on your machine “JAVA” unless it passes SUN’s compliance test.
With that level of control, they can easily open source the implementation, if they so desire.
The downside, if you’re SUN, is that the number of variants wishing to certify through the compliance test would go way up.
Why not release it under the CDDL? I mean, they’ve released Solaris under that licence, why not use an existing licence and release it under that one?
I think probably the greatest issue, however, is this; the porting and certification process needs to be made alot cheaper, more streamlined as well.
If SUN wish to make themselves more ‘acceptable’ to the OSS world – why not offer free certification to opensource projects? if FreeBSD ports Java to FreeBSD, why not certify it for free? same goes for Linux as well; send a message out there that Sun wants its java on every platform, for ever possible use.
I may be a loner on this one but I am of the opinion that Java should stay with its’ owner, Sun.
They develop it, they market it and they make it available to us developers freely. I do not understand why OSS folks want to ruin a good thing. At least with Sun there is a stability and if something goes wrong, we can blame Sun NOT OSS developers.
I am for the community pitching in, but that is what the Java Community Process is for. If people don’t like it, use C#! Too many chefs in the pot may ruin the dish!
Cycloneous