[PD] a little ot: creative commons

IOhannes m zmoelnig zmoelnig at iem.at
Tue Jun 20 11:40:00 CEST 2006


hi.

as thomas has said, this is indeed a neat example.

however, if someone could share a light on my ignorance on GPL:

my little program uses "freelib" a GPL-covered (not LGPL) library, for 
free speech. the only header file of this lib is freelib.h:

#ifndef FREELIB_H
#define FREELIB_H
#ifdef __cplusplus
extern "C" {
#endif
   void speak_free(char *string);
#ifdef __cplusplus
}
#endif
#endif


that's the little program i wrote:

#include <freelib.h>
int main(){
   speak_free("freedom sucks");
   return 0;
}

when i link my program against freelib, it surely has to be covered by 
the GPL (http://www.gnu.org/licenses/gpl-faq.html#IfLibraryIsGPL)
only because i have because 2 lines in my source code refer to this library.

but hold on!
what if i had written a header-file "freelib.h" on my own:

#define speak_free(x)

this header-file is under a very restrictive EULA which infects all 
source code which uses it (like the GPL, but worse). so my little 
program surely has to be covered by this license.


so can anybody tell me, which license my program has to be published under?
i doubt that this has not been discussed to death at fsf.
most likely the arguing will be about "intentioned use" and/or about 2 
licenses to be applied to the final program (depending on the produced 
binary).

Frank Barknecht wrote:

> Now would I be obliged to put my 2-line application under GPL, just
> because it uses a name, for which there also is a GPL-external? In my
> opinion: no. (In the light of the fact, that nameclashes still are a
> daily business, it even would be crazy to require that using certains
> identifiers would automatically make a patch need to follow the GPL.)

the occurence of "expr" in your .pd-file will not make your 2-liner to 
be covered by the GPL.
this has nothing to with name-clashes, but with modularity: i can 
implement a free version of a non-free library, which share the 
interface (as long as the interface is not protected by some explicit 
legal "thing"; but even then i guess that you could find some loophole), 
just the same as i could implement a library totally differently (e.g. 
my libfree() could output the free speech to the console, a lineprinter 
or via blinkenlights.

typing "expr" within an object box is not enough to be caught by the GPL.
however, using shahrokh's [expr] will make any patch GPL.


but of course i have not the slightest idea about legal issues....


mfga.sdr.
IOhannes




More information about the Pd-list mailing list