Java to be Open Sourced in October
thePowerOfGrayskull writes "Sun is now stating that the Hotspot JVM and javac will be open-sourced in October of this year, with the rest to follow by the end of 2007. There is still no word as to which license it will be released under. For those who haven't seen it yet, Sun has previously opened a public developer community site for soliciting feedback and providing updates about the process."
"Source code for Java already is available and has been for 10 years", said James Gosling. I guess Open Source means they want free developers.
Long live the programmer-letariat!
"While the Copyright exists, there can be no freedom. When there is freedom there will be no Copyright."
Depending on the license that they choose, OSS purists can now utilize Java in their programs. OpenOffice.org ran into some issues when it began using Java to power some of its components. Hopefully the license under which this is released will be acceptable.
Information wants a fueled airplane waiting at the hangar and no one gets hurt.
Is this "open source" as in "open source"?
Is this "open source" as in Apple's "public source" Darwin project, where they're basically going "you can see and compile all the code, but no way are you going to be redistributing this as any kind of commercial project"?
Is this "open source" as in Microsoft's "shared source" projects, where it's totally not open source at all except in a PR sense?
Is this "open source" as in Sun's Solaris "open sourcing", where it's open source in all technical senses, but it's under an unbelievably elaborate license which exists for no reason except to engender GPL incompatibility and keep Linux from benefiting from the source release, which effectively scares everyone away from the project?
Cuz really, unless "Java to be Open Sourced" really means "Java to be Open Sourced", it won't make a difference, acceptance of Java will continue to be held back by the perceived closedness of the Java language and real linux-unfriendliness of the Java runtime, and languages like C#/Mono will continue to make inroads until Apache finishes their Harmony project.
In both the summary and the article, they stated: "There is still no word as to which license it will be released under."
Your post doesn't add anything to this discussion, we're all aware of the many different meanings of 'open source' as well as 'free.' This is Slashdot where people nitpick all day, the article clearly says that they haven't released license details yet!
So explain to me how the C#/Mono project is better for open source purists?
C# is Microsoft's solution to the Java problem and most definately will never be open sourced. There are also potential patent issues (I can't believe that there would be _no_ patents that cover C#.)
So because people hate Java (not open sourced), they're embracing an open source implementation of a different closed source project. That makes sense how?
On wait, this is the open source community and what it does doesn't necessarily make sense, there are just emotional responses because someone does something a little bit differently.
They better do it fast. Sadly for Java, .NET took almost everything good about Java and fixed lots of its quirks and gotchas. And with Mono, OSS people are giving it a chance too. With dynamic language support being heavily invested in both platforms, having outside contributors is critical.
Now that Java can be redistributed legally (tell that to the slackware guy, he has always included it by default), and will be open sourced soon, it can fight back.
Open Source Java Web Forum with LDAP authentication
Don't use the "d"-word here. ;)
The Internet is full. Go Away!!!
Cheers,
Ian
Sure, HotSpot may be a bit faster than free JVMs, but the free ones do function well enough. Also, free Java compilers are already readily available. For a long time, the main issue has been the maturity of free class libraries (particularly their Swing/AWT implementations), and now Sun says they'll be getting around to releasing that around the end of 2007. Almost smells like timing the release to a date when they think Classpath will have most of it nailed anyway.
And then there's the license bit, but I shan't speculate on that uninformedly.
I don't mean this as a troll at all. It's just the main thing that enamored me with Java 8 or 9 years ago was that I found myself getting projects done much faster in Java than in C++. Since then, however, I've found Python, which I'm even more productive in. For big projects, where strongly defined interfaces help control complexity, C# is now an option.
So given that we have Python (for fast code) and C# (for big systems), do people really prefer Java for new projects anymore?
Congratulations! That has to be the most redundant post I've ever read!
You asked me if I read the summary, then bolded the part of the summary I'd quoted (and/i? I prefaced it with ftfs [from the fine summary])
There are shills on slashdot. Apparently, I'm one of them.
And the masses calling for open sourcing IBM's production desktop and embedded VM?
*crickets*
Exactly. This has always been and will always about looting Sun microsystems or [insert OSS bogeyman in possession of valuable technology here].
120 characters isn't enough to explain it.
It depends, will Gosling announce a "Five Year Everybody Dies Plan"?
If they had done this right 5 years ago, .NET would have been stillborn and Sun would be the worlds leading application platform vendor. That's a desirable and advantageous position for a hardware vendor to be in. Instead we're 2 months before a release and we still don't have enough details to consider java for future projects. With the benefit of hindsight, the best business decision Sun could have made back in 2001 would have been to relicense the java source code like they were being asked to.
It's definitely the class libraries that make Java "java". The language is straightforward and there are decent JVM workalikes, but developers write their code around the class libraries. The problem I've always found with Java is the bloat of the class libraries, so I'd like to see open source distributions make lean and mean Java variants.
A perfect Java distro would maybe drop all the deprecated methods (will Sun ever do that? Java 1.6 is a good opportunity...) and unbundle some of the least-used stuff like the CORBA and RMI stuff. Heck, even Swing and AWT should be optional packages. Why couldn't Java be structured sort of like a Java Web Start install, pulling in libraries only if needed. Almost everything is connected to the internet these days and good caching of libraries from trusted sources would be a decent way to get full functionality with a smaller initial footprint.
Why are people clamoring for open java? As an application developer, I don't use Java, and it has nothing to do with it being open-sourced. It has to do with a bloated framework that I'm not supposed to distribute with my application, an inconsistent UI, and speed issues. If I could compile a native executable that Just Worked(tm) then I would love it.
Java is still only good for simple embedded web applications, or server-side applications. From an application developer's stand point, Java grew out but never grew up. Open sourcing doesn't fix any of this.
Mono is still a better option.
From Sun: For Research Use only you can access the source code of the implementation of Java from Sun. If they are going to open source Java, I think that they think on more than that.
So if they are going to open source java, but you can't use it for commercial use, then they are only to change the name of the lincense.
My city: Barcelona.
Sweet! Next year! Damn.. that's close.
you are a fool if you think it is easy to find the exact amout of empty disc space in a netwroked-clustered environment in a platform independant matter..
and he who comes too early is punished by wife.
Not sure how stating either of those makes someone a zealot, but, whatever.
It should have been earlier, and it may well be too late. I respect Sun's problems with making the system open, and they've certainly experimented a great deal with different levels of openness, but I think they ended up making the wrong decisions. Not making Java Free Software earlier helped proponents of alternatives such as Mono, and this in turn gave .NET more traction.
GCJ isn't going to go away. It's more than just a JVM, after all, and people are only beginning to see its power. But I can see GNU Classpath disappearing if the official Java libraries are available under a GPL-compatible license.
You are not alone. This is not normal. None of this is normal.
Maybe now someone will be able to do a full fledged port to Alpha. I've used Alpha (Linux mostly) systems for many years and I'm never going to give them up until I can't make them run anymore. Yes, I know there are other 64 bit options these days, but I just like Alpha.
The only thing I've really found that is lacking on the Alpha is Java support. There are a few little projects out there which offer limited support, but not since compaq stopped its implementation at JRE 1.3 has there been a real Java environment for Alpha.
Since Java is one of my all time favorite languages to work with, I really hope this could lead to a complete, up to date, stable JRE for Alpha/Linux.
Add operator overloading (and I mean PROPER operator overloading, not some find-and-replace garbage) to the JDK v6, and you've got a language that (despite being slower than C++ in some cases) towers over C++ in so many ways - garbage collection, easy exception handling, a huge standard library...
If Colonel Sanders would open-source those eleven herbs and spices, we could finally know with certainty how many of them are salt.
--- What?
Its only been year since the release of OpenSolaris, and there are already many distributions in development. So I don't think the CDDL is everyone away.
While I don't care for the CDDL, Sun's rationale is well documented.
Process child = Runtime.getRuntime().exec("df")
Badass Resumes
I doubt if this will change anything:
.Net Fx due out this month.)
.Net.
1. In the application space, there are much more productive languages and tools. Think Ruby, Python. And extreme performance has never been a Java forte either.
2. Core language capabilities are obsolete now. Bruce Eckel's famous piece The departure of the hyper-enthusiasts captures this nicely. And looking at the C# 3.0 spec, with lambdas, automatic type inference, monadic comprehensions and lots of functional programming goodness, Java is left way behind. MS is also way ahead in adding dynamic languages support to the platform (Microsoft supported IronPython v1 for
3. I think Gosling needs to move on. After he said Ruby/PHP are just scripting languages, and they just generate web pages, and lack the "power" of Java. [Which "power"?]
4. With Vista MS would have finally killed Java's Run Anywhere promise. It will still run, but it will look totally out of place. The new eye candy, and the good communication foundation (WCF) is better and easier accessed through
The only reason to have Java is for compatibility in a "Legacy" Java environment. Kind of the same reason why we still have mainframes. These days I cannot think of a single reason why someone would go with Java, other than interop.
Life is a conviction.
I know, I shouldn't feed a troll....
You are the reason they were reluctant to make it (fully) open source.
You obviously are confident you know more about what makes a good language than the designers of Java do. Have you read even one paper at jcp.org? Have you looked at the people who make up the JCP? IBM, Apple, Cisco, Intel, HP, ATI, NVidia, Creative Labs, Google (!), Apache, Apogee, Namco ... you really think you're smarter than their combined intellect and months of discussion? Trust me, you're not.
I'm sure you and a lot of others are already giddy with excitement over the idea of making a "better Java" with const and operator overloading.
When you understand the "less is more" principle, you'll begin to understand why all your pet features don't belong in the language.
The Internet is full. Go away.
This makes things more complicated for me.
I'm a C++ Windows developer and I'm interested in starting to do some C# or Java. It is my belief that both are quite good and both can run on Windows and Linux (this is a requirement) so it doesn't matter which I choose technically. I feel equal hostility to MS and Sun so that doesn't matter. If the open source community decides on one or the other as being more 'free' and really gets behind it then I'll probably go with that.
With Sun still playing games on opening Java, to the point where the JVM couldn't be bundled, and with the Mono project sounding pretty good (so long as I stick to the right API's) I was definately leaning towards Mono. But if Sun really does open Java then that will probably sway me the other way. Of course, I won't base my decision on the info we have today - I'll wait and see if they really do it.
Hey, at least I'm not the one making that speach anymore =]
I just do not understand why the people who hate java want to add all sorts of things to it that would either make it a total pain to use or to undermine the security of the platform.
Java isn't C. It was made for different reasons. People need to learn to live with it. Don't get me wrong, I use C as well, but I just don't know why the heck it is that some people want everything to look like C.
Everything I need to know I learned by killing smart people and eating their brains.
I'm still not installing JRE to slow down my computer. It can be as open source as it wants. Why do people still bother with java? It's a poorly designed, poorly implemented language. I'm not going to bog down my machines with any program that slows it down un-necessarily, which means: I'm not using anything written in java. Now if it being open sourced means that I can get applications written in java as precompiled binaries not needing JRE, well, then maybe.
rhY
I hold very few opinions. I hold information based on observation and fact. If you wish to disagree, please use facts.
Yeah. The individual usually is smarter than the group.
Badass Resumes
10 years ago, Sun promised ANSI and ISO standards for Java plus open source implementations. What did we get? No standards, a lot of FUD (yes, FUD from Sun) about how they can't because of MSFT, proprietary and closed implementations, costly compatibility tests, bloated APIs and implementations, and threats of lawsuits.
Now that FOSS implementations are mature and nearly complete, Sun is trying to undermine them by finally open sourcing Java (at least in name--in practice, the license will probably be a sham).
The sooner Sun goes out of business, the better for everybody. Microsoft at least makes no secret about where they stand on FOSS, but Sun pretends to be a friend to FOSS but keeps spreading FUD about FOSS and keeps stabbing FOSS efforts in the back.
Unless you're posting that from an AT&T Unix console, you're benefitting from people who had the hubris to think you're wrong.
The road of progress was paved by people who thought the current way of doing things was dumb, and who set out to find a better alternative. This is generally regarded as a good thing (except by people with a vested interest in the old ways).
Dewey, what part of this looks like authorities should be involved?
Yes, but of course once Sun comes out with operator overloading, it will be the font of all wisdom and goodness and all that is right and proper.
Hell, they can't even add local type inference. You know what? I am smarter than these people if they can't figure that much out. What a joke all you fawning apologists are. And here's a shocker -- operator overloading is a purely syntactic construct. If it was added to the language, it would STILL be bytecode compatible.
Done with slashdot, done with nerds, getting a life.
To me the real question is "When will Sun be releasing the various TCKs?" The conformance suites are what is needed to validate any of the java implementations and call them "Java" in the eyes of Sun (and their lawyers).
As James Gosling has said -- the source to the JVMs and libraries has been available for 10 years. But the TCKs aren't available in source or binary form.
Invalid Checksum. Retrying.
It's interesting to note that "open source" is now a verb. And we can be sure of that because the poster has inflected it for tense.
... ? An adverbial? Must be, because the opposite of "open sourced" would be "closed sourced", right? So the preceding modifier controls the manner of sourcing, either in the opening or closing direction. Hm. What a conundrum :)
The part of the compound that seems most verbal to me is "open" -- yet they don't refer to it as "opened source" -- which ostensibly refers to source (code) which has undergone an event of opening. Instead, the whole kit and kaboodle has been verbalized. Or, alternatively, "source" is being inflected as a verb on its own, becoming past tense "sourced", leaving "open" as
This is way cool, and coming right on the heels of the open linux phone0 8/15/141244
http://developers.slashdot.org/article.pl?sid=06/
Dare we hope for a perfect marriage?
well said.
I was thinking of the install footprint, not the runtime. I guess I'm showing my (java) age. A huge barrier to adopting Java software in the client world is getting Java on the client. Really, Windows it the biggest pain in the ass because it doesn't come with Java. I don't care how big Java is on Mac OS X because it's just there. I guess follow-up comments lead me to realize that splitting up the libraries is pretty pointless in this broadband (tubes? dump trucks?) age.
So I'll stand by my call to actually remove deprecated methods. Otherwise, what's the point in deprecation? Five years should be more than enough time to stop using something. But thinking about it, there are some serious bugs that could stand fixing, particularly in the big, complex parts like Swing. Or how about revisiting existing code and optimizing the performance? Some of Java's code is gnarly. Open source eyeballs could really tackle those without burdening Sun developers, who are busy pushing out the next unnecessary release for the sake of marketing...
Let me be the one to show a summary of Java coders in the community. WOOOHOO finally! I can only see this as a good thing in general. We can only hope that it will grow in popularity now.
BOO
Oh for christ's sake, everyone KNOWS that operator overloading is just syntactic sugar. Who the fuck do you think you're enlightening with that gem of insight?
The objection to operator overloading is made on the grounds of code simplicity and readibility, not because of any issues with byte code.
"We don't know which license we're going to use yet. We do know that it will be an OSI-approved license. We also know that any particular license choice is going to disappoint some people, but we don't see any way around that."
But Java would be so much better if it was more like $MY_FAVOURITE_LANGUAGE! For example, it's lacking some features found in PHP like being mixable with HTML code and not using namespaces! And it should have the syntactic goodness of both Ruby and Haskell! Speaking of Haskell, why doesn't Java use type inference everywhere? Forcing the user to give a type only makes things complicated. Also, function declarations should not look like String foobar(int blah, int fhqwhgads) - foobar::Integer -> Integer -> String is much better for a completely nonspecific reason that everyone with two brain cells to rub together could see (just as he could see that such declarations should be optional since they could be inferred by the compiler). Also, Java should run on Dotnet and use FLTK as the main GUI toolkit.
And Javadoc should translate all source code comments into Esperanto.
USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
There are a lot of embedded CPUs that have "Java Acceleration" built in. I'm specifically concerned with ARM's Jazelle -- as found in ARM926ejs CPUs like the one in the Nokia 770, for example, and all ARM v6 CPUs -- but there is also Atmel's new AVR32 (Linux port is in the MM tree) and there are a few other processors that do the same thing.
But you can't get specs on how to use that stuff ... and if you ask the
chip vendors, the answer is that it's Sun's fault. To get specs, you must
sign agreements with Sun. That's for basic stuff like how to preserve the
relevant processor context, and how to enter or exit the "execute Java bytecodes"
CPU mode, and of course exactly what bytecodes exist. (They just accelerate
the bytecodes ... some things need to punt to runtime code.)
What that means is that for example GCC can't use that CPU acceleration by having its Java runtime (GCJ/GIJ) build on it ... one assumes that this
means a performance penalty for at least the bytecode interpretation parts
of almost every Java runtime environment, though
of course it would be interesting seeing how things like HotSpot affect the
performance numbers. (The CPUs that have Java bytecode acceleration are by
the way not ones that normally have big CPU caches, high clock rates, or
very much memory to waste on the stuff HotSpot does.)
So my question: Is this "Open Sourced Java" going to cover ARM's Jazelle? And the AVR32 Java acceleration? And other chips?
Or is it going to be the same-old, same-old? Folk working with embedded systems want to know... the big system bloatware that that Sun ships is not especially useful. Finally loosening the reins on the bytecode acceleration hardware would be a much more useful step.
Unless SUN releases the source code to the class libraries, java will never be Open Source.
I have about 1600 packages installed on my Debian system. Of those, 84 mention Sun in some form, but mostly, it's just bug fixes or ports to Solaris that Sun contributed to other people's projects. Only two groups of packages can be said to be Sun contributions: Tcl (obsolete and abandoned by Sun) and OpenOffice.
Claims that Sun is a great supporter of open source just don't stand up to real-world facts. Sun usually only open sources things when they are afraid of becoming irrelevant in some market, or as an add-on to a necessary proprietary offering, and even then only under some carefully picked nuisance license.
> Who the fuck do you think you're enlightening with that gem of insight?
So where are the compatibility arguments now? That's always the first canard people pull out whenever the horrifying specter of open-sourcing poor little vulnerable Java comes up. My code that uses operator overloading will be perfectly compatible with the code that does not. Hey, we're back on topic.
Nope, it's arrogance. Our poor mushy little brains can't handle mildly complex features, so Sun protects us from such things. And now we're back off topic.
Done with slashdot, done with nerds, getting a life.
You are aware that the Java trademark prevents third party distributions from being referred to as Java, are you not? If someone hacks features into the language, they can't legally call it Java. Simple as that.
LRC, the best-read libertarian site on the web
Here's another shocker -- changing every keyword in the language to be UPPERCASE is a purely syntactic construct. If it was added to the language, it would STILL be stupid (oh, and bytecode compatible).
--
WHO ATE MY BREAKFAST PANTS?
You chose the worst programming language somebody would like to see mixed with anything. C++ is already bloated and obscure just by itself ... no need to cross it with Java. Think of the children.
If you don't fail at least 90 percent of the time, you're not aiming high enough. (Alan Kay)
Compatibility has got absolutely nothing to do with it you great newbie muppet. If you don't understand Keep It Simple, then I pity people who have to work with you.
Sun do get it (though it took a while) - Jini http://jini.org/ has been opensource under ASLv2 for a while now.
New mod option wanted: -1 DrunkenRambling
Open sourcing java might be ok, but we should realize that a significant part of its predominance
and popularity in fact comes from its rigidity and lack of variation between implementations,
platforms etc.
Basic tenets: Simplicity and uniform, predictable extensibility at the core levels of something
are essential to manageability of complex systems built on top of that core.
Java has held to this better than any other computing platform to date. And it is a very
important part of its success. Once you know Java, and its core libraries, you're set, and
you're skills are portable to all kinds of uses of Java, and you don't have to keep re-learning
or debugging variants of the basic core.
So it is essential that compliance tests (and a BDFL) are allowed to put a stamp on what is
to be called "Java" going forward. Variants can be called "java-like" or java-lite" or something
but the simplicity and control of variation is THE ESSENTIAL CHARACTERISTIC of the Java
brand, in programming.
Where are we going and why are we in a handbasket?
Ever hear of the JCP (Java Community Process?)
I guess not. I post this so that future metamoderators will realize you were modded up by the ignorant.
"There is more worth loving than we have strength to love." - Brian Jay Stanley