[Mono-list] Perplexed and intrigued by ECMA licensing of .Net

Michael Lambert michaellambert@bellsouth.net
Tue, 10 Jul 2001 17:00:32 -0400

> Why would it fail. We write the loader, so we can check the signature and
> make sure compatibility is ok. There might be a problem with importing
> certificates with Microsoft's signature though.

Good point. Following that train of thought to its conclusion then, unlike
jars our assembly images potentially would not run on other non-Mono CLI
compliant implementations?

"A reference to an assembly (see Section 6.3) captures some of this
information at compile time.  At runtime, the information contained in the
assembly reference can be combined with the information from the manifest of
the assembly located at runtime to ensure that the same private key was used
to create both the assembly seen when the reference was created (compile
time) and when it is resolved (runtime)."

"A conforming implementation of the CLI need not perform this validation,
but it is permitted to do so, and it may refuse to load an assembly for
which the validation fails.  A conforming implementation of the CLI may also
refuse to permit access to an assembly unless the assembly reference
contains either the public key or the public key token.  A conforming
implementation of the CLI shall make the same access decision independent of
whether a public key or a token is used."

> > Would our best bet be to just take an open source java
> implementation and
> > get that to run on top of the Mono infrastructure?  Focus on system,
> > collection, sockets, files, etc... the basics.
> You're not the first to suggest Java. The goal however is to implement
> the CLI and do it from scratch :-) Inheriting some Java implementation
> brings up a lot of unwanted issues .. license, code maintenance, etc.
>  Stefan

Sorry for the confusion.  At some point the Mono implementation will diverge
from the MS one.  Mono would be unable to support certain class libraries as
they are heavily reliant on Windows (DirectX, Windows GDI+, etc).  This
means that some of Mono's class library structure would be different.  I
imagine the hope is that the runtime, compilers, il etc.. would all be
compliant.  I was asking where the dividing line should be?  For example,
should Mono's sockets class look more like Microsoft's or Java's?