[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