[Mono-devel-list] Question regarding implementation

Miguel de Icaza miguel at ximian.com
Wed Apr 14 11:47:03 EDT 2004


> Therefore, my general question is, will some places in Mono will have
> great implementation options over Microsoft's .NET and to what extent?

This is a constant struggle for a project like Mono.

In one hand, we have a free implementation, and that means that we can
do anything we want: change the API, expose things that are missing,
remove cruft and more.  

But on the other hand, it is questionable whether breaking
compatibility with the Microsoft.NET is a good idea.  If we expose more
bits of the API than Microsoft does users might include calls to
methods and classes that are not available to them, and will make their
software less portable.

Independent developers can make this choice by altering their copy of
the Mono class libraries but it is not very practical.

In some cases, there are clear ways of cleanly doing this.  For
instance, while implementing System.DirectoryServices, what was done
was to first implement a complete LDAP stack (Novell.LDAP.dll) and then
layer the System.DirectoryServices API on top of it.

If you are not satisfied with System.DirectoryServices, you can use
Novell.LDAP directly.

Not a general purpose solution, but it gets you a little bit.

So for each new addition, I would like to see a way of doing this
without breaking API compatibility.


More information about the Mono-devel-list mailing list