Red Hat Plans Open Source Java
sthiyaga writes "According to a ComputerWire article, Red Hat is in discussions with Sun about launching an open source version of the Java platform. 'There's always been an interest in an open source implementation of Java developed in a clean room that adheres to the Java standards,' Szulik told ComputerWire. 'We're in discussions with Sun. We'd like to do this with their support.'"
With so many java API implementations being open source (JBoss, Tomcat), it only makes sense to create an open source version of the core platform. This would go a long way to combat .NET, which claims to be an open standard.
Where's my lobbyist? Right here.
About making their own Java not built to standards and without Sun's support. It looks like RedHat learned it, too.
Having a open-source version of Java should allow swing to be compiled via GCJ. There would no longer be anything holding natively compiled Java back.
This isn't any ordinary darkness. It's advanced darkness.
James Gosling, the creator of Java, recently mentioned that he favors an Open-Source Java. (See Infowork article).
Some people withing Sun seem to be scared though that an Open-Source Java standard could be "polluted" by Microsoft.
How long before SCO claims that Java is a derivative work of the Unix kernel?
'We're in discussions with Sun. We'd like to do this with their support.'
It'd be hard to do it without Sun's support since they have been known on occasion to get very mad about people making versions of Java without their support. Of course that was mainly about a non-standard version, so maybe it wouldn't matter as long as it followed the standard.
How far is RedHat into this? Planning, Writing, Compiling, Marketing? If they're only planning it, java may finally be dead before it gets done; of course java may outlive me, of course I may die this evening, we just don't know.
Devil Ducky
MY peers would get out of jury duty.
is already some source code available. :)
Wasn't it originally a clean-room open source JDK for Linux that Sun adopted?
Java's source is really, really simple, actually.
Just take one pound of fresh, dry-roasted beans (I prefer Sumatra myself, though Peruvian and Venezuelan are nice, too). Grind these to the desired consistancy, depending on one's brewing method of choice (I'm a 'french press' kinda guy myself, but auto-drip is the norm). Next, load the beans into the appropriate container (filters for the drips, wire mesh baskets for us pressers). Apply nearly-boiling hot water, allow a moment for the beans to steep. Pour into your favorite cup and voila! Instant Java.
Jeesh. Why everyone makes such a big deal out of that, is just beyond me. No wonder all these tech companies go out of business - they can't even make a goddamn cup of coffee!
http://www.computerworld.com/developmenttopics/dev elopment/java/story/0,10801,82286,00.html?nas=AM-8 2286
'Should Java be made fully open-source? The problem with open-source is that [victory] goes to volume, and that's evident in the Linux community today where ISVs [independent software vendors] are qualifying to Red Hat and abandoning everyone else. Why? Because Red Hat has volume.
If Java were open-source, Microsoft could take it, deliver it as they saw fit and drive a definition of Java that was divergent from the one that the community wanted to be compatible. And to the victor would go the spoils of that nefarious action. '
www.underonesky.com
It would be a win-win situation for them, and they can use their trademark to protect the 'purity'. I.E. if it's not "Pure java" it can't be called "Pure java". And microsoft seems to have gotten out of the java game anyway, so their corruption isn't much of an issue. I doubt the open source maintainers would allow contributions that would violate sun's standards, and Microsoft would never fork a GPL project since they hate the GPL so much.
:P
And plus, sun wouldn't need to do any of the work themselves
autopr0n is like, down and stuff.
Does Blackdown have any role in this ?
I don't use java with mozilla because it's bloaty and not very open source friendly. This it sometimes a pain though, not having it available. And of course there are those java programs I can never try. Having an open source version with Sun's support will improve the current mess.
Somebody make a current open source shockwave plugin!
Recently Rawhide had Eclipse and Tomcat in it. I was pleasantly surpised to see Eclipse running on ppc Rawhide! It looked like they were running it against gcc's java, but after reading that article I was possibly mistaken. Did anyone else look at the Rawhide version of Eclipse?
Sun has promised a lot in the past for Java and then gone back on their word. For example, Sun promised an open Java standard but then pulled out of two standardization efforts.
If this gets dragged into the JCP process or stays under Sun's "community source" umbrella, it will not be open source in the way that we know it. If people aren't free to "corrupt" the open source Java in any way they like, it will not be open source; for example, one project of key importance for Java on Linux would be native bindings to Gnome.
A closely related question to be answered is what the patent situation around any such "open source" version of Java will be; Sun currently holds several patents that effectively block fully compatible open source implementations. Will Sun dedicate those patents to the public domain? Or will the "open source Java" adopt a license that makes the code open source but lets Sun retain control over who gets to use it through patents?
To Sun, Linux is as much as a threat as Microsoft, and their strategy is the same: make the OS irrelevant by replacing it with a Sun-controlled platform that runs on top of the OS. The Linux community should be as paranoid about that occurring as Microsoft management is. Sun is, ultimately, not a friend of Linux.
Maybe Sun is serious about creating an "open source" version of Java in the sense we all use the term. But I will reserve my judgement until there is something concrete on the table. So far, every promise of opening up Java by Sun has turned out to be a smokescreen and a distraction.
SAN FRANCISCO -- Jonathan Schwartz, executive vice president of software at Sun Microsystems Inc., spoke with Computerworld during the recent JavaOne conference here about the possibility of Java becoming open-source, the potential market for Java in mobile devices and Java's relationship with IBM. Excerpts from that interview follow.
v elopment/story/0,10801,82286,00.html
Should Java be made fully open-source? The problem with open-source is that [victory] goes to volume, and that's evident in the Linux community today where ISVs [independent software vendors] are qualifying to Red Hat and abandoning everyone else. Why? Because Red Hat has volume. If Java were open-source, Microsoft could take it, deliver it as they saw fit and drive a definition of Java that was divergent from the one that the community wanted to be compatible. And to the victor would go the spoils of that nefarious action. To the extraordinary credit of the Java Community Process [JCP], we have a uniform compatible standard that now spans hundreds of millions of devices, hundreds of millions of smart cards, hundreds of millions of desktops and tens of thousands, if not hundreds of thousands, of servers. So you have to really be careful in understanding the distinction between open-source and open standards.
More at http://www.computerworld.com/developmenttopics/de
We are very serious about exploring the open-source route," said Alan Baratz, president of Sun's Java software division, in an interview with Wired News in 1998 !!!!
Also, an Open Source Java Project:
Ant: The Open Source Java Project
Ant: work in progress
Slashdot's first reaction to VMware
That's right. The best thing about standards is there are so many to choose from.
According to the Kaffe website, it is a "a clean room implementation of the Java virtual machine, plus the associated class libraries needed to provide a Java runtime environment. The Kaffe virtual machine is free software, licensed under the terms of the GNU Public License."
So they already have source code that works... tell me again why someone has to start from scratch in a "clean room" to build something that validates against the API ? I must have slept through that part.
The guys over at GNU are already working on this. The project is called Classpath, it's distributed under a modified GPL so it doesn't contaminate projects it's only linked with, and it's far along already. Most Java 2 classes have been implemented, even though they only claim to be 1.1 compliant.
This post expresses my opinion, not that of my employer. And yes, IAAL.
If you're going to do it with Sun's support, then why do you need a clean room? Or, if you're going to do it in a clean room, why do you need Sun's support?
As a java programmer, I have never found java to be limited as a closed source language. The overall structure of the language is easily expandable and adaptable enough to fit my daily needs. And by introducing a new non-sun version of java leads to the same problems that M$ had with J++ where 100% pure sun java code is incompatible with other flavors. Sometimes I believe that certain things, especially programming languages, are better left untouched by multiple sources. It strengthens the language when it remains uniform.
-Cnik
I wonder how long it would take Oracle to turn an open source JVM into an Oracle product in much the same way as they turned Apache into 9iAS.
Please donate your spare CPU cycles to help fight cancer and other diseases
I know some Red Hat/Sun folks are reading this. As a person who is learning Java in his spare time, I really want to say thanks -- I pray that this goes through. Combining Java and OSS with Red Hat and Sun support, in my mind, is enough to kill .NET and set Linux up for good.
This might be the final kick in the ass that gives Linux the momentum to move on top.
~Dalcius
Rome wasn't burnt in a day.
Sun Software VP Jonathan Schwartz seems to consider open standards more important than Open Source. See the CNet article from a couple of months ago.
Perhaps there's a sense that locking down more of the Java developer market is more important than keeping the intellectual property in the implementation of Java "hidden". Once you put the open source version out, you can hope yours will become the defacto standard. But why go to Red Hat to open the Java source? Couldn't you just open it up yourself?
Maybe Sun just needs a high-volume distributor to developers everywhere. Developers who might use Java more if they didn't have to download it, if it were just there. Who serves up more downloads? Red Hat when they release another version of their distro? Sun when they release another version of Solaris? If you want to reach developers and M$ doesn't want to help, wouldn't you go for the next largest crowd?
Ever hear of the JCP? That's the Java standards body.
.Net, but Java will again leapfrog them with 1.5. In the meantime there is marginal benefit and a lot of downside with using .Net for anything that matters.
And, it's not a puppet body like some other bodies you might be able to think of.
They added some nice features in
"There is more worth loving than we have strength to love." - Brian Jay Stanley
It seems that Sun is recognising that Java in general was in danger of stagnation. Recently, we've had a major push into the mobile phone arena, the bundling of JREs with Dell and HP PCs, SDK 1.5, and now this.
This might well be in reaction to the threat posed by .NET, but it seems that Sun are actively seeking to innovate once again, before .NET has a chance to catch up
And that's, long-term, probably a good thing for the development community((lambda x ((x))) (lambda x ((x))))
If Java were open-source, Microsoft could take it, deliver it as they saw fit and drive a definition of Java that was divergent from the one that the community wanted to be compatible.
Assume that Microsoft would have called this divergent platform "J++".
If the Java platform were open-source and under a license similar to that of X11, what you quoted would be the case. On the other hand, if the Java platform were open-source and copylefted, Microsoft would have to publish the source code of its J++ platform.
Will I retire or break 10K?
Only the equivalent of "The C++ library" has been standardized for C#. No technology that's used in most apps today, like a web technologies or GUI apps has been standardized.
.NET will every be. Mono is dreaming if it think it can pull .NET way from being a Microsoft technology. When developers use .NET, they look at Microsoft's implementation first, ECMA standards next. If Mono is ECMA standardized and Microsoft does an "embrace and extend" so that it's not, then developers will choose Microsoft's .NET over Mono, even if Mono is "correct".
Meanwhile, Java's JCP process allows open source projects like Apache and JBoss to contribute to the standardization of Java. No part of Java is not standardized this way, and as a result, nearly all JCPs have open source implementations including Tomcat and JBoss. These implementations, more often than not, dominate the field over proprietary implementations.
In short, Java is more open than
http://saveie6.com/
Ok on the first two points, but complete FUD on the last one. It shows a complete lack of understanding of how Java was created, why some of the design decisions were made. If you don't like Java, fine, program in whatever the hell language you want.
.NET, because that blows your whole argument.
Don't blame your bias on the language design, especially when you don't name anything to back it up.
What's the "much more modern approach to networked programming than Java?"
And don't say
It would be so great if there was a open implmentation of java. I know there are groups working on it, but if only sun would get involved then it would have a greater chance of staying current. I've always thought it wouldn't hurt Sun to open up the Java SDK and classes a little, what exactly is the benifit they get from it being closed? The version they released would still be considered the standard regardless of its openess or of potention forks.
.net is a big threat.
Forget GCJ, just think of the advantages to Sun if there was a kernel driver to run plain java natively, if done right, and of course open enough to be compatible it could only bolster java greatly, especially now that
I have to admit I like java for some tasks but am apprehensive that the two biggest hyped technologies nowadays are both controlled by a single company each, and both have closed source reference implementations.
I personally like this idea. I think that open sourcing Java would allow other projects to take off much easier (I'm thinking gcj, but I'm sure there are others).
However how is this effort different from:
Kaffe - Open Source, way behind the times, in general more annoying that useful, IMO.
Blackdown JVMs - Best Java JVM available for free on Linux (again IMO). Uses Sun's code, has valuable contributions, but isn't maintained by a large group. As far as I know, only a handful of dedicated people, and only one or two are very public.
Also, why would Sun suddenly be willing to Open Source Java now when they weren't before? Have any of the open issues changed?
As far as I know it's a compatibility/brand issue. If Java were open source, anyone could grab the source, tweak it and release their own JVM. If there are a zillion JVMs running around it's possible some won't be compliant.
What about the JCK? It works fine, but you still run into the embrace and extend issue. Someone takes Java 1.4 and builds custom enhancements to support his/her own Javaesque features. Programms written for this JVM now no longer work on a stock 1.4 VM. Is this VM now legal "Java". I think Sun would say no.
What about the Java Community Process? Many anti-fork advocates might suggest just contributing to Java via regular channels. Do these channels work? If not, should they be repaired instead of or in addition to Open Source Java?
Many people have asked why RedHat needs to enlist Sun's cooperation in order to implement a clean room Java. One important reason, is to gain access to the JCK (Java Compatibility Kit), that contains approximately 20,000 test cases that you need to pass in order to be certified as Java Compliant.
I suspect Microsoft will tolerate dotGNU, Mono, as long as they see it beneficial to do so. Also, the language and runtime is not much. The true power of .NET and Java is in the wide amount of libraries available to these languages. I really wish the Mono team good like to replicating that in a source compatible manner. It would be no small feat.
Based on upvotes, Ageism is the only "-ism" Slashdotters care about and think isn't SJW
Remember that GCJ was developed at Cygnus (starting in 1996), and that Red Hat bought Cygnus. While Red Hat has not put a lot of resources in GCJ, they still employ some of the early GCJ engineers, who are still active in GCJ in at least on a part-time volunteer basis. In Red Hat 8.0, what you get when you run "java" is the interpreter component of GCJ. And it looks like they are getting serious about Java, and GCJ.
My guess (as original "inventor" of GCJ, but no longer associated with Red Hat except as share holder): To the extent that Sun is willing to open-source parts of JDK, they'll use that; if Sun is unwilling, they will use GCJ.
shouda done this 6 years ago.
don't get me wrong. i love java, its the only thing on my resume, sole bread-n-butter for past 6 years, etc.
but the C# designers really know the market.
when i first read "C# = java done right" in a PR article, i said, "yeah right, what absolute BS".
but then, i attended my first c# training seminar last month, & having just completed a major java-to-c# porting project, i can say this much - C# has definitely won the windows-only-client-side battle. if you are developing an app that front-ends on a windows client ( that's pretty much ALL of wall street, given the heavy use of MS-Excel ), C# is simply the way to go.
6 years ago, i recall graduating from school & deciding to go into a Java-job. classmates were like - "what's java ? unproven stuff. use MFC. that's were the $$ is".
how wrong they were! C# is now in the same position - poised to skyrocket.
every single java concept has made it into C#.
furthermore C# has several useful notions ( delegates, boxed types, attribute annotations,assemblies etc ) not in Java.
finally, cross-language interop is a dead reality - i can write a C# class, my VB class can inherit from it, and my C++ class can inherit from my VB class, and call functions in Perl - the CLS & the common type system makes it easy for even a casual novice pgmmer.
once's the mono project attains fruition, c# on linux will be the defacto pgmming style - need i say more ?
from a reluctant C# convert
If you look at Sun's source code, you may be unable to work on any Java or Mono-related open source project in the future, as Sun may consider them derivative works. The Sun Community License is a death trap for open source developers. Don't touch any code covered by it.
Any open source version of Java must be either a clean-room implementation, or it must wait for Sun to release the JDK sources under the LGPL, GPL, or BSD licenses. And even then, you may still have to worry about Sun's patents in some cases.
You might consider SWT. It's an open source Java widget toolkit (GUI API) that sits on top of native system widgets. I just started developing with it, so I can't speak for much, but it seems to be quite fast and is pretty easy to implement.
Some info:
The Eclipse project (of which SWT is a part of)
SWT Guide (good intro to SWT)
SWT API Specification
SWT Articles (many regarding topics internal to the API) -- scroll down to SWT
~Dalcius
Rome wasn't burnt in a day.
It's free enough for the uses of almost all users and that should be enough for everyone.
RH has already made the commitment to include only Open Source software in their distribution. Backing down from this would potentially damage some business relationships and alienate some of their users. Until now, they have included only partially complete OS versions of a Java VM. If you wanted the full Java VM, you had to get it from Blackdown, SUN, or some other vendor. RH probably feels they will be more competitive if they can include a full version of Java with their distribution. Open Source is the only way they can do this, and they are probably tired of waiting for the various other "clean room" efforts to meet their needs.
They should take into account the effects of potentially success of SCO attacks on IBM and Linux.
No, they should be wary of any contracts they enter into with SUN.
Especially creating a clean room implementation won't help anymore, it will always be SUN's IP.
Not true. IBM's trouble with SCO was not over a clean room implementation, but over the suspicion that a contract to view "proprietary" material was violated, and the fruits of that contract were implemented in other competing operating systems (IE, Linux). Also, SCO is trying to consider all components of AIX as a derivative work of Unix, and thus under their control. Provided that RH doesn't ask for any development help from SUN, the same situation shouldn't arise. Of more concern would be patents that SUN holds.
Why spend any effort on Java at all ?
Because it's still alive and well on the server side. Having an open source version of java would enable Red Hat to ship "ready to run" web application servers to enterprise customers.
GreyPoopon
--
Why is it I can write insightful comments but can't come up with a clever signature?
Java may be able to run on hundreds of millions of desktops, but unfortunately it's very complicated and time-consuming for an end-user to download and run a Java app in the same way that they could download and run an executable. Schwartz makes a good point about the MS risk, but there is also the possibility that more open-source involvement will lead to a higher quality platform within the popular operating systems.
To take Java to the next stage, ie mass consumer usage, Sun needs to do all in its power to promote ease-of-install. Java Web Start just hasn't had that impact, to date. Open-source projects may help a lot.
Leonid Mamtchenkov
When a standard is submitted through the JCP (Java Community Process) a condition of including that IP in the standard is that you allow others to use any IP embedded in the standard for free, in perpetuity. So whatever patents Sun has around Java can be used by others in the Java world.
There are already real, working Java implementations from third parties like GCJ and IBM's VM, which have been around for a while... Mono has not really been around long enough to see if they have really escaped a patent trap.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
As mentioned before, Java is already headed to the land of fully open source native cross platform binaries. The fine GCJ folks have already implemented most of the 1.4 JDK with libjava. Throw in SWT and you have the holy grail of open source software applications development. A single code base that compiles to native binaries for Windows, Linux, MacOS, Solaris, AIX, HP-UX, etc.
As others have mentioned the Java source is already freely available. As someone who spends most of their time in Java I can already fix bugs if I need to - having a separate license (GPL) is meaningless to me.
It would be a much better use of time and talent to make Java work better on Linux wrt:
1. FUTEX support
2. NPTL threads
3. full screen and 2D graphics are horribly slow under Linux because for some reason Sun doesn't seem to use MIT-SHM, or their pixmap caching code is doing the wrong thing...
4. Why not even spend time helping with Sun's ALSA port for Java 1.4.2.
Heck, I'm sure the Blackdown team would have dozens of ideas on how to improve the existing code base.
Rewriting from scratch? Is working together so hard? It would be such a shame to have great Linux coders work to build something that didn't work perfectly and was never used.
Schedule your world with ScheduleWorld.com http://www.ScheduleWorld.com/ (Java Web Startable)
Interest in java seems to be going downhill. I think releasing it under the GPL might spur more interest and innovation with Java.
The point of licences in irrelivant when you can just write an implmenetation for free under whatever licences you like.
There is only one implementation of Java, together with its derivatives by licensees. As long as that is all there is, its license matters, because nobody has demonstrated so far that they are capable of producing an independent implementation.
Why not? I see you dropped my point about keeping old libraries around for old releases of Java if they work better.
You can't just mix and match libraries. If you run a version of Java linked against old libraries, it won't be able to load code linked against new libraries, it will have security holes associated with the old libraries, etc.
I see no, zero, nada, zilch difference between a distro release and something like a solaris release. There is none. The distro maintainers keep stable versions of Java around the same way Sun does.
Sun doesn't "keep stable versions of Java around", Sun has the option of recompiling Java and fixing bugs and incompatibilities in Java when they make a new operating system release. Because Sun owns the copyright, Sun gets to make those choices. Linux distributors, on the other hand, face the possibility that Sun stops making Java available or breaks the Java distribution whenever it suits Sun.
The ability to fix bugs and recompile packages from source is at the core of open source systems. It is what has made Linux such a success. It makes no sense for open source developers to say that open source is a good idea, but, hey, for Java we don't really need it.
None of them caught on because they offered poor coompatibility, because Windows is not a published spec - unlike Java which is.
The Windows and Java APIs are documented in pretty much the same way: as a huge collection of vendor-supplied documents aimed primarily at programmers. Neither set of documentation rises to the level of a "specification", and both have significant gaps. That's why making a third party Windows implementation was very difficult, and the same appears to be true for Java. Sun Java really is like Microsoft Windows in that regard.
If you're at all a fan of Linux, then you need to think about what a world where Java (the most commonly used enterprise programming language by far) is owned by MS and runs best on Windows servers. By-By Linux! Seriously, that is how it would be.
You say that it is perfectly fine if there exists only a single, proprietary implementation of Java as long as it is owned by Sun, but if that implementation were owned by Microsoft, it would be bad? Where is the logic in that?
I don't see any difference between Java being proprietary to Sun and Java being proprietary to Microsoft. Both Sun and Microsoft are companies that would like to see Linux go away because it eats into their business, and both have a strong incentive to make sure that Java runs best on their own servers and performs less well on Linux. That is exactly the problem.
Fortunately, it hasn't gotten to that point yet at all, since Java is not very important on Linux yet. As soon as there exists a full open source implementation of the Java platform on Linux, an implementation that neither Sun nor Microsoft can mess with, I'm all for widespread use of Java on Linux. Until then, Linux users should stay away from Java.