Viral GPL Misconceptions Elegantly Explained
Scot W. Stevenson writes "Our favorite paralegal Pamela Jones of Groklaw has put together a short FUD-killer on the General Public License that explains why you can't lose your proprietary code if you inadvertently incorporate GPL code. This is not the only text of its kind, but it is so well explained that you might want to bookmark the page for future reference."
The GPL states a single, specific requirement, above all else: that if you create a software program that is a derived work of another software program, then that combined work must be distributed under these terms, no more, no less. Making a derivative work of a software program IS NOT SOMETHING THAT CAN HAPPEN BY ACCIDENT. You, the hypothetical developer of the derived work, receive the program accompanied by its unambiguous terms of use, and IT IS YOUR RESPONSIBILITY TO READ AND FULLY UNDERSTAND THOSE TERMS. If you do not, then that is your fault, and ignorance of the law does not excuse its transgression.
You therefore have a choice. You can use works distributed under the GPL to create your own software and license that under the GPL, or you can NOT USE the GPL software and use any license you want. If the GPL were infectious, then you would have no such choice; since you do have a choice it is clearly not infectious in this regard.
Also remember that the GPL clearly states your rights with respect to parts of a program you write: that the GPL only applies to the combined work as a whole. You retain all rights to do whatever you want with the parts of the program you wrote. Furthermore, if a developer combines a GPL'd program X with a proprietary program Y of which he is not the owner, then the combination does not, and cannot legally affect how Y is licensed. All that happens in this situation is that the developer will be unable to satisfy the conditions of the GPL and the proprietary license at the same time, making any release of the software -- however licensed -- in breach of copyright law. Copyright law is pretty clear on the notion that the owner of a copyrighted work has the sole ability to set the terms of use of his copyright.
Donate to it! Pamela is FAST approaching sainthood, support her site.
Remember that it was written by an OSS hippy, not a lawyer.
I've never heard Eben Moglen called a hippy before, interesting perspective you have there, but I'm afraid he's definitely a lawyer.
The real Ralph Yarro posts as Anonymous Coward. Anyone else is an impostor.
For those of you not familiar with that situation, the author borrowed and modified some open source code for a terminal app into a Finder alternative. A bunch of GPL zealots then started a flame war with many actually demanding that he release the entire source code to the world under the GPL! What was worse was that the author had already helped the community by releasing many of the classes he had developed!
While such zealots obviously can't be taken as representative of GPL supporters, it is cases like that which gives the GPL a bad name.
Remember that it was written by an OSS hippy, not a lawyer.
Bzzzzzt! Wrong. It was written by Eben Moglen, professor of law and legal history at Columbia University. I have no idea whether he is a hippy (although I would tend to doubt it), but I have little doubt that he's a lawyer.
It only grants rights, it doesn't take them away
Well, no.
Well, yes. Read the GPL. It grants you rights to do things that otherwise you could not do under copyright law. If you can't do things with the software, it's because copyright law won't let you do them, not because the license itself won't.
Someone you trust is one of us.
Did you read the article?
The GPL is not some weird contract, some new experiment in copyright law interpretation that requries a test in court.. it is a straightforward license (which is different from a contract). it is, in fact, very clearly a license, not a contract.
It DOES NOT take away any rights: Copyright allows you certain things by default. The GPL grants you other rights IN ADDITION to those allowed under copyright law, under certain conditions.
There is nothing to test in court (any more than any license needs to be tested in court).
We are not talking about freedom here.. or the relative freedom of various licenses..
As people keep saying, it's very, very simple. If the GPL is not valid... then show how you had permission to create a derived work from MY code. Plain and simple. Either you had no license to do so, in which copyright law applies, and what you did was illegal, or you have the GPL, which says you can do this, within limits.
Nope. A contract implies a two-way promise. I contract with you to sell me two tons of sugar for five cents a pound. You promise to do something (produce the sugar) and I promise to do something (buy it from you). If either of us defaults on the contract, there are penalties involved.
A license simply allows you to do something you couldn't otherwise do. There's no contract because you don't have to perform any obligations. Simply because you have a driver's license doesn't mean you have to drive a car. (You do have to follow traffic rules but that is a condition of the grant of license, it's not a contractual obligation.)
PJ is not a lawyer, but she knows plenty of lawyers, and is meeting more as time goes on. If she says that the General Public License is a LICENSE, not a contract, she has the opinion of experts to back it up with. Those experts include Eben Moglen, the author of the GPL and a professor of law and legal history at Columbia University. What do you have?
Someone you trust is one of us.
The judge can only order you not to relase your code, they cannot order you to relicense your code.
Thats up to you.
Monatery damamges can vary depending on the case.
The fact that whenever this has come up the company usually decides the easiest thing is too release the source code under the GPL. But that is not the only solution.
If a first you don't succeed, your a programmer...
A paralegal does legal research, but in order to really give people legal advice, you need to pass the bar exam. He hasn't done that, so he can't legally give you advice. His name IS on the line, in that if they turn out to be wrong, we won't trust him.
His job is legal research, which is what this article is. If he called it legal advice, he'd be in trouble. That's why he has the disclamer on top of the page.
How ironic--in a Slashdot story about GPL misconceptions, the biggest misconception is promoted: what the G in GPL stands for.
Only works that specifically state they are covered by the *GENERAL* Public License recieve the protections of that work. A reference to "GNU" Public License could be a reference to ANYTHING.
Directly from the GPL: 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
Trees can't go dancing
So do them a big favor
Pretend dancing stinks!
*cough*her*cough*
No, The resultant software does not have to be GPL'd. For one thing the libs are under the LGPL, and secondly what you develop with the compiler is not restricted.
If a first you don't succeed, your a programmer...
That's another GPL misconception. The GPL does not prevent anyone from selling GPL'd work:
In other texts, RMS explicitly encourages the sale of GPL'd code. The key point about putting work under the GPL is that those who distribute it (for no fee or for a price) cannot prevent the recipient from also selling or giving away copies.
flossie
Write now. Defend liberty
No, you do not have permission to release the GPLed work under your proprietary license. The GPL only allows you to release a derivative work under the GPL.
You would have to get permission from those copyright holders as well, which you may very well get by offering them something like a portion of your revenue... which would then plunk you down into contract territory for the proprietary version.
It's all basic copyright: the only thing giving you permission to use the work you created a derivative of is the GPL. You don't have to use that code, you can always implement your own. Or, if the origins are well-enough known, negotiate a different license with the copyright holder. (This should be possible with most FSF-owned works, as they require copyright assignment of patches. It is probably impossible with the Linux kernel....)
This element of SCO's argument, as I understand it, is that they didn't really release that proprietary code because they didn't know that it was there. If they'd known chosen to release that code while knowing what it was, then they'd certainly have no right to revoke the license; their argument is that they didn't, which makes it more of a grey area.
So, roughly: SCO is a special case, they argue, because they didn't know what they were releasing. In most cases, however, folks unarguably do know what they're releasing, and so don't have the ability to pull it back.
No, you can't do that. You either have to ask the original copyright holder of the contributions permission or re-create the contributed code. Otherwise you would be violating the copyrights of the creator of the contributions. What you do with your own code is of course your own business.
If you look at MySQL for example, they ask every contributor to sign the copyright of the contributions over to MySQL AB. That way they can offer commercial non-GPL licenses and a GPLed version.
There are "commercial-with-source" licenses out there. In fact, there's quite a lot of software so licensed.
The concept of a derived work is not explicitly defined.... because national and international law already offer definitions. For the same reason, "distribute" isn't defined in the GPL.
No definitive interpretation by a court has been made.
This is true of most licenses and contracts under which we live our daily lives. I certainly don't look up court cases before I sign a contract for cell phone or cable TV service. Your bizarre misinterpretations of Linus's interpretations aside, the GPL is quite clear. One can willfully misunderstand anything (as you seem determined to do) -- but the GPL is so clear that nobody has yet taken it to court.
The GPL has many bizarre concessions and terms, such as requiring those who distribute GPL software to distribute it by mail at anyone's request, charging only the cost of media.
That's not actually accurate -- it's only one of the options for source distribution under section 3 of the license.
Moglen didn't write the GPL. Stallman did, but had it reviewed by lawyers (this was before Moglen joined FSF).
Where's the consideration? There isn't one. It's a pure grant of rights with stipulations/conditions.
A contract only exists if the parties have the legal right to contract. A contract with a minor is voidable by the minor party of the contract. However, the GPL is enforcable against a minor.
I have discovered a truly marvelous sig, unfortunately the sig limit is too small to contain i
You don't need to go any further. The answer is no, the software you develop by merely using the tools does not make your software GPL. Mere use of the GPL'ed program does not make your software GPL.
For example, if I decide to develop, say, a game to run under Linux, using gcc to compile it, XFree libraries to render graphics, and the GIMP to create the graphical images, I can still choose to release that game under any license I choose.
Now, would the database schema/design now be GPL or would it be proprietary? It isn't compiled or linked to any 'librarys'. It is just instantiated into a physical instance. So, it should not be GPL'ed should it? What about a bunch of PHP scripts you run on Apache...those aren't GPL'ed are they?In all of these cases, you are simply using the program or library in question. That does not make it a derivative work. In my example above, there are several libraries that I may link to that are GPL. Linking does not constitute a derivative work, it constitutes merely using the library. Now, if I purposely built an extension to that library, actually recompiled the library with my new code, then in that case, yes, my code would have to be GPL as well.
Karma: Frotzed (mostly due to the Frobozz Magic Karma Company)
Not true. You have the right to run software without a license from the copyright holder. ("Copying" the software to RAM is pretty clearly an "essential step").
How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.
The concept of a derived work is not explicitly defined
Copyright law appies. The term "derived work" is pretty well defined both by legislation and case law.
shouldn't this carry over to any code which utilizes system calls in Linux?
There's a clear (and written) exception in the Linux license that permits user programs to make system calls without being affected by the GPL. That is, after all, the function of an OS. Binary modules go beyond normal system calls, however. (Furthermore, glibc exists for plenty of other kernels besides Linux, including BSD and proprietary.)
3. The GPL has many bizarre concessions and terms, such as requiring those who distribute GPL software to distribute it by mail at anyone's request, charging only the cost of media.
Lots of licenses have what seem to be bizarre terms. In this example, though, that offer need only be made if you don't distribute the source along with the binary -- and the term is not specifically the cost of the media, but "for a charge no more than your cost of physically performing source distribution,". I.e. it's okay to charge for shipping and handling too, just don't make it a profit center.
-- Alastair
No. They should comply with the license they got your code under. Which can be another, if you dual license it. E.g., Trolltech is dual licensing QT, or MySQL AB is dual licensing MySQL, under both the GPL and other licenses of their choice.
If you put your code under GPL it means you given up on it, you still have you name on it, but you do not have any more rights then anybody else.
Yes you do. Being the author, you can put it out under as many licenses as you like.
You are required to keep the copyright notice on subsequent copies of BSD-licensed works, not the original license. Even if that copyright notice includes the license terms, it only applies to the original content, not to your own additions nor to the combined work as a whole. (In fact, it doesn't. The license paragraph just requires you to retain "the above copyright notice" and "the following two paragraphs" (which are disclaimers of liability or warranty) -- not the license paragraph itself. That'd be viral ;-).
Sure, if some subsequent recipient of the combined code can carefully separate out the original BSD'd code from the GPL'd combination and GPL'd additions, he may use that under the original BSD license. Good luck.
(For an expanded explanation, read the copyright page on any of the O'Reilly X Windows books, which contain text released under the X license, but also text and revisions copyright by O'Reilly, the net result of which "is that copying of this document is not allowed".)
-- Alastair
If it's an LGPL library, then as long as you link to the shared-object form of the library (not physically included in your executable) then you're in the clear.
Your example supposes that one is copying into RAM software which one has a legal right to use. (You can't say "Your Honor, Title 17 says it's legal for me to load my pirated copy of Microsoft Office into RAM". When the law says "owner of a copy of a computer program" it means someone who possesses that copy legally). You can only use the software legally under the provisions of the license under which it is offered for sale or rent or whatever. You can only do that if there is a license.
I see even classic Slashdot is now pretty much unusable on dial up anymore.
Right. When you distribute someone else's code, you have to abide by their license terms. The GPL's as viral as any other software license in that way. For example, you can't distribute software containing Microsoft's redistributable modules in any way you like, you have to distribute it in ways that don't break the license for MS's redistributables. And as with any other license, if you don't wish to pay the royalty fee you don't distribute the licensed code. The only difference with the GPL is that you're paying in code instead of dollars. The desire you describe was, in fact, why the LGPL was created: to provide a way for libraries to be created that would themselves be and remain under the GPL without requiring that all derivative works also be under the GPL.
As for the last, the GPL prevents that. One of the rights explicitly not granted you by the GPL is the right to change the license terms. To release it under the LGPL would be changing the terms. Do that, you lose your license to distribute the code.