[kaffe] Classpath AWT progress.
twiun at adorphuye.com
Tue Dec 9 05:49:02 PST 2003
Hi Sascha, James,
> to the toolkit. All Classpath toolkits would be mandated to subclass
> gnu.java.awt.ClasspathToolkit. The intention is to keep the platform
> dependencies limited to as few places as possible. There was some debate
> about whether GraphicsEnvironment or Toolkit would be the appropriate
> place for this, and the apparent conclusion, at the time, was that
> Toolkit would be preferable.
I fear that this will limit the usefulness of non-Classpath toolkits as
the majority of them are intended for use in a cross-JVM way and have a
Toolkit implementation that derives directly from java.awt.Toolkit.
These external toolkits/peers would either have to replace Classpath's
java.awt.Toolkit in the bootclasspath or use some other class gymnastics
to avoid using Classpath-specific interfaces.
I'm concerned with the Classpath-specific interface aspect because this
brings in the dreaded 'linking' clause of the GPL (as understood by
debian-legal). Such linkage implies the requirement for the external
toolkit to be GPL'd too. This would limit the appeal for companies to make
the effort to be Classpath-compatible. QtAWT from Trolltech for instance
is not going to be GPL'd anytime soon.
It's been suggested that external toolkit implementors provide an empty
ClasspathToolkit and this would work; but requires additional work from
toolkit implementors. Most Open Source toolkit implementors would probably
be prepared to do this - commercial ones are unlikely to.
Just in case people are wondering, other toolkits include:
- PJA at http://www.eteks.com/pja/en/
- Charva at http://www.pitman.co.za/projects/charva/
- fbAWT at
- QtAWT from http://www.trolltech.com (unfortunately not publicly
- ... and few others
I understand that certain awt classes that have platform dependencies can
be constructed directly by user applications and as such need custom
handling directly in the java.awt.* class. But so far, only java.awt.Font
seems to require this as both Toolkit and GraphicsEnvironment on Sun's SDK
use the system properties to set platform dependent ones:
These can be inferred from a dump of the System properties, an example of
which can be found at:
For me, the GPL issue is not that important, but if we want companies with
their own Toolkits to use GNU Classpath we need to offer them a way of
doing this without resorting to GPL-ing their code (as that is something
they may not be allowed to do).
More information about the kaffe