GNU Classpath meeting minutes
LinuxTag, 12 July 2003, Karlsruhe (Germany)
Present
- Dalibor Topic (Kaffe)
- Sascha Brawer (GNU Classpath)
- Mark Wielaard (GNU Classpath)
- Andy Wolter (Aicas)
- James Hunt (Aicas)
- Ingo Proetel (Aicas)
Sascha was the most organised and said someone should actually make
notes, so here they are. Some of the notes were made in the Biergarten
so take them with a grain of salt... I have surely forgotten something
important. And sometimes I couldn't clearly remember the context of my
notes. My applogies. If you were present and have more details please
follow up with clarifications and additions.
- Sascha has been working on font reading and rendering, see his very
detailed architecture document, which describes all issues involved
http://www.dandelis.ch/development/fonts/.
Tim Tyler his public domain, pure java font rendering program was
mentioned http://fonteditor.org/
Adam Megacz of http://www.xwt.org/ also needs this
http://gcc.gnu.org/ml/java/2003-07/msg00036.html.
- For the above and AWT/Swing in general the issue of
accessing/mapping frame/display buffers came up multiple times. What
interface should be defined for mapping these (java.nio JNI
additions?).
- OpenGL seems to have all the 2D drawing primitives that you ever
want and implementations are widely available.
- Aicas wanted to know who are interested in the Realtime specs being
discussed in the OpenGroup and the jconsortium
http://www.opengroup.org/rtforum/rt_java/
http://www.jconsortium.org/ Thet were also looking for
participants in an open European standards project (which name I
forgot to write down).
- Aicas is working on some RMI fixups. During the discussion it came
up that since object streams use serialization and serialization
uses reflection, this only will work if you get all the details of
reflection right. It was pointed out that reflection has some
underspecified issues/bugs, for example see this note from Kissme
(Class.getModifiers):
// Arrays are always final and never an interface.
// And also abstract (but that is actually a bug
// - see JDC Bug: 4208179)
// It matters for serial version UID calculations :{
There was much complaining about the broken design of the RMI
protocol. It was suggested to look at how RMI can work on IIOP which
is cleaner.
- Sascha suggested to create a list of such issues and publish a list
for GNU Classpath users/VM implementors of
tricky/underspecified/buggy specs.
- Mark wants to extend the VM interface with more VMState package local
final classes like to JRVM people just did for a couple of java.lang
classes to make it easier to use GNU Classpath with non-JNI/Posix
based VMs.
- The plan for character encodings is to move to the java.nio.charset
interface. We already have required encodings for this. But GNU
Classpath and gcj both still also have their old implementations
(which are actually used in most places). gcj also has a libiconv
provider (but not as java.nio.charset provider). A java.nio.charset
libiconv provider would be nice to have for those systems that
have that library.
- Mark and Dalibor wanted to name next month Mauvegustus and clean up
Mauve (it still contains some bogus/broken tests) and import as much
tests from the different projects that have non-standard core
library tests so they can be more easily shared between the
different projects. Ingo dared Mark to create a Mauve plugin for
Eclipse now that we have it running like the standard JUnit
plugin. (The JUnit framework uses lots of reflection which we don't
want to use for Mauve.) Other ideas were to create a standard JNI
testsuite and maybe security issues/holes tests.
- Acias has property files which lists which class/method needs which
other class/method. This is nice when you are use smart or static
linking of classes.
- Kaffe has split up their library in different profiles (core, awt,
xml, sound, rmi, etc) it would be nice if GNU Classpath also
provided this. We could deliver different jar files.
- We need to update/document the state of each package. It is not
really clear how much has been implemented, signature complete
(japitools), tested (has mauve tests), how compliant with which
spec, etc. packages/classes are. Problem is that we don't have
gatekeepers anymore per package (we had this in the past, but
developers on the project changed and the number of supported
packages has actually exploded).
- The above is also important to show what people can do to help the
project. We really need to setup a more visible task list then the
current Savannah one with task people could do for the project which
are annotated with how hard it would be it (simple - follow
existing example, like image provider or new character encoding,
medium - add something to an existing framework, like jar file
verification for ZipFile, hard - add complete new package or