views:

295

answers:

10

A bit of background: Earlier today I downloaded an EDI library in Java that is licensed under the GPL. The GPL is no good to me, as I need to sell the application I'm working on (I like eating and having a house :) ), so I can't use this library as I can't open source my entire application.

However, I like what the guy who wrote it has done. It smells good and works - and it's by far better than I could have done in the 7 days I have to write an equivalent. But, but, I've now seen his implementation and naturally my implementation is going to be influenced by his.

Is this a derivative work, or is it my own? I'm minded of John Carmack's (he of Doom and Quake fame) remarks relating to software patents, "The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying."

If I line for line copied this library by hand into new files and compiled them, would this be an original work?

And finally, I've yet to hear of Open Source project suing anyone - maybe I'm not reading the right newspapers - does this happen?

+6  A: 

Oh, people have enforced the GPL for not releasing source before, so that has been done.

I think your problem is very similar to the problem of plagarism in school. If you copy line by line and change the variable name, it's pretty much plagarism. If you discussed with someone, and then you implement separately, is it plagarism? If you happen to have the same algorithmic solution as someone else, totally a fluke, is that still plagarism?

That's a question that I can't answer, and if you're not careful, you might have to find out through the courts.

I'd suggest to look hard for a non-GPL lib, or roll your own, for your own safety.

Calyth
Could you give an example of people who have enforced the GPL?
Seventh Element
The SFLC filed a few lawsuites: http://www.softwarefreedom.org/news/2007/sep/20/busybox/ Often they settle out-of-court. Tells you that the other side didn't expect to win fast.
Joachim Sauer
+1  A: 

Libraries are mostly released under the LGPL, which allows linking from closed source programs. Look whether this is the case with your library.

If you copied the library line by line, it is still the library. This is a difficult subject. I recently read a nice explanation: What colour are your bits?

As for suing -- yes, that is happening. The EFF has set up funds for this that may be used by small developers who would otherwise not have the financial stamina for a prolonged lawsuit.

edit: Open Source does not mean that you can't charge money!

Svante
"Libraries are mostly released under the LGPL" -- yes but GNU has taken the ideological leftwing approach and recommended people use GPL for libraries. http://www.gnu.org/licenses/why-not-lgpl.html
Jason S
A: 

Using the GPL does not prevent you from charging money for the program.

I am not a lawyer or legal expert of any kind but if you made exact copies of the library source into new files, that is not original work. It's the content of the files that is protected, not the files themselves. Even if you made changes and used your changed version of the source, that is still a derivative work and must be licensed under the GPL.

And check out the archives of Slashdot, occasionally there are stories about significant legal proceedings involving open source licenses. They often stop before getting to the point of a major court case, though. (I'd look up some specifics but I have to run...)

David Zaslavsky
+4  A: 

I would hope that your ethics would of some use to you in this situation. Whether you get caught or not seems to be a very poor standard upon which to make a decision. I assume that you would apply whatever logic you see fit to use to anyone using your code.

tvanfosson
+3  A: 

The same way closed-source enforcement works - if you're breaking the terms of the licence and the copyright holders find out and are sufficiently annoyed, you can expect to get dragged into court over it.

Ant P.
A: 

If you're using the library, you're not forced to release your app under GPL. As long as you use it as a "black box" you won't have any problem. Think about it, even Java is released under the GPL, you can read the Java source code to get a hold on how to use enums or generics for example. Does this forces you and millions around the world to release under GPL because of using generics? I don't think so. Now, if you take source code from the library and extend from that code, then you can worry about violation of the license.

Ubersoldat
You should read more on how GPL works, derivative works, and so on...
PhiLho
Pretty much every major infrastructure piece that's released under the GPL (I think mainly of the Linux kernel here) has an explicit exception that prevents anything build on top of it from being forced to use the GPL. That's the *only* reason why you can build proprietary software for Linux.
Joachim Sauer
+7  A: 

Yes, some people sue organizations that use GPL software and don't disclose the source of their application. Particularly router manufacturers using GPL libraries in their software...
I also saw today the FFmpeg Hall of Shame listing softwares violating the license... I suppose they can't afford to attack everybody, but they make the issue public!

Note that:

  • As pointed out, you can sell a GPL software. Of course, nothing prevents a client to take the source and compile it, but they need to be a bit computer savvy. Now, there is also the risk for forks and such...
  • In general, if the library maintainers are still active, you can contact them and negotiate an alternative license: unless they are purist/idealist, lot of people use the GPL license but accept commercial licenses to let use the library in commercial, closed source softwares. Since you are planning to make money from it, this should not be an issue.
PhiLho
A: 

So long as it isn't the Affero GPL, you are able to license the app to other customers as a "service". They just can't "own" the program without you being required to deliver the source code upon their request. This is how proprietary web services are able to use GPL code without being encumbered. Your app has to be a "black box" that they have paid a fee to use. The customer only uses a UI/front-end that the "black box" renders. Think of it like buying an XBOX: you are buying a license to USE THE MACHINE in a way that Microsoft sees fit, in accordance with the contract. You are NOT BUYING THE HARDWARE, so you aren't able to open it up or make modifications (legally).

The other thing to consider is that your company will need stringent contracts with any internal developer who is exposed to the code because without any legal restrictions, the employee is given full, GPL right-to-copy of your proprietary system.

To prevent most of these concerns, I would stick with BSD, LGPL, or Apache-style licenses.

Nolte Burke
I've never had to sign a contract when buying any console. When did this become a requirement to use the hardware?
Ant P.
+1  A: 

Copyright protects the expression of an idea, not the idea itself. It doesn't protect against influence. In some cases, people who are particularly cautious about avoiding any copyright contamination use the "clean room" approach, but my suspicion is that it's very unlikely that a case could be made if no direct copying has taken place. (As usual, you should consult a legal professional for a qualified opinion.)

Patents are different matter, but I'm assuming that no patents are concerned here.

I think your options are:

  • Convince the copyright holders to release under a different licence such as the LGPL.
  • Pay the copyright holders for a commercial licence.
  • Reimplement the library, taking care not to copy any code.
daf
A: 

Copyright/copyleft protects only text (source code), not the ideas. You can't unconditionally reuse the code but you can get inspired and write similar code. That's the main difference between copyright and patent law.

sharptooth