Kurt Wall wrote:
On Mon, Nov 13, 2006 at 05:36:12PM -0500, Ric Moore wrote:
On Monday 13 November 2006 19:05, temlakos@xxxxxxxxx wrote:
Sun did it! They released all versions of Java under GNU GPL v2. Read
this article for the details. Now: what will happen to the GNU Compiler
for Java (gcj)? Will they be able to use Sun's own Java code to make the
project fully compatible with all the Java applications built with Sun's
version? Or will gcj give way completely to the presently built Java
Development Kit? Will a fully Sun-compatible Java development
environment be available for Fedora Core 7? 6?
Praise GAWD! <gibbers thankfully> Ric
I'm simply stunned. Delighted, to be sure, but stunned. Not that Ric
is gibbering thankfully -- he usually gibbers with little provocation --
but that Sun actually released Java under the GPL.
Kurt
Well, you can believe it. The news came to me from eWeek, and they don't
usually miss. I'm waiting with bated breath for Steve Vaughn-Nichols to
comment on this.
I agree--this is H-U-G-E.
The analysts can't seem to make out why Sun acted as it did. But in fact
Sun has been working on this for a long, /long/ time. They had to square
everything with current copyright owners. In some cases, they "settled"
with those owners. My guess is that they bought the copyrights for them,
so that they could release everything to the "intellectual common" that
the GPL creates.
The analysts also said that they chose GPL for a very good reason: that
it is the most widely-used of all FOSS licenses.
You cannot imagine how this pleases me. I am trying right now to develop
a Java client application for a PostgreSQL database. Having to create a
Sun-friendly Java development environment has been my worst obstacle to
continuing to upgrade to newer versions of Fedora. Sorry, but gcj just
doesn't cut it. It leaves out too many things.
But now that the original code is out under GPL, one of two things can
happen:
1. The gcj project developers and maintainers can now fix gcj to handle
everything that the current version of Java can handle.
2. The present JDK gets ported as-is to Linux.
I can't recommend for or against either option. I don't really know how
close gcj is to being a complete implementation of Java--and I
appreciate the effort that the gcj developers made at least to /try/ to
give us an unencumbered Java runtime and development environment.
I do, however, have a lot of recommendations to make to whoever will now
maintain Java now that it is under GPL license:
1. Allow us to pass user-defined objects by value and not by reference only.
2. Allow us to overload operators. Today a Java developer can overload
functions but not operators. Why should I not be allowed to define, say,
a date object, and be able to write:
Date Today = new Date(system.currentTimeMillis());
TimeInterval Week = new TimeInterval();
Week.setDays(7);
Date NextWeek = Today + Week;
Date LastWeek = Today - Week;
TimeInterval Fortnight = NextWeek - LastWeek;
Now wouldn't that be far simpler than having to define each operation as
a function taking an argument? That's what overloaded operators can do
for you.
C++ developers know all about overloaded operators. We Java developers
ought to have that freedom.
Temlakos