[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: GPL and command-line libraries

"Wesley W. Terpstra" <wesley@terpstra.ca> 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

Reply to: