[Mono-list] Bunch of thoughts

Miguel de Icaza miguel@ximian.com
11 Jul 2001 19:53:19 -0400

> 1. Shouldn't we begin, for the classes, to define which classes NEED
> bindings on existing libs and which classes should be built on top of it,
> written in C# ? That would be a great step to begin the development of new
> classes in "pure" C#?

I understand your sentiment.  Most math functions, socket functions
should be implemented by just wrapping the libc functions.  

The high-level pieces (Winforms, ADO) will need binding with the
appropiate libraries as well.

The intermediate classes like the various XML, Web routines and others
need to be reimplemented because there is too much implementation
details exposed at the API level.

> 2. How about a policy on implementing binding to classes who could bind to
> linux or gnome libs ? Like : Always bind when available. Or Always write a
> pure C# version and THEN bind if you want. Or If and only if someone opened
> a tree in the CVS for a C# version, you can take over the binding version of
> the class. etc.

We can discuss this on a per-class basis.  I am not sure a policy will
just `work' for 2,300 classes.  

> 3. Is the mono project means running .net programs on top of Linux (and thus
> be able to run most .net programs on Linux if developed under windows
> seamlessly) or not? 

Yes.  If they are 100% pure .NET (Microsoft should trademark that ;-).

> That should answer the question "should we prefer
> compatibility first and think about divergent classes later in a different
> namespace ?" 

Yes, compatibility is a premium.

> and prohibit ideas about having two different set of classes, some
> of them not compatible.

Prohibition goes against free software and innovation.  

We can say that the Mono `brand' will be applied only to a conformat
implementation of the .NET classes and new classes (so we might have
things that Microsoft has not thought of in a different namespace)

> 4. Shouldn't we split the mailing list, one on the classes dev, one on the
> JIT/parsers ?

We have such a split, but I have not advertised it.  Check
http://mail.ximian.com.  I guess that we will migrate some work over
there in due time.  I just dont want people to start following 10
lists right away (in GNOME these days you have to follow about 20
lists ;-)

I have a list for active contributors called `mono-hackers'.  That
list is open for browsiing, but only contributors can post.

> 5. Licensing is definitely an issue for the reasons I mentioned in my "RE :
> [Mono-list] using lgpl in mono class libraries".

It is not really an issue.  

Please research the topic on appropiate forums (gnu.misc.discuss) or
look at existing workarounds this problem (Kaffe, Classpath).  This
has been done in the past, there is nothing new under the sun.

We at Ximian are interested in allowing people to write proprietary
applications (to begin with, most .NET applications from Windows will
be proprietary, it would be ridiculous to think we would force people
to "open their apps" because someone ran it on Linux).

> I am available to work as a dev for pure C# classes (don't know enough of
> the Linux system to do any bindings). I should add that C# libraries for the
> DIF protocol and the gPulp Protocol will be published in a few months, which
> would give a pure C# library to use peer 2 peer technologies in the .net

That would be pretty good!