[Gtk-sharp-list] Solve duplicate Cairo# library bindings issue

Antonius Riha antoniusriha at gmail.com
Sun Sep 14 11:02:58 UTC 2014


Hi gtk-sharp community,
I'm currently looking into the issue that the cairo library binding code
exists in 2 different places: Once in the gtk-sharp repository and the
second time in the class libraries of the mono repository. In my
opinion, the 2 code bases are very similar and should be merged and put
into a separate repository. I've filed 2 bugs with the respective
components, see [1] and [2] for details.

Since the cairo bindings are not distributed as a standalone package
(but with gtk-sharp and mono), an eventual new cairo-sharp git
repository should only be used as a simple source code container with a
minimal MSBuild build infrastructure for development. This repository
can be included in gtk-sharp and mono as git submodule. Since its not a
package per se, it doesn't make sense to set up an autotools build
system, which would just add to the repo overhead.

There are some issues with this task. Primarily, the two libraries are
licensed differently: The mono version it licensed as MIT/X11, whereas
the gtk-sharp version is under LGPLv2. For merging the code, it would be
best, if both had the same license. Since the mono class libraries are
distributed as MIT/X11, I would suggest to attempt to relicense the
Cairo# portion of the gtk-sharp repository as MIT/X11.[3]

My questions to he community are:
 * Are there any other opinions about this issue, or whether this is
actually an issue?
 * Which would be the necessary steps to relicense the Cairo# protion of
the code as MIT/X11?

- antonius


[1] https://bugzilla.xamarin.com/show_bug.cgi?id=22975

[2] https://bugzilla.xamarin.com/show_bug.cgi?id=22976

[3] About the gtk-sharp package license: Since (to my knowledge) you can
relicense MIT/X11 code as LGPLv2 without consent of the code owners (but
not the other way around), I think it would be no problem to put the
entire package (including the imported submodule Cairo#) under LGPLv2.
(Note though that IANAL.)


More information about the Gtk-sharp-list mailing list