Slashdot Mirror


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.

54 of 495 comments (clear)

  1. Misconceptions by Drachemorder · · Score: 5, Interesting

    I'll tell you what misconception annoys me the most. It's the idea that you need to agree to the GPL in order to use the software. I find it highly irritating to be asked to click-through a EULA window containing the GPL when I install a piece of software. The GPL is not a EULA, and you don't really have to agree to the GPL if you only intend to use the software. The GPL gives you rights to modify and redistribute the software; if you don't agree to the GPL, there is nothing else that would give you such rights. The right to use the software is implicit in the fact that it was legally distributed to you.

  2. The 10, karma me now baby by neonprimetime · · Score: 4, Funny

    1. The GPL is viral
    2. The GPL is unenforceable
    3. You can't charge for GPL software
    4. The "liberty or death" clause applies absolutely
    5. Distributors only need to ship the source code they alter
    6. Distributors only need to supply source code, and not the means to use it
    7. Distributors don't need to provide offers of source code
    8. Distributors only need to offer source code to their customers
    9. Distributors only need to link to the license text
    10. I don't think that word means what you think it means

  3. The GPL by zo1dberg · · Score: 5, Funny

    Basically it says something like "Your sourcecode is to be available, penguins are to be worshipped, but are to be referred to as GNU/Penguins, and men are not to shave". If you don't care about all that, you can skip to the end, which is a good part and has Marvin in it.

  4. Re:Still I really dont like it. by harr2969 · · Score: 2, Informative

    "I am giving up my freedoms as a developer"

    Consider the case that you are creating a tool and your goal is to ensure its always available as a service to the community. The way I understand it, the GPL can ensure that works based on your source will still always meet your goal. So look at it more as continuing to be true to your intent, if your intent is openness.

    Here's the text of the actual license.

    http://www.gnu.org/copyleft/gpl.html

  5. Re:Still I really dont like it. by Tweekster · · Score: 5, Insightful

    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
  6. Re:Still I really dont like it. by takeaslash · · Score: 2, Insightful

    Yes, Freedom stops when you start calling it a license. Anything that has restrictions or clauses by definition should not be called free. Other than that GPL has some good points, but it craps me off when people (with good intensions) call it free. A free license is NO license!

  7. Re:Still I really dont like it. by wolrahnaes · · Score: 2, Insightful

    How the hell does it screw developers? There's nothing forcing you to use the GPL license on your own code unless you're including someone else's GPLed code in it. In that case, you're getting presumably good software for free, with only that one condition. If you don't like it, find some other code to use.

    --
    I used to get high on life, but I developed a tolerance. Now I need something stronger.
  8. Re:Still I really dont like it. by schon · · Score: 3, Insightful

    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.

  9. You're incorrect by BadAnalogyGuy · · Score: 3, Interesting

    You are approaching the issue of freedom from the completely wrong angle. When you put a work under the GPL who gets the freedom?

    Is it the developer? No, the developer gains no additional freedom by placing the work under the GPL.
    Is it the user? No, though there are some nice clauses about requiring source code to be provided on demand, the user is no freer with a GPL'd work than with a work in the public domain or one covered by an arguably "freer" BSD-style license.

    Then who gets the freedom? Good question! The software itself.

    How can an inanimate thing like software gain freedom? Let me explain. By licensing software under the GPL, it guarantees that the software cannot be used in other non-GPL projects (give or take a license). Any code that comes into contact with GPL'd code gains the same freedom and the process continues so long as people continue to use the GPL code in their projects.

    So software freedom is freedom for software. Free Software meets developers on an equal footing, not one based on a master/slave relationship like BSD licenses define. Closed source software treats software code as property, not much different from treating slaves as property. The GPL gives software code its very alienable right to not being used so shabbily.

  10. Re:I understand it completely. by wolrahnaes · · Score: 2, Interesting

    If you don't know where it comes from, clearly you didn't Get The Facts

    --
    I used to get high on life, but I developed a tolerance. Now I need something stronger.
  11. Re:Still I really dont like it. by just_another_sean · · Score: 2, Insightful

    In this case it could be easier for me to buy a licence of program W which handles Z good enough and keep my program closed source, or non GNU

    Then just do that. No one forces people to use the GPL. Unless you want to reap the benefits of other people's previous work. In that case then you have to follow the licensing terms, just as with any other license.

    --
    Creationist Textbook Stickers Declared Unconstitutional by CowboyNeal
  12. The GPL is Viral, deflection not withstanding... by kbonin · · Score: 2, Insightful

    I find it amusing how the article attempts to claim the GPL isn't viral, using the following arguments:
    * Microsoft may have first called it that (therefore it must be false.)
    * The GPL doesn't infect other software on the same computer. (DUH?)

    If I use any GPL code in my application, even one line, I have to release my application under the GPL license. Throw all the pointless qualifications you want around it, like only if I release the application to the public, and I can still release it under other licenses, and all the related conditions that likely apply to 1% of real world cases.

    As a developer, I believe that developers have a right to make a living from their code. I also know that so few people donate for free software that most developers who rely on donations have to do something else to pay the bills. At the same time, I like to release 95% of my work as open source, so other developers can use it, some of which may also be trying to make a living as a developer. The Apache, BSD, even LGPL licenses handle that just fine.

    Trying to spin the GPL as non-viral is foolish - the free software community should at least be honest about their agenda. I'm not saying its a bad agenda, it just happens to be incompatible with mine.

  13. You don't get it. by Dr.+Zowie · · Score: 4, Insightful

    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.

  14. Re:Still I really dont like it. by A+beautiful+mind · · Score: 2, Insightful

    That is stupid.

    Unrestricted freedom includes not having freedom in itself, by definition it is a paradox. The GPL excludes this paradox, making it free. It is a restriction on freedom disallowing freedom to be restricted, which basically gives/promotes freedom, not restricts it.

    Easy, isn't it? :)

    --
    It takes a man to suffer ignorance and smile
    Be yourself no matter what they say
  15. Re:I understand it completely. by Anonymous Coward · · Score: 2, Insightful

    Yeah, this is exactly the nonsense that stupid PHBs worry about. They think that if they use Linux in their organization, say, as an Apache web server to serve up static "about us" web pages, they have to give the rights to their own proprietary software, which has nothing to do with Linux, to the community. I just don't "get" where the heck people come up with this nonsense.

    They're business types. They're looking frantically, trying to find out where the scam comes in; where the dirty tricks are hidden; what the hidden catch is. That's what they are. That's what they do.

    These guys are the types who live by the Poker Mantra: "If you're sitting at a table, and you can't tell who the sucker is, get up. You're the sucker."

    They can't figure out the GPL; they don't see who the sucker is, and so they walk away. Remember, their culture is all about profiting at someone else's expense; giving someone something for nothing, without planning to screw them over somehow later, isn't something they would do, so they assume no one else will, either.

  16. What about the "No Warranty" section? by Sanity · · Score: 2, Insightful

    Doesn't the "No Warranty" section apply to the user of the software, in addition to the distributor? Having the user acknowledge that they understand there is no warranty for the software is useful and desirable.

  17. Re:Still I really dont like it. by Dr.+Zowie · · Score: 2, Interesting

    Keeping your license clean is something you have to do anyway. That's not new to GNU. Just find the original author and buy a non-GNU license from them. Can't do that? Well, most proprietary vendors don't want to license their code to you, either -- so you're no worse off than you were before.

    If you want to live in a non-open-source world, live by the non-open-source rules.

    You seem to be making the mistake of thinking that GPL authors want their code to be used by anyone regardless of intention. Most GPL authors release their code under open-source license to encourage you to do the same -- so that everyone gets more software goodies to share.

    If you don't intend to share your own goodies the same way, then to heck with you -- you're not a customer, you're a leech.

  18. You described the goals of the LGPL, not the GPL by HanClinto · · Score: 2, Insightful
    "Consider the case that you are creating a tool and your goal is to ensure its always available as a service to the community."


    The OP is is saying exactly that the GPL does not line up with this set of goals. If I'm trying to make a *tool* that will always be available, then I will use the LGPL because that *tool* will always be available and usable.

    By a developer making his libraries "free" only under the GPL (and not a more free license like the MIT/BSD or even LGPL), then he's forcing anyone that wants to use this shiny tool to also make their software free under the same restrictions. That is why the GPL is "viral" -- not because it "infects" any software that it is stored next to -- but rather because GPL code is useless unless you're working on other GPL'd code.

    Sometimes the GPL feels about as enjoyable as enforced communism to me.

    I just don't feel very "free" when working under the GPL (and I have contributed to several GPL projects). It's just that something more along the lines of the LGPL would be my license of choice when creating a tool that I want to be available and free and useful to others for many years to come.

    If anything that I've said is a myth, then please debunk it -- I would genuinely appreciate it.

    --clint

  19. Re:I understand it completely. by giorgiofr · · Score: 2, Insightful

    Mainly from RMS's GPL v3, which turns distributing data via the internet into having to give up the programs you used to create it, which you have written by yourself.

    --
    Global warming is a cube.
  20. FSF doesn't do jack to refute misconceptions by Anonymous Coward · · Score: 2, Insightful

    It would be nice if the FSF actually noticed trends that damage people's understanding of the GPL and did something about them. For example, many programs place the GPL in the role of a click-through license. This makes no sense whatsoever, and leads people to think that the GPL is a EULA and that it applies to *users* of GPL'd sofware. On top of that, it lends credence to the notion that click-through licenses are worth something.

    Another example is MySQL. They don't understand the GPL, in fact it seems to be a willful misunderstanding. They claim that any application utilizing MySQL as its SQL database is combining the two applications into a new program and thus either a) becomes subject to the GPL or b) must purchase a commercial license from MySQL. Gee, what could make them want to interpret it that way? Yet while MySQL is flaunting this definition all over the place, the FSF has done nothing to correct them.

  21. I'm glad that cleared things u....waaah?? by mcmonkey · · Score: 2, Insightful
    6. Distributors only need to supply source code, and not the means to use it

    Under section 3 of the GPL, providing the source code is only part of a distributor's obligation. The section defines the complete source code as not only "the source code for all modules" and "any associated interface definition files," but also "the scripts used to control compilation and installation of the executable" -- in other words, the tools needed to make the source code useful to anyone. Within the free software community, many people will already have those tools, but distributors cannot assume that all recipients will.

    Don't the "tools needed to make the source code useful" include a compiler? And you'd probably need an operating system to run that, perhaps some sort of kernel. Does a distributor of a GPLed program need to be prepared to set up a development environment to make the source code useful for "any third party"?

    This may seem like a purposely obtuse interpretation, but as someone with very little knowledge of the GPL, I'm given pause the experts say under the GPL it's not enough to prove source code, but to "make the source code useful to anyone." I'd be very reluctant make my company subject to anyone's concept of utility.

  22. Re:The GPL is Viral, deflection not withstanding.. by Dr.+Zowie · · Score: 4, Insightful

    If I use any GPL code in my application, even one line, I have to release my application under the GPL license.


    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.

  23. Re:Still I really dont like it. by mrsbrisby · · Score: 4, Informative
    Even after RTFA, I still feel that by choosing GPL I am giving up my freedoms as a developer.
    You're wrong. If you license your own software under the GPL it doesn't affect you at all because you're still the copyright holder.

    This type of freedom goes in one direction towards the end user (which is a good thing) but the developer gets screwed, by forcing his software to follow a strict set of rules.
    No. The GPL applies on redistribution, not on distribution. The GPL puts no requirements or restrictions on the copyright holder whatsoever.

    Incorporating GPL sections of GNU Code could put you in violation.
    Incorporating BSD-licensed software could put you in violation if you remove the copyrights, or GZIP if you claim you wrote it (as Winzip used to do), or commercial software that you have source code to.

    Fact is, it isn't the GPL that's restricting anyone doing anything. Copyright law already has these restrictions. The GPL gives you license to do things you otherwise wouldn't have a right to do.

    But as I mentioned, it doesn't enter into effect at all unless you're redistributing someone elses code that is GPL licensed.

    In theory even if you do not plan to widely distribute your application you still need to follow the rules.
    Not in theory. It has no effect whatsoever on the distribution of your own application. It only has an effect when you want to redistribute code that you aren't the copyright holder to.

    Guess what: you don't have the right to redistribute other people's code. The GPL had nothing to do with this.

    It is like a chef having to give up his secret recipe just because he used GPL Spices.
    That's absolutely correct, but guess what: His secret recipe, as valuable as it is, was done on the backs of others. If he can build his secret recipe without stealing from other people, then he's welcome to.

    At least with software patents I can normally buy the right to use the software the way I want to use it.
    You can do this with GPL software as well. MySQL (among other people) offer licenses for their software that gives you additional redistribution abilities.

    But note, at no point here, did the GPL take away any of your rights as the copyright holder, or any of your rights as a redistributer. All the GPL does is give you rights, and only in certain circumstances.
  24. Re:Still I really dont like it. by Jim_Maryland · · Score: 2, Interesting

    If you don't intend to share your own goodies the same way, then to heck with you -- you're not a customer, you're a leech.

    Not entirely true. Not every project needs to have the entire application "open". If I use GPL application "A" and integrate it with my application "B", that doesn't mean that I won't contribute to application "A". I may have specific reasons for keeping "B" proprietary while still being a contributor to "A" (i.e. new functionality, bug fixes, testing, etc...). I may not be the great contributor that you are but we could probably find others out there that do more than either of us too.

  25. Yes, but by rewt66 · · Score: 2, Insightful

    To combine two previous posts: This is not the normal case. The normal case is that you want to take a GPLed program, and change one line, or a hundred, but most of the program is the GPLed original. It's 99% theirs, not 99% yours. And that, in all such situations, robs your argument of it's moral force.

    But what if it's really as you say? You've got your program, and you want to add one GPLed line? Yeah, you're right, it's going to make you GPL the whole thing. (Yes, I just admitted that your point was correct.) But so what? As someone else already posted (in reply to the chef using the GPL spices in his/her recipe), if you don't like the terms, don't use the code. You wrote the whole program yourself, but you can't rewrite that one line that you have to copy from GPLed code? Right. Sure. Either you are capable of rewriting the line (in which case, do it and stop being lazy), or you didn't write the of the program (in which case the situation as presented is just an academic exercise rather than a realistic scenario).

    At a previous job, we had a huge code base - literally a million lines. We wanted to use GPG to check the signatures of some software that we were supplying over the internet to our installed base (didn't want them running something that didn't really come from us). But we didn't want to GPL all million lines of ours. No problem - we ran GPG as a separate executable, invoking it with a system() call and checking the return code (IIRC). Of course, this meant that we had to make the code for GPG available, but that wasn't a big deal. This is one way to handle the "adding a little GPL" scenario in the real world.

    1. Re:Yes, but by TempeTerra · · Score: 2, Insightful
      The normal case is that you want to take a GPLed program, and change one line, or a hundred, but most of the program is the GPLed original. It's 99% theirs, not 99% yours.

      I would disagree. As a developer I'm most interested in using other peoples' code to add functionality to an existing project, not modifying their project. Why reinvent the wheel for a new feature? Granted, I'm using someone elses code and it's reasonable to use it on their terms. However, the GPL strikes me as being software gratis (free as in beer) masquerading as software libre(free as in speech).

      I don't have any objection to the GPL, but it seems strange to call it 'free' (libre) software given that you can't freely mingle it with your own code.

      ...we didn't want to GPL all million lines of ours. No problem - we ran GPG as a separate executable, invoking it with a system() call and checking the return code

      This is one of my big problems with the GPL. Why have a draconian license which will stop your code being mingled with respectful but non-GPL projects when any disrespectful group can sidestep the terms of the license? What programmer would say that there's a meaningful (philosophical) difference between linking a library and calling the same library from a system call? And yet one is allowed and the other is not? As a morally upstanding programmer I would feel that I was violating that spirit of the GPL by calling the library which is functionally equivalent to linking it (not that I blame you, and I'm sure everyone would agree that it's a fair use. And yet it makes me uneasy...).

      If an unscrupulous person from $EVIL_CORPORATION wants to use GPLed code, why don't they just write a small wrapper to segregate the GPLed code from their own using system calls like you did?

      Once again I'd like to say that I support the GPL and the spirit of collaboration that it fosters, but being noble and community spirited is not the same as being free (libre), and I wish people wouldn't call it that. If you want your code to be free, release it under the BSD license (or similar).
      --
      .evom ton seod gis eht
  26. Re:The GPL is Viral, deflection not withstanding.. by Dr.+Zowie · · Score: 2, Informative

    The GPL is not a restriction on code use, it is a restriction on code distribution. You don't lose the rights to your code simply because it invokes or uses another library.

    For example, dynamically linking to a GPLed library does not taint your code -- that is a separate piece of software that you code uses. On the other hand, if you distribute the GPLed library, you better also distribute the source code to it.

  27. Think "Poison", not "Viral" by msobkow · · Score: 2, Insightful

    The GPL is effectively a poison-pill license, not a viral license. It's saying that you can only write GPL code using a GPL base; a "viral" license would force the GPL on other code.

    For example, people use Apache code modules to support GPL projects and products. If the GPL were viral, the Apache code would have to be redistributed under GPL. The GPL is a poison-pill in that you couldn't take that GPL code and merge it in to the Apache code base; only the original author or their legal representative could submit that code under an Apache license.

    Of course if my understanding is wrong, then every web application out there running on Apache or using Apache libraries needs to rip out all GPL code or rip out all Apache code. Never mind all the other relevant licenses like Mozilla or BSD.

    --
    I do not fail; I succeed at finding out what does not work.
  28. The GPL restores and preserves freedom by crosbie · · Score: 4, Insightful
    More misconceptions:

    1. The GPL is designed to prevent commercial exploitation, and it does this by forcing companies who use it to publish their modifications.
    2. The objective of the GPL is to prevent the commercial sale of software in order to produce a gift economy in software development.
    3. Microsoft makes money by selling software. Making money by selling software is wrong. Microsoft is wrong. You can't sell GPL software. GPL software is better than Microsoft software.
    4. You shouldn't use GPL software unless you contribute to the community in some way.
    5. Any employee who discovers their employer has modified GPL software and hasn't published those changes should deliberately leak them.
    6. Hacking into websites based on GPL CMSes in order to obtain their unpublished mods is intrinsically ethical.


  29. Confused? Listen to RMS Tell You Then... by pfz · · Score: 2, Informative

    There is no question what the GPL says if you listen to RMS in the new documentary "Alternative Freedom"! He is not only the inspiration for the title, but also the most direct and to-the-point interview in the documentary.

    Check out: http://alternativefreedom.org/

    Documentary also features Lawrence Lessig, Danger Mouse (of Gnarls Barkey), and others...

  30. My only objection... by Milo_Mindbender · · Score: 3, Insightful

    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

    1. Re:My only objection... by Maskull · · Score: 3, Informative

      While dynamic linking to DLL's doesn't.

      No, dynamic linking counts, too. Both static and dynamic linking are considered creating a "derivative work". (The only exception is that the GPL allows linking if the library is something that is standard; e.g., distributed with an OS. So GPL'd Windows apps don't need to worry about linking to all the non-GPL DLLs that ship with Windows.)

  31. Re:Still I really dont like it. by truedfx · · Score: 3, Informative
    Unrestricted freedom includes not having freedom in itself, by definition it is a paradox.

    There's no paradox. Software with unrestricted freedom will always remain free, just as software under the GPL will. If Johnny uses libfoo in his closed-source project, this does not prohibit anyone else from using libfoo, improving upon it, and possibly even releasing changes. The original code is still available, even if Johnny keeps the parts of the code that he wrote himself closed.

  32. try a Venn diagram by spikenerd · · Score: 2, Interesting

    I've found that a Venn diagram helps a lot when people misunderstand the GPL.

    If you never let anybody see your work, you give away no rights: (dot in center)
    With a proprietary licence you give away this many rights: (teeny circle around it)
    With the GPL you give away this many rights: (slightly bigger circle around both)
    With the BSD you give away this many rights: (much bigger circle around them)
    If you dedicate it to public domain: (huge circle around everything)

    At this point the light seems to turn on for people and they say something like "You mean the GPL is closer to a proprietary license than the BSD?". That's when I know the confusion has finally been dispelled. Nothing annoys me more than people who are afraid of the GPL because they believe it will somehow take their rights away from them.

  33. Re:Still I really dont like it. by SWroclawski · · Score: 3, Insightful

    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.

  34. Neither harmful nor self-propagating by pavon · · Score: 2, Insightful

    I have never liked the term viral applied to the GPL, not because I want to hide the fact that you have to license your modifications under the GPL, but because it was deliberately chosen for its negative connotations, and isn't really an accurate description of how the GPL works anyway.

    The main criterion for something being viral is that it is self-propagating. It goes and injects itself into your body (or computer, or software) without permission. The GPL doesn't do this. You choose to use the GPL in exchange for putting your code under the GPL, or you choose not too.

    Secondly, viruses are almost always regarded as a negative thing. Not only does it sneak in behind your back, but it makes you sick, slows down your computer, brings networks to their knees and sends your personal information out to shady people. Neither I nor thousands of other free software developers consider releasing software under the GPL to be harmful to us.

    People have been burned by writing large pieces of software that used GPLed code in it, without understanding what their obligations under the GPL were until they had already made a significant investment into using it. It is a shame that those misconceptions occur, but it wasn't because the GPL tricked them into it. The FSF and other free software developers don't want to dupe their users into doing something that they don't want. We want them to make informed decisions about how they use their code.

    The use of the word viral to describe the GPL feeds off of misunderstandings to create the appearance of malice where it doesn't exist, and that is why it shouldn't be used.

  35. Re:Linking to a shared library? by kbmccarty · · Score: 4, Informative

    One question I've wondered about the GPL. If I write a program that links to a shared library that is GPL'd, do I need to GPL my application as well?

    There are two schools of thought on this, and the answer to your question is pretty hotly debated.

    The "stricter" school of thought, unsurprisingly the one favored by the FSF, is that statically or dynamically linking an executable to a library forms a work which can be considered a derived work of both sets of code. Under this theory, your application's source code doesn't have to be GPL, but its license does have to be compatible with the GPL since the linked work (app + library) taken as a whole is in part derived from the library and hence must be under the GPL. For instance, your app's source code could be licensed as LGPL or two-clause BSD in this situation with no problem, but could not be (for instance) CDDL or 4-clause BSD. Most Linux distributions follow this stricter, more conservative view.

    On the other hand, it has been pointed out that this strict interpretation can sometimes lead to a peculiar conclusion. Suppose a work-alike copy of a GPL library is written from scratch and licensed permissively. Then a program linked against the GPL lib could also be used with the permissive library that forms a drop-in replacement. The strict theory of linking then implies that the license of your application is GPL if the GPL library is on your system, but not if the replacement library is instead. If this is not an acceptable conclusion, then it must be that dynamic linking against a GPL library does not make the application be under GPL as well.

    This looser interpretation effectively defangs the GPL and makes it essentially equivalent to the LGPL, because anyone could change GPL'ed code they want to use into a shared library, then link their proprietary application against it.

    Note that the interpretations differ only in the case of dynamic linking. When an application is linked statically against a GPL library, parts of the library object code end up in the compiled executable and therefore this is indisputably a derived work of both application code and library, hence under GPL. Proponents of the strict interpretation point out that from an end-user's viewpoint, there is no difference between static and dynamic linking other than the "-static" flag given to the linker, so the two methods of linking should not be legally distinguished either.

    To the best of my knowledge (IANAL) there isn't any legal precedent favoring either interpretation.

    --
    - Kevin B. McCarty
  36. Re:Still I really dont like it. by rhedin · · Score: 4, Insightful
    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).

    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.

  37. The biggest misconception of all ... by argoff · · Score: 3, Insightful

    ... 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.

  38. Re:Still I really dont like it. by penix1 · · Score: 3, Interesting

    If you want me to respect your closed license, then you can damned well respect my free one. It isn't too much to ask that if you distribute code I wrote, to distribute those changes you made to it so I can learn from them. That is the reason I release code. It isn't to make money. It isn't to gain fame. It is to learn from others as they learn from me. It amazes me the amount of bitching about this simple concept. It amazes me more that there are morons out there trying to pressure others to allow the closing of code in a free software environment. Doesn't sound very free to me. If you don't like the GPL then don't use it. There are a multitude of other "open source" licenses out there. /soapbox

    B.

    --
    This is a sig. This is only a sig. Had this been an actual sig you would have been informed where to tune for more sigs.
  39. Re:Still I really dont like it. by mmeister · · Score: 2, Insightful

    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.

    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 resent the notion that I'm simply trying to "steal just a little bit". My point, which you obviously missed, remains that you either have to subscribe to it 100% to participate in any way.

    If I take a piece of code, make it better, return that change to the OSS community, I still can't use it in my software without make it GPL as well. So now that leaves ME at a disadvantage because there is no proportionality to the give and take. Because of that, I just avoid that game all together. At least the LGPL offers a more reasonable solution, in that sense. Sadly, it has the stigma of GPL with it. This ALL or NONE of GPL makes it more cult-like than many are comfortable with.

    The fact that the "myths" are trying to be discounted shows that the GPL community wants to go mainstream, but like a certain political party, it feels that the idea of bringing the two groups together is for the other side to simply join them where they stand.

  40. Calling it "viral" is misleading by Sloppy · · Score: 2, Insightful

    The reason "viral" is inappropriate and doesn't make sense, is that all other uses of the word "viral" in the history of the word, mean something completely different. A virus infects other, unrelated things.

    This new, radical concept of "viral" invented by Microsoft, is talking about infecting a derived work. Well, guess what: if you make a derived work of almost any of Microsoft's products (such as, say, Microsoft Windows itself), your derived work is going to be even more restricted. In fact, it's probably flat out unauthorized and could get you sued.

    Yet MS Windows doesn't get tagged as "viral" even though its license is infinitely more restrictive. Did the same person who called GPL "viral" call his own product "superviral to the point of lethal?" No. Did he say, "it's viral, but less viral than 99.9% of the software out there?" No. It's pretty damn obvious that the word is intended to be merely pejorative without being an enlightening or accurate analogy. If GPLed software is less "viral" than 99.9% of the software out there, then applying the word as though it were somehow distinctive and unusual, isn't intellectually honest.

    --
    As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
  41. GPL violations against the smalltime developer by SashaM · · Score: 2, Interesting

    Tangentially en topic, but this is a good chance to post my article which slashdot has rejected twice now:

    I am the developer of Jin, a client for chess servers, licensed under the GPL. About 6 months ago I was contacted by the Internet Chess University, asking for a commercial license for Jin. After negotiations failed, IChessU decided to nevertheless use Jin, but did not release the full source code of the client they built. I have contacted both the FSF and the EFF, but they were unable to help me because they are not licensed to practice law in Israel (both I, and the owners of IChessU are Israeli). I have no intention of dropping the issue, but I am now stuck with paying a lawyer out of my own pocket, which is very limited. Read the whole story.

    The question is then, what kind of protection does the GPL really give the small-time FOSS developer, who can't afford fancy lawyer to enforce it? What does this mean for such developers?

  42. Re:Linking to a shared library? by Sloppy · · Score: 2, Informative

    You have to decide or research the answer to this question (which is a question about copyright, not the GPL): does calling other software's functions, cause the caller to be a derived work?

    If your lawyer says Yes, then yes, your app that calls OpenSSL is a derived work of OpenSSL and you are subject to its terms. The good news is that every single application that runs on MS Windows and MacOS (assuming the app does any I/O or allocates any memory) are derived works of those OSes, so you're still at a tremendous advantage. Almost the whole software industry is about to go out of business while tied up in courts for the next few decades, and all you have to worry about is pleasing the OpenSSL guys. You've got it made. On the other hand, you're at a disadvantage because you have a dumb lawyer who told you something utterly preposterous.

    If your lawyer says No, calling a function does not cause the caller to be a derived work, then OpenSSL's license is irrelevant because you're not bound by it. It doesn't matter whether or not OpenSSL says you have to release your code under GPL, because -- who asked them? You're not trying to do anything that causes you to want to get any sort of permission from them.

    --
    As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
  43. Re:You described the goals of the LGPL, not the GP by nurhussein · · Score: 4, Insightful
    By a developer making his libraries "free" only under the GPL (and not a more free license like the MIT/BSD or even LGPL), then he's forcing anyone that wants to use this shiny tool to also make their software free under the same restrictions. That is why the GPL is "viral" -- not because it "infects" any software that it is stored next to -- but rather because GPL code is useless unless you're working on other GPL'd code.
    I hate to tell you this unhappy truth, but the way the world works is that you can't distribute the copyrighted works of others without their consent. If that consent comes by the terms of the GPL, you just have to honour it. The GPL does not preclude you from obtaining their consent for redistribution under another license by explicitly contacting them, nor does it force you to somehow lose your copyright and licensing rights on your own code. Even when you violate the GPL by distributing a derivitive work under a proprietary license, you *STILL OWN THE COPYRIGHT* on the portions of code you wrote. What you *can't* do distribute the portion of code which *DOES NOT BELONG TO YOU* under the terms of another license. Sure, you are "forced" to follow copyright law in this respect, but is it really as unreasonable as you're tring to make it sound? After all, nobody is forcing you to use the GPLed code in the first place.

  44. Re:You described the goals of the LGPL, not the GP by DamnStupidElf · · Score: 2, Interesting

    By a developer making his libraries "free" only under the GPL (and not a more free license like the MIT/BSD or even LGPL), then he's forcing anyone that wants to use this shiny tool to also make their software free under the same restrictions. That is why the GPL is "viral" -- not because it "infects" any software that it is stored next to -- but rather because GPL code is useless unless you're working on other GPL'd code.

    The GPL is perfect for entire systems of code, since that's exactly what you want. If you're extending GPL software, the extensions should remain GPL. Your last claim is false, because almost every GPL compiler does not apply the GPL to its output. You can compile non-GPL software with gcc, and so long as you don't actually incorporate GPL libraries into your work, it's yours to do with as you please. There are two possibilities if you want to use GPL code in a non-GPL work: The GPL code makes up a small portion of the overall work and you can just rewrite the functionality yourself, or the GPL code is a large enough portion that you can't feasably rewrite it. In the latter case, you have to ask yourself whether it would be fair to the authors of the GPL code to release a non-GPL work that consists mostly of their work.

    I've always been amazed at the fact that people consider their programs to be their own special property when in reality they are building on 60 years of research in computer science into compilers, languages, operating systems, and algorithms that is completely freely available to them. My opinion is that we are now at the point in computer science where any software development short of strong AI is merely a small incremental improvement on those years of research, and that it's absurd to assign ownership of a software project to the last person to tack something on to it. Can anyone claim that they have put more time and effort into their own software projects than the collective work done in building all the GPL software that's available? Even the biggest commercial software projects in history are beginning to be dwarfed by the total contributions to GPL software.

    Sometimes the GPL feels about as enjoyable as enforced communism to me.

    If you don't like it, lobby for reasonable copyrights and patents. If the law was reasonable, the GPL would be unnecessary. As it is, the BSD style licenses are abused by companies who take open work, modify it and copyright (or patent) it so no one else can use the simple incremental improvements for 95+ years. Make software equivalent to mathematics like it should be, so that every improvement can be freely shared. This doesn't mean that commercial software must fail, it simply means that data structures and algorithms should be recognized as mathematics. Windows won't suddenly be freely available or unmarketable because they have invested time in creating actual copyrightable works like images, documentation, fonts, etc.

    It's just that something more along the lines of the LGPL would be my license of choice when creating a tool that I want to be available and free and useful to others for many years to come.

    The LGPL is specifically for libraries because it makes sense to allow people who may not have a choice in development licences to be able to use it. The reason it arose is mostly a technicality of how modern compilers and software development work. Technically, you can use any GPL program you want within your non-GPL software, but you have to do it without actually linking against it (which pulls copyrighted macros and inline functions from header files). Feel free to run a Linux system full of GPL software in a closed virtual machine and control all the input and output to the system so that it appears the VM is completely your software, but you'll still have to distribute the whole Linux system and source along with it.

    I still think the GPL is proper for any stand-alone application simply because it prevents companies from building an interface around the

  45. Re:Still I really dont like it. by burnin1965 · · Score: 2, Interesting

    "I still feel that by choosing GPL I am giving up my freedoms as a developer."

    What freedoms as a developer?

    You still own the copyright to your code, any modifications by 3rd parties are given back to you, so what have you given up?

    Or perhaps you are refering to the freedom to charge an inflated price to license the binaries compiled from your source and reap a massive profit margin, but you may need to consider the licensing of all closed source proprietary software and libraries you utilzed to make your closed source application, you may own less of your application than you thought.

    Also realize that the freedom given to you to use the GPL Spices to create your own recipe does not give you the freedom to steal the GPL Spices for your own profit. If you don't want a GPL recipe then don't use the GPL Spices, that is where the freedom exists, choice.

    Theivery is a crime, not a freedom.

  46. some counter arguments. by JDizzy · · Score: 2, Interesting

    When I was working for Be Inc. as a tech support guy, my co-worker developed a 3com 3c509 driver based on Donald Becker's GPL Linux driver. BeOS users suddenly had something very useful, a driver working in BeOS that thought it was talking to a Linux kernel, but the wrapper made it interface with the BeOS network server. Anyway, long story short, the GPL is viral, as Be Inc. started to receive emails from the FSF about the driver download. Apparently Be Inc. would have to GPL the BeOS kernel to use the driver, or that was according to the Be Inc. legal dept that forced us to take down the driver+wrapper kit. I read the email exchange, and RMS himself was involved in the process. So point one is apparently the authors attempt to change history or something, not sure. Fact is the GPL-left version was designed to work-around the viral aspects of the license, so you can link to gpl libraries, etc... to not have to be gpl yourself (the code linking into gpl lib's).

    In response to the 3rd point, about the price of GPL-ware, and freedom. Let me be clear, the GPL is a license, which outlines restrictions. The word restriction, and freedom seem almost mutually exclusive except in terms of establishing the contrast of each other. Aka the provision is the GPL about how you MUST provide the greedy original author with your cool enhancements is a restriction of the GPL, not a freedom it provides. The price of the GPL is a non-issue, as I just showed how the gpl is not free, as in freedom, and the author of point three points out that the GPL does not guarantee free as in "free lunch, free beer" (aka price).

    Point 9 is funny. When BSD code is assimilated into the GPL I notice that the BSD clause of always attributing the author is mostly ignored, and even replaced (many times) with the GPL-ware authors name. So complaining about not having the entire GPL license in each and every file header is a joke. Of course this is a case by case situation, but really, the common case is that the GPL licensed project typically has a person who takes other peoples enhancements, by force of license, and represents them as their own without attributing the original (patch) work to the contributing author.

    People, there is a better way for you to contribute code to the world. The BSD way! In short, and without starting a bikeshed flame war, the BSD way doesn't care about restricting you by the license, except to not steal the fame for the code, aka give credit to who you accept BSD licensed code in your project, and who cares if you are commercial project, or philanthropic. Freedom should always win over greed.

    --
    It isn't a lie if you belive it.
  47. Re:Still I really dont like it. by Tweekster · · Score: 2, Informative

    Absolutely not.

    It requires the person you hire to change the code, to give you the code.

    You never, under any circumstances have to give changes back to the original project or for that matter, anyone that didnt recieve the binary. The only person that the binary was distributed to was me, which means I must also recieve the code changed code. Obligation met.

    If there is only one person the modification is "distributed" to, there is only one person that code must be given to.

    --
    The phrase "more better" is acceptable English. suck it grammar Nazis
  48. Re:Misconception 11 by SLi · · Score: 2, Interesting

    I am curious about how this "derivative work" applies to the Linux kernel, since it is under the GPL. I am not completely familiar with the kernel's behaviour, but doesn't it mean that if I were to make any calls to the Linux kernel, this could be seen as similar to linking into a dynamic library? And anything up the call tree is also under the GPL. How can commecial software be created without using the LGPL for the Linux kernel?

    The commonly accepted (but untested) theory is that the API provided by the kernel is so narrow and well defined that using it doesn't create a derivative work of the kernel. I too can see that this might be a problem, even more so in the case of embedded devices where essentially the "software" is the kernel + a binary. To me it seems that it shouldn't make much difference (legally) in that case whether you hard code your application in the kernel or use a binary; it seems to me that the result is in any case a binary "firmware", essentially a single program that controls the device, not two very separate things (the kernel and the userland).

    Another common argument is that the kernel developers themselves have stated that merely using the provided syscalls is not creating derived works. If they were the sole owners of the copyrights, it would of course be in their power to make that decision. However incorporating 3rd party GPL code that didn't originate from the kernel makes this case more interesting, as the kernel developers no longer have the authority to make such "exceptions" to GPL.

  49. Re:Still I really dont like it. by SWroclawski · · Score: 2, Informative

    I resent the notion that I'm simply trying to "steal just a little bit". My point, which you obviously missed, remains that you either have to subscribe to it 100% to participate in any way.

    Your feelings of resentment aside, the idea that you would use code that, I wrote in a way that I don't intend is wrong. Stealing is a loaded word, but it sure is freeloading.

    If I take a piece of code, make it better, return that change to the OSS community, I still can't use it in my software without make it GPL as well. So now that leaves ME at a disadvantage because there is no proportionality to the give and take. Because of that, I just avoid that game all together. At least the LGPL offers a more reasonable solution, in that sense. Sadly, it has the stigma of GPL with it. This ALL or NONE of GPL makes it more cult-like than many are comfortable with.

    If that's what the original creator intended, then they (the author) and you have two choices.

    The first choice is that the original author may use another license than the GPL. If it's software where they want this sort of arangement, they might use the Lesser General Public License (the LGPL), which is designed exactly for the sort of thing you're pointing out.

    Or, if this is really important to you, you could go to the developer and propose to make you a special licensed version of the program, just for you. I'm a Free Software developer (though not a prolific one) and if you said you wanted to use my code in a proprietary project, but that you agreed to improve anything directly related to it, I'm sure you and I could come to an arangement that would involve this contract in writing and compensation (which would allow me to write more Free Software).

    I can't speak for everyone, but I think many folks would find this aragement acceptable.

    The fact that the "myths" are trying to be discounted shows that the GPL community wants to go mainstream, but like a certain political party, it feels that the idea of bringing the two groups together is for the other side to simply join them where they stand.

    Without getting too much into actual politics here, compromise is one way of trying to gain acceptance of an idea. The other is to hold one's ground and wait for people to come around to your ideas. If you look at how much ground the Free Software community has gained in the last 20 years, I think it's hard to deny that this method, though slow, is working.

  50. A clear statement about GPL virality by Morgaine · · Score: 4, Informative
    Saying the GPL is not viral does the opposite of clarifying. This is no way to remove uncertainty.
    That's very true.

    It's very easy to make a clear statement about GPL virality, so I really don't understand why the interviewees didn't take the opportunity to do so. Here's my off-the-cuff attempt at an explanation:

    • The GPL intentionally creates virality through the mechanism of program derivation (defined below); a derived work must then also be licensed under the GPL if it is to be distributed.
    • The GPL specifically refrains from any virality through aggregation on media or through simple proximity to other programs within any form of container, virtual or otherwise.
    • The GPL is a distribution license, and not a usage license. It guarantees downstream developers the availability of source code whenever a GPL-licensed program reaches them. It is not viral through simple usage of a program under any circumstances. (At least in theory, but see below.)

    Unfortunately, a nice simple summary like that doesn't carry the whole truth.

    The problem is that the derivation of programs carries a double semantic under the GPL, and this is the source of endless debate and discontent because it is partly inappropriate in a distribution license.

    One of the two meanings of derivation relates to physical modification of the original GPL source code to create a new ("derived") work through the process of code extension. By any rational assessment, this is a self-evidently fair provision, in that if you take someone else's source code and modify it in some way, then your new program is derived by ancestry. and thus quite reasonably should inherit the license of its progenitor.

    In contrast, the other meaning relates quite illogically to *using* GPL'd library code through linking to it, despite having made no modification whatsoever to that GPL'd code. This could make sense in a usage license (which the GPL is not, in theory), but it is quite out of place in a license dedicated to protecting the availability of the original source code and any modified versions thereof. That semantic is clearly in the license "for other reasons".

    Remember the discredited attempt by some content providers a few years ago to equate web links and the content to which they point as being one and the same thing? We "obviously" knew that that was ridiculous at the time, yet the GPL tries to claim that linking for usage is the same thing as copying the source for derivation by extension. It's "obvious" that this is incorrect, and that therefore the client application should not become affected virally. There is no derivation by ancestry, so by what mechanism is the license inherited? Well the answer is that it's not inherited --- instead the new, non-derived client code has been tainted by usage.

    This second semantic has no business being in the license at all, because consistency would then require us to taint everything else that comes into contact with GPL code through simple USAGE, and that includes web applications. Usage is usage, you can't make arbitrary exceptions to it without totally undermining your platform of logic.

    It's quite a mess. Maybe we need a good chat with Eben Moglen; I think he'd understand the problems inherent in tainting by usage very clearly.

    So you see, those 3 paragraphs don't really tell the whole story. Still, they certainly define GPL virality a lot better than the article did.
    --
    "The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
  51. Re:The GPL is Viral, deflection not withstanding.. by Bing+Tsher+E · · Score: 2, Interesting

    Well, adding a small amount of IBM or Apple or Microsoft's code into your source code makes your entire source code 'illegal' in just the way the GPL'd code is illegal. It's just that the 'punishment phase' of the violation of the GPL'd code's copyright is to release your source code. You can also opt to cease all distribution of your binaries instead **. There isn't an established legal 'camel's nose under the tent' precedent that prys open big repositories of code as a mandatory action just because a little snippet of GPL'd code was included.

    (** there are probably ogres and activists and even lawyers who will instead try to coerce you into 'releasing the source code.' )

  52. Re:it's impossible to use GCC then by swillden · · Score: 3, Insightful

    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):

    As a special exception, if you link this file with files compiled with a GNU compiler to produce an executable, this does not cause the resulting executable to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the executable file might be covered by the GNU General Public License.

    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.