"Wesley W. Terpstra" <[EMAIL PROTECTED]> writes: > 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. > > I feel this has several engineering advantages: > 1) it's easier to debug and understand if you can interact with it > 2) bugs in the library don't crash programs using it > 3) multithreading can be used in the library and not the application > ... and other more problem-specific benefits. > > 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!
That's correct. It's even in the GPL FAQ. > What I am concerned about is the following scenario: > > Mr. John Wontshare writes a streaming multicast client. > To deal with packet loss, he uses my error-correcting library. > Without my library, Mr. Wontshare's client can't work at all. > Mr. Wontshare's client represents only a small investment of effort and > without having had access to my library, he could have never written it. > He then distributes his client along with my library to end-users. > > These users don't get Mr. Wontshare's code, even though he uses my library. > Even worse, he refuses to port his client to MacOS X for business reasons. > (intentionally giving an unfair competitive advantage to another platform) > > To me anyways, this sounds like exactly the situation the GPL is supposed to > protect against. Is this _not_ a derivative work? Unfortunately for you, no, it's not a derivative work. > If that's really the case, is it possible that a GPLv3 might address this? Only if GPL3 is incorporated into the copyright laws worldwide. Doesn't seem likely to me. > There are several things I've considered to prevent this scenario: > > 1. Write in all documentation, help, etc: "popen my app = derivative work" > ... and hope that this is enough to give me a victory in a lawsuit or at > least scare Mr. Wontshare away from even trying this. Maybe it scares someone, but it can't be enforced by law. > 2. Patenting the new algorithm my library uses and putting in a clause which > covers this corner-case and making it otherwise free. Software patents don't exist in large parts of the world. > 3. Crafting a special (GPL-incompatible) licence which does what I want. Legally impossible. > 4. Writing to debian-legal and asking for advice. You got my 2 cents. > I've heard all sorts of arguements in IRC that drawing the line in a good > way is very hard. I believe that. However, what I want to know is, if this > went to court, would things like the intention and degree of dependency be > considered in determining if the client was a derivative work or not? > > What can I do to prevent the above scenario from happening? Don't release your code at all. -- Måns Rullgård [EMAIL PROTECTED]