Misconceptions About the GPL
lisah writes "Misconceptions about the widely used GNU General Public License (GPL) continue to plague the free software user community and, according to the ITManagersJournal, 'the confusion is frequently based on misreadings, rumors, secondhand accounts, and what is convenient to believe.' In order to clarify some of the more common misunderstandings about the GPL, Bruce Byfield consulted with three experts: attorney Richard Fontana, one of the main drafters of the third version of the license; Harald Welte of the GPL-Violations project; and David Turner who is assisting with revisions of the license. Together, they help clarify the distributor's role in providing source code to customers, whether GPL is viral or unenforceable, and why some misunderstandings are really rooted in varied interpretations of the law." ITMJ and Slashdot are both owned by OSTG.
Actually it doesnt go towards the end user. The GPL is totally irrelevant to the end user. Now it does matter to other developers, but in all honesty the actual user of a project could give a damn. The GPL is not a EULA, because it has no relevancy to the user of the program, but rather dictates what people that want to involve themselves in other activities such as redestribution.
A chef having to give away his recipe because he used GPL spices...worst analogy ever. Reverse it and it would be correct because a developer is not going to take a small amount of gpl code and use that, they are gonna add their small amount of code to a largely GPL base. (well atleast 99% of the developers out there).
How does the GPL force a developer that chooses it as a license to do anything. They made a decision to use it because they like it as a license, they arent forced into using anything. The people that bitch about the GPL are developers that already decided against it, and because they dont use they somehow think it is an "unfair" license (to whom i dont know since they have already chosen not to use it)
I think developers need to get this concept in their head...just because the source is available, doesnt mean you have to use it, and doesnt mean you have the right to use it either. You simply have the option to use it.
The phrase "more better" is acceptable English. suck it grammar Nazis
It is like a chef having to give up his secret recipe just because he used GPL Spices.
The solution is simple then - the Chef can either use different spices, or make his own.
You don't like it, don't use it. Nobody is forcing you to incorporate GPL'ed code in your project, and nobody is forcing you to use the GPL for original works.
If you are developing your code from scratch, you are free to other versions of it under whatever license you see fit -- the GPL is a non-exclusive license, so you are free to license your creative work in other ways at the same time.
If you are trying to use someone else's GPLed code, track down that person and try to get a non-GPL license from them. Is that so hard? It's exactly what you'd have to do to get access to someone else's proprietary code, except that you get to preview the source.
If the author want to license his code to you in a non-GPL way, well, it's his creative work -- he can do what he wants. Start from scratch or find another vendor.
Actually, one line might be considered fair-use excerpting...
Seriously, if you don't want to GPL your application, just don't use any GPL code in it. Why is that so hard? Nobody whines about not being able to incorporate pieces of Microsoft Office into their code. The only difference is that you gan ogle the beautiful source code of GPL applications, so that it's more of a temptation.
You're not going to lose the rights to your software if you invoke GPL code with it. You're not going to lose the rights to your software if you use GPL code to make it (e.g. gcc and emacs don't tarnish your C code). You're only going to have to GPL your code if you actually incorporate someone else's work into it.
The biggest problem I've seen with GPL is that static linking your (completely NON GPL) code with a GPL library seems to make the entire program subject to the GPL. While dynamic linking to DLL's doesn't. This has always been the biggest sticking point with using libraries under full GPL (not LGPL) as part of a piece of software. I've had to avoid using many useful GPL libraries simply because the platform I'm on required static linking.
If they would straighten this out in the license I think GPL software and GPL licenses would see a LOT more use. Having a distinction between static and dynamic linking (particularly given all the different ways you can link code these days) makes usage rules much more confusing. A non GPL program shouldn't be subject to GPL unless it's source code actually contains stuff copied from GPL sources. Simply static linking with a GPL library shouldn't make you GPL too.
This is really the only objection I have to GPL, all the other terms don't bother me at all.
Milo from Kangaroo Koncepts
Your answer is way too simplistic and doesn't address the issue at all. It works great if you live in one world (OSS) or the other. This comes from what is appears to be the common belief that ALL software should be OSS. As long as you believe that to be the case, your answer seems appropriate because you have decided to live in only one world.
The perspective of those of us in the Free Software community is that all software should be Free Software.
Unfortunately -- that is not very reflective of reality. That approach keeps people away from OSS because it's effectively an ALL OR NONE proposition for them. They either buy into the idea that everything should be OSS, or they stay away.
It may keep some small number of developers away, but if they're only interested in using our code against us, I don't see how this is harmful.
I avoid engaging in any OSS projects for that very reason. If you want to the benefits of others works, there is a cost associated with it. GPL just makes that cost your software where Proprietary Software usually has some fixed cost associated with it (ie the cost of the software). GPL is definitely not free.
If by free, you mean lawlessness, then you're correct. As a society, we live with rules. The GPL says "If you want to work with us, here are the rules you have to follow.". Proprietary software also has rules, rules like "You must pay us money." and "You must sign this non-disclosure agreement about what you see." and "You must sign this non-compete clause."
I still believe that GPL is viral in nature because there is no proportionality associated with it. If you apply a small set of code to an existing open program, I can understand the requirement to keep it open. But if I were to take a program the size of OpenOffice and use a couple interesting chunks of code, I'm technically in the same situation. So whether the GPL code contributes
This gets back to the original point, which is that the GPL is designed to help create a library of Free code that can be used by any Free Software developer. You're saying "I can't steal just a little bit." and indeed, you're right, you can't, by design. You also can't mix that proprietary code into Free code.
I know the immediate response to that is "then don't use it, you have a choice" -- which is what I do, but it doesn't change viral nature. Version 3 of the license doesn't seem to address this issue and it is one of the big reasons why anyone thinking of using any GPL code needs to think about it carefully because it remains an ALL or NONE proposition. To me, that's what makes it viral in nature.
Fiften, or even ten years ago, people with that perspective may have been able to be convincing, and they argued for the BSD license. There are plenty of people in the BSD community would agree with you, and find that the GPL is too restrictive for them. If that's what they, and you, believe, then you have all the rights to go ahead and use what you feel is a more appropriate license for your work. But since then, in the ~20 years of the GPL, there is now far more code available under it than under the BSD license, including code from buisnesses.
I think a major reason for that is the exact reason that you've pointed out as a "viral" quality- that is that with the GPL, no one can get a leg up on the original developer. It's "Come and join us." or "Sorry, we can't help you.". If Sun had a license which allowed you to as you wanted with OpenOffice.Org, then they'd be at a disadvantage against you.
It's a shame that you don't use our work and contribute to the community, but that's your choice.
In every instance I've been involved with in the past 20 years or so of professional programming, this statement is 100% wrong-- at least from the commercial angle. We've gernerally got an application that is filling a particular need and we're looking to add functionality to the already 100's of thousands to millions of lines of code we've already written. The first thing we do is look and see if anyone has already solved the problem, and if so if we can use it; if we find something and it's GPLed, we can't use it. Adding an extra 10,000 lines of GPL code written last year to our legacy system in use for the past 10 years and now suddenly our legacy app is a derivitave work of the GPL code is out of the question. Which means that we end up either looking for (or buying) an alternative if we can't work out a deal with the original copyright holders (which so far has been nigh on impossible-- we've gotten exactly one license from a GPL project that we needed to use). If that fails, we end up writing our own code, which now is by default non-free.
While I'm not disputing the quantity of GPLed software out there, I know that many of these projects are giving up help just because of the license. As an example, in one case we had determined that we'd need to allocate at least 3 people to implement a particular feature that a specific GPL project already had (mostly) working. I contacted the project "leader" and tried to negotiate a different license for the use of their project that involved a cash payment and allocation of a full time employee for a year to help bring it up to spec. We were unable to come to terms not because of any desire on their part not to, but because they used code that was also GPLed. No one was ever able to locate every one of the copyright holders to get permission and so it never went anywhere.
Don't take the above as a gripe-- whatever license you want to use is fine by me-- if I can use it I will, if not I won't, no skin off my nose either way; I'm sure I'll be able to get my job done with your product, your competitor's project, or I'll become your competitor if I need to.
rob.
... is that the GPL is pro copyright because it's a license. Wrong! The success of the GPL is the ultimate proof that all those arguments like ... "copyrights are pro creator, pro business, an incentive, protection, pro commecial..." ... are lies, frauds, and scams. Copyrights like any coerced monopoly or any personal "right to sue" for market share will slow business, hurt individuals, are predatory rather than protectional, and are a disincentive to creation and productive behavior. The GPL basically fought fire with fire. The greatest victory of the GPL is that it broke the software industry copyright cartel and is forcing them to compete off of merits and service rather than off of threats and control.
using GCC for your own commercial apps is impossible then, because you have to include libraries and headers, which are GPL'd.
Though I'm sure it will shock you, you are not, in fact, the first person to have considered this issue. The FSF has thought carefully about it and addressed it.
The copy of the GPL included with gcc includes the following notice with respect to the gcc runtime library and several others (with slight, and appropriate, variations):
thus this instantly "infects" your code, forcing you to make it GPL'd as well. as soon as you "include strings.h" or io.h or whatever, bingo. or if you use one of the libraries (glibc comes to mind)... oopsy!
Actually, those headers you mention are part of glibc, not part of gcc, and all of glibc is distributed under the LGPL license, which does not require the resulting derived work to fall under the GPL or the LGPL.
ok, so I write a commercial app with 10 million lines of code, and I happen to use a little 100 line GPL static library - then all my work is suddenly derivative?
Yes, it is, but that has nothing to do with the GPL. Copyright law says that if your work incorporates another copyrighted work, the result is a derivative work, and it doesn't say anything about the relative sizes of the two pieces. If the library you use is under a license that grants you permission to use it, then you're fine. If it doesn't (e.g. it's proprietary), you absolutely can't use it. If the license grants you permission but only under certain conditions, then you're fine as long as you meet the conditions. In the case of the GPL, that means your app has to be distributed under a GPL-compatible license. In the case of the LGPL, you just have to distribute source to the library.
Realistically, though, if you wrote a 10 million-line program you should be perfectly capable of writing your own version of the 100-line library and avoiding the issue entirely. If that 100-line library is so hard to write that you can't create your own, well, you need to re-evaluate the value of that library, regardless of its small size, because it's apparently a bigger chunk of work than you're giving it credit for.
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.