[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