[Mono-list] Windoze dev, dumb question

Aaron Oxford aaron at hardwarehookups.com.au
Wed Jul 18 06:33:57 EDT 2007

Hi all,

I'm a Windows .NET developer trying to create code that can be 
compiled with Mono under Linux. I have started using Gtk# for my GUI, 
something that has cost me many many hours.

I'm having problems with users who seem to either have other versions 
of Gtk# or Gtk+ installed (under Windows), or for whom the installer 
from Novell is malfunctioning. As a result my app can't find its 
dependencies and won't run. This is generating one or two bug reports 
a week - about 10 times the usual traffic. :-)

I'm relatively new to open source development. I've always worked in 
environments where you buy the things you need and do whatever you 
like with them within the confines of the office. Hence, I see 
several options for Gtk# integration but I can't seem to find a solid 
statement about what is allowed and what is not. After looking at the 
Mono website, I'm not even exactly sure what licence Gtk# has been 
released under.

If anyone could add options or information to the list below or point 
me towards a readable source of info on this, I'd be very grateful.

My options seem to be (in order of best integration):

1 - Somehow add all of Gtk# and Gtk+ to my own project, compile them 
directly into it and put up with maintaining it (ie downloading and 
remodifying new versions as they are released by you guys). This 
would probably involve me having to get Gtk+ to compile as well (C? 
Argh!), so I won't be doing this unless it turns out to be much 
easier than it sounds. On the bright side, it should be OK provided I 
ship all that source in my code releases.

2 - Rip all necessary DLLs from the Gtk# installer (that would 
include Gtk+ DLLs) from Novell and put them in my bin directory upon 
installation. This is the most attractive option, and should be the 
most reliable option. This would be a pretty flagrant violation of 
copyright (or something) though, wouldn't it?

3 - Compile my own DLLs using the Gtk# source code and put them in 
the installer. My understanding is that this would be allowed, 
provided the source for 'my' Gtk# DLLs was available with the rest of 
the code. For the same reasons as #1, this is not an attractive 
option. I could possibly rely on a Gtk+ installer but I think that's 
been part of the problem too, or at the very least has the potential 
to land me in exactly the same situation again later.

4 - Keep using Novell's installer, but integrated into mine. This has 
been giving me headaches but only with a few users. I just hate the 
fact that my software may be directly incompatible with other 
software (like Pidgin) because I'm using Gtk#. Installer integration 
would ensure that only users with broken installs had problems, but 
could actually break other people's software!

As you can see, I seem to be stuck between options that involve me 
appropriating and working with all of Gtk#'s source code, doing 
things I'm not sure are legal (let alone moral), or creating an 
installer that breaks other software. :-(

I apologise if everyone is reading this and thinking "well, duh", but 
as I said I'm new to this and try as I might I can't seem to find a 
clear statement about each of these alternatives or what the hell to 
do about it all, especially as a chump end user of Gtk# on Windows 
who can't compile it for himself. :-)

Thanks in advance for any help you guys can give me,

Aaron Oxford   -   aaron+hardwarehookups .com .au
Director, Innovative Computer Solutions (Aust) Pty. Ltd.
49 Maitland Rd, Mayfield, NSW 2304 Australia
Developer, SourceForge project VioLet Composer

More information about the Mono-list mailing list