[Project-managers] editing external codes
Matthew Galati
magh at lehigh.edu
Sat Apr 7 00:59:17 EDT 2007
FYI - cliquer is code for finding maximal cliques (its listed in COIN
resources):
http://www.coin-or.org/resources.html
http://users.tkk.fi/~pat/cliquer.html
I'll write the author and ask if they want the fix. That would be easier.
Here's a related question that brings into question the same issues of
licenses and distribution.
My project is written in C++. Cliquer is C. I build cliquer with gcc and
the Makefile they provide - and it works fine. I call cliquer via extern
"C"... However, cliquer, like alot of "old" C code I've seen has some
bad habits that don't play nicely with C++ compilers (like g++). For
example, cliquer's prototypes include the name "new" and "set" as a
variable name. A C++ compiler won't have that. The way I get around this
kind of thing is to write an "interface" header where I wrote my own
prototypes for whatever I actually call from my code, then extern "C"
{#include "cliquerInterface.h"}. Then, of course, I distribute my
cliquerInterface.h. I presume this is all ok wrt to licenses. But, it
gets a little sticky when I start using macro defines that come from the
original cliquer.h. Since I am not including cliquer.h, but rather
cliquerInterface.h, I have to copy the macros over too - which for some
codes is a bunch of stuff. Is that now a license issue? I am taking bits
of the GPL code and distributing it with my code in my interface header.
This license stuff all seems very messy to me. Why can't I add GPL code
in my COIN code and just distribute my stuff GPL and CPL and
'whoever-wants -it-feel-free-to-use-it- PL'.
Matt
> Hi Matt,
>
> I don't know what Cliquer is, but the ideal case would be that you get
> the Cliquer developers to include your changes in a new version. They
> would probably be grateful to get fixes that make it work on Windows...?
>
> Otherwise, you could include patch files in your distribution and tell
> users that want to use Cliquer on Cygwin how they have to apply the
> patches to Cliquer code that they download separately.
>
> Andreas
>
> On Fri, 6 Apr 2007, Matthew Galati wrote:
>
>> In one of the examples in my project DECOMP, I use a GPL licensed
>> code (Cliquer). In my INSTALL, I provide the user the option to
>> download and link with it or not (and give them www). It works fine
>> with unix flavors, but Cliquer was never written to run on Windows. I
>> can fix the Cliquer code to compile in Windows with a few ifdef's.
>>
>> But, now how does this work? I know I am not suppose to distribute
>> Cliquer via svn. If so, I could just provide my "adjusted" Cliquer.
>>
>> I guess, this is a general question -- how do I distribute
>> derivatives of other external codes to be used with my COIN project?
>>
>> Thanks,
>> Matt
More information about the Project-managers
mailing list