[Mono-list] Contributing to the classes.

Jay Freeman (saurik) saurik@saurik.com
Fri, 13 Jul 2001 21:28:32 -0500

Seeing as Miguel and others have stated in the past to defer to decisions
made in the past as a basis of arguments FOR using GPL (which I disagree
with as we have more information now), we might as well look at what has
happened in the past with CLASSPATH.  Java is in the same boat of having a
large amount of existing reflection data available for generating stubs.
Back in February someone started working on some classes (the Swing library)
for CLASSPATH starting by using reflection to obtain a template of the
existing classes to work off of.  A thread was started about this that
touched on the legal issues of this.

The thread is named "SWING at OJE", and is one that I have gone back to many
times before as a good reference.  It covers things such as JNI vs. CNI and
general conceptual questions about a Swing implementation; people talking
about the windowing library might want to look at this as well.

Personally, I am very against using ildasm to get the stubs.  The actual
metadata in these binaries could be considered part of MS's implementation.
It starts to get questionable as to where you draw the line.  What part of
the data in the binary is the implementation?  Is it "ok" if you use ildasm
to get the actual IL from the binary?  How about using my decompiler to get
C# code?  In the later case, you are even closer to using ildasm to get C#
stubs as both are translating the information that was attained in some

Jay Freeman (saurik)

----- Original Message -----
From: "Sebastien Lambla" <sebastien.lambla@6sens.com>
To: <mono-list@ximian.com>
Sent: Saturday, July 14, 2001 5:37 AM
Subject: RE: [Mono-list] Contributing to the classes.

> Miguel,
> using ILDASM is a requirement in implementing the web classes, as some
> namespaces are not even present in the documentation
> (System.Web.Compilation...).
> The goal here is to use the Metadata of each class to generate the class
> layout, and do the implementation by hand. The self description of a class
> is a feature of the language, and using this metadata is not the same
> as getting the MSIL to write the code for you...
> Sebastien Lambla