[Mono-dev] Using Mono Assemblies under terms of LGPL

Jacques Beaurain jacques.beaurain at gmail.com
Wed Mar 3 05:44:52 EST 2010


Hi,

Thanks for the response but this does not solve my issue...

On Tue, Mar 2, 2010 at 4:12 PM, Jonathan Pryor <jonpryor at vt.edu> wrote:
> On Tue, 2010-03-02 at 12:21 -0500, Jacques Beaurain wrote:
>> ...  The issue that we face is
>> that this assembly is not signed and we need to be able to place the
>> assembly in the GAC of Microsoft Windows systems. What is the
>> recommended way to handle this situation?
>>
>> In particular we are interested in the GNU.Gettext.dll assembly.
>
> Er, what?  I don't see this assembly in my GAC (both the distro-provided
> and my trunk installation), nor do I see a GNU.Gettext.dll assembly in
> my source tree.  Where are you seeing this assembly?
>

It is in the lib tree of the current Mono release build. My guess is
that the build process builds it by pulling in the gettext sources.

> To answer the original question, the answer is: don't.  For the love of
> all that is good and holy, don't strong-name an assembly that isn't
> strong-named and install it into the GAC.
>
> Strong-naming is an indication that the API won't change in an
> incompatible manner, possibly ever.  Upstream likely won't even know you
> did this, will eventually break API, and cause all manner of pain.
>
> (Case in point: Mono has two separate copies of SharpZipLib because they
> changed their API in an incompatible manner.  I don't know who
> strong-named it -- i.e. was it it Mono being bad, or were they screwing
> things up -- but it's not a good situation to be in.)
>
> YOU have sources and a compiler toolchain.  If you need a strong-named
> assembly, fold it into your own assemblies and strong name *those*, so
> that responsibility for maintaining API compatibility is clear.

This is exactly the issue, the assemblies that need to use it is
strong named already and can only reference strong named assemblies. I
would love to fold the functionality into  my own assemblies but are
not allowed to do so under the terms of the LGPL. Anyway my solution
is gravitating to not using this assembly at all and using interop to
the unmanaged gettext libraries instead which should allow us to abide
by the LGPL terms.

>
>  - Jon
>
>
>

Jacques


More information about the Mono-devel-list mailing list