Once upon a time Wesley W. Terpstra said... > Good evening! > > I'm developing an error-correcting code library which works on a lot of data > at once. Since the API is quite simple and the cost of process creation > relatively insignificant, I would like to provide a command-line API. > > ... > > To the point: I want this library to be released under the GPL, BUT ... > Would the GPL still protect it? > > If someone writes a program that does: popen('my-api'); > does the GPL require that program to also be GPL? > From the short answer I got on IRC it seemed the answer was: No!
I would think the answer is Yes!, assuming that Mr Wontshare is distributing your program with his. Section 2 of the GPL says: These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. It would seem irrelevant how the two programs are "linked", whether through popen(3) or dlopen(3). I can't see copyright law making a distinction between these two library calls. I know the GPL FAQ says otherwise, but I dont see why. Furthermore, Mr Wontshare's software could possibly be determined to be a derative work of yours in which case your licence will apply. Unfortunately as far as I know, whether or not something is a derative work is typically determined on a case by case basis, with little or no guiding rules as applied to software.