[kaffe] Classpath AWT progress.

S. Meslin-Weber 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'll explain:

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 
http://adorphuye.com/zaurus/java/faq.jsp?section=Java+Extensions&subsection=fbAWT
- QtAWT from http://www.trolltech.com (unfortunately not publicly 
available _yet_)
- ... 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:

java.awt.graphicsenv=
awt.Toolkit=

These can be inferred from a dump of the System properties, an example of 
which can be found at:
http://bbs.rhaon.co.kr/mywiki/moin.cgi/ProgrammingTips_2fSystemProperties

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).

Thanks,

Steph Meslin-Weber





More information about the kaffe mailing list