Hacker News new | past | comments | ask | show | jobs | submit login
I Love the GPL (Except When it Applies to Me) (teddziuba.com)
29 points by blasdel on Jan 3, 2010 | hide | past | favorite | 45 comments



I'm constantly struck by just how much of a turd the AGPL is -- it's a baldfaced EULA! It takes a huge leap beyond what is enforceable via straightforward copyright law and wallows right into the deep end of clickwrap licenses (the GPLv3 bullshit at least still hinges upon distribution).

With all other FOSS licenses, it's lazy bullshit to use them in the LICENSE field of your installer maker -- I absolutely do not have to accept the terms of the GPL to use your software, it's right there in the text of the license, so don't you dare make me click an 'I accept' checkbox.

With the AGPL it's absolutely necessary to do this, because I don't actually have The freedom to run the program, for any purpose

The RMS of twenty years ago would have never approved of such a thing, that he has lent it the imprimatur of the FSF now is testament to his intellectual bankruptcy.

The AGPL will never ever succeed. It will only ever be used by egotistical idiots and dying companies that wish to sear a scarlet letter into their code -- noone but I may profit directly from this work -- as you still retain copyright by default. Is the AGPL transitive across the network the way the GPL is by linking? It seems to me like either answer would show how poorly considered it is as a license.


I don't understand the ferocity of your opinion about the AGPL. Its objectives are reasonable: "don't use my software as part of a closed-source commercial web app".

Virtually every piece of commercial closed-source software is distributed under terms that are strictly more restrictive than the AGPL, and the AGPL's objectives are --- unlike those of commercial vendors --- benevolent.

Finally, licenses aren't in competition. They're just tools. You use the one that supports your objectives.


I'm not sure how I understand how a commercial license is "strictly more restrictive" than the AGPL, which requires that you also release your code under the AGPL. Whether or not it's "strictly more restrictive" rather depends on whether you want to also release all the source to your own code as well.

I also don't understand how the AGPL's objectives are "benevolent" when the primary purpose of those objectives as applied by commercial interests is to ensure a revenue stream via commercial license.

You yourself said: "GPL-style licenses make it harder for competing companies to use your code. GPL is therefore an easier sell inside of a company."

How is that benevolent? (charitable, intending or showing kindness).


Commercial license: not only do you not have the right to use my software without accepting my terms, but you will pay me, probably per-core. That's strictly worse than AGPL.

You and I may be arguing at cross-purposes. You seem to care a lot about the hardships licenses create for software users. I couldn't care less. I think it's an inherently benevolent thing for a software author to give away her code for free, and if she wants to do that under a strict copyleft... her code, her terms.

The objective of the AGPL is reasonable. "Don't use my code in closed-source applications". As a developer, that term has been annoying on many occasions (shudder readline), but it has never seemed unfair.


I'm surprised at the appeals to emotion engendered in your word choices -- "fairness" and "benevolence".

I don't think either applies. The GPL is primarily useful as a means to maintain a very specific business model that relies on selling commercial licenses. There's nothing moralistic or benevolent or "fair" about it -- it's simply business.

The only moral argument I could possibly make is that it's disingenuous if not outright hypocritical to claim that the GPL is about "freedom" when its used as merely a business tool that leverages the closed-source work of others to fund ongoing development.


I agree that the GPL is primarily useful as a vehicle for making money off software that is also released as open source. Since open source commercial software is strictly better than closed source commercial software, I don't have a hard time using words like "benevolent" to describe that practice.

Remember, people can still compete with GPL/AGPL software. They just have to do it with open source code.

Finally, your third graf is profoundly disingenuous. Most GPL software is noncommercial. Everything we use to post on HN is traceable in some way back to GCC, which isn't making money for anyone.


I agree that the GPL is primarily useful as a vehicle for making money off software that is also released as open source. Since open source commercial software is strictly better than closed source commercial software, I don't have a hard time using words like "benevolent" to describe that practice

I'm not sure I understand your use of "strictly better" here. If my goal is to solve a specific problem, then isn't the software that solves that problem the best strictly better software?

As far as benevolence, why ascribe primarily altruistic motives to clear business decisions? MySQL's use of the GPL allowed for pervasive adoption, which increased demand for commercial licensing and support services.

Finally, your third graf is profoundly disingenuous. Most GPL software is noncommercial. Everything we use to post on HN is traceable in some way back to GCC, which isn't making money for anyone.

How do you think GCC development is paid for? Just take a look at the (closed source, proprietary, et al) companies providing the primary funding ongoing GCC development (although many are moving to or looking at LLVM, since its licensing provides a better model for this sort of shared OSS funding).

It always comes down to money and either commercial interests or government funding.


I think you and I are wasting time. You care about making things easier for software users. Software users don't make more software; software authors do. I care about the interests of developers to the exclusion of almost everything else, and I'm also simply not religious about the tools they use to accomplish those aims.

The business benefits of the GPL are so compelling that I don't think they need my cheerleading. If I write 50,000 lines of C code, and you want to stick that code in your $10,000 software package and not pay me a dime, the GPL (for the most part) keeps you from doing that. Total win.


I think you and I are wasting time. You care about making things easier for software users. Software users don't make more software; software authors do.

Actually, I think "users" should pay for software as that's all they're able to contribute, and I don't think that the GPL dual-licensing model users by some enterprise vendors can actually work for most consumer software.

If I produce developer-oriented software that's outside of our core business -- but perhaps enables our core business -- I am very likely to release it under the MIT/BSD license to help aid in wide adoption and external contribution from funding business interests.

If I produce software that is our core business, then I won't MIT/BSD license it. I might GPL it, but only if there's a clear value (ie, leveraging the 'open source' name, aiding in widespread adoption by hobbyists while targeting enterprise users, etc) in doing so.

The business benefits of the GPL are so compelling that I don't think they need my cheerleading.

The benefits are only compelling for --some-- business models. And this doesn't disprove the author's point.

As for other business models, especially around commoditized software, the BSD license often provides the most compelling business benefits as corporates are free to pool resources on code they are free to link against without having to release the entirety of their products under a copyleft license.


  The RMS of twenty years ago would have never approved of such a thing, that he has lent it the imprimatur of the FSF now is testament to his intellectual bankruptcy.
I doubt he approves now. I've not been able to find a single essay or even email from him regarding the AGPL, which is interesting considering his standard evangelism regarding other licenses. And he regards SaaS as non-free, regardless of whether the source is available.

  Is the AGPL transitive across the network the way the GPL is by linking?
There's no legal precedent (that I know of) for the GPL being transitive across dynamic linking, and if it is, that opens a number of legal problems when linking with Free implementations of proprietary APIs. Static linking is, of course, still covered under standard copyright.

From my non-lawyer reading of the AGPL, it does transit between processes and systems because it covers the output of the application.


his public silence is odd -- but given that the GPLv3 contains a clause explicitly granting an exemption for use with the AGPL, and the degree to which the FSF is essentially an extension of his person, he must approve in some sense.


While making a diff of the AGPL version 3 and GPL version 3, I can't see the point where you are not allowed to run the program. Can you point us to the respective part of the text assuming that fact?

Another important point, the AGPL or GPL license is applicable (not at the execution) only when you are distributing (conveying) the software. The AGPL is just an extension of the distribution nothing to do with the execution of the software.

diff -u gpl-3.0.txt agpl-3.0.txt

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    -    GNU General Public License for more details.
    +    GNU Affero General Public License for more details.

    -    You should have received a copy of the GNU General Public License
    +    You should have received a copy of the GNU Affero General Public License
     along with this program.  If not, see <http://www.gnu.org/licenses/>.

    Also add information on how to contact you by    electronic and paper mail.

    -  If the program does terminal interaction, make it output a short
    -notice like this when it starts in an interactive mode:
    -
    -    <program>  Copyright (C) <year>  <name of author>
    -    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    -    This is free software, and you are welcome to redistribute it
    -    under certain conditions; type `show c' for details.
    -
    -The hypothetical commands `show w' and `show c' should show the appropriate
    -parts of the General Public License.  Of course, your program's commands
    -might be different; for a GUI interface, you would use an "about box".
    +  If your software can interact with users remotely through a computer
    +network, you should also make sure that it provides a way for users to
    +get its source.  For example, if your program is a web application, its
    +interface could display a "Source" link that leads users to an archive
    +of the code.  There are many ways you could offer source, and different
    +solutions will be better for different programs; see section 13 for the
    +specific requirements.

    You should also get your employer (if you work as a programmer) or school,
 if any, to sign a "copyright disclaimer" for the program, if necessary.
    -For more information on this, and how to apply and follow the GNU GPL, see
    +For more information on this, and how to apply and follow the GNU AGPL, see
 <http://www.gnu.org/licenses/>.
    -
    -  The GNU General Public License does not permit incorporating your program
    -into proprietary programs.  If your program is a subroutine library, you
    -may consider it more useful to permit linking proprietary applications with
    -the library.  If this is what you want to do, use the GNU Lesser General
    -Public License instead of this License.  But first, please read
    -<http://www.gnu.org/philosophy/why-not-lgpl.html>.


Clever of you to use diff!

The AGPL is only an extension of the distribution constraints as far as the strings embedded in the program are covered by copyright. It can't use distribution as an enforcement boundary for the code, which never gets sent to the user.

The AGPL has everything to do with the execution of the software. That is its entire purpose! I am not allowed to run the software unless all parties providing it input can get its source, with an advertising clause. Anyone bound by the license does not have Freedom Zero.


If I understand correctly, the issue you see is not related to the AGPL version 3 only but also to the GPL version 3 as the "2. Basic Permissions" are shared between the two licenses. Could you point us to the specific section or sentence disallowing the freedon #0?

Regarding the "enforcement boundary", the AGPL is more there to not abuse the "private use" ("not conveying") of a free software as described here :

http://www.gnu.org/licenses/gpl-faq.html#UnreleasedMods

In AGPL, You can run the software but if you make it accessible to end-users via a public network in a interactive way, this is considered as conveying.


I don't agree with the trash talk on the AGPL in these comments to the original article. I would like to see fewer open source licenses: in my opinion the Apache 2, LGPL 3, and AGPL 3 would suffice since I am not that clear why Apache 2 and BSD styles licensed projects just couldn't be Apache 2. That said: creators should obviously have the only say in what license they choose to use.

I know someone who has a small AI + semantic web company, they use the AGPL, and I think that they are doing OK. The trick is selling a "commercial use" exception.

Also, my understanding is that if you use AGPL code in a web service, then you need to make the entire web service implementation AGPL. However, other systems that use the newly created AGPL web service do not need to be AGPL - if I am wrong about this, I would appreciate being corrected.


"I am not that clear why Apache 2 and BSD styles licensed projects just couldn't be Apache 2."

    $ wc -w isc apache
    192 isc
    1395 apache


I don't get his point. Does he think copyleft is a good ideal failed by the specific personalities of the current maintainers, or a flawed dream unable to survive in the reality of the economic marketplace? The essay feels unfocused and disorganized.

Now, I'm an open-minded child of the modern age and I don't agree with the oppressive old-fashioned idea that every essay must have a point. And truthfully this piece does bring up some interesting food for thought (the SaaS loophole). But it is nothing we haven't heard before, with less juvenile tone.


My reading was that he was presenting the GPL as an inherently flawed dream unable to survive in the reality of the economic marketplace. In succeeding in market adoption, the proliferation of the GPL actually leads to its own failure due to its knocking the legs out of most of the higher-margin business models required to fund the R&D necessary to produce software.

That might also be my own bias showing.


> Free Software: I found a loophole in my student loan documentation that lets me defer payments for decades, so long as I stay in the Ph.D. program!

I'm sure Stallman and the like who have given their whole life to free software will appreciate. Meanwhile, this guy hasn't done much and yet not only complains about free software while using them but also calls them lazy at the same time. Shameless.


I have no idea what his point is, but from a software business perspective, the difference between BSD-style and GPL-style is simple: GPL-style licenses make it harder for competing companies to use your code. GPL is therefore an easier sell inside of a company, because it gives the software owner special rights over the code.


In contrast, as a company looking to use and contribute to open-source software, BSD licensed code is an easier sell because you aren't locked to purchasing a commercial non-OSS license from the copyright holders (see: Oracle/Sun/Monty regarding MySQL).


Yes, the BSD license sure is better for software users. You can lift a BSD package wholesale into a new white-label product, and you don't even have to tell the author! That sure is convenient.

You use the BSD license when you don't care about the commercial value of your code. But, for the most part, I think using the BSD license means you're not going to care about the commercial value of your code, because if it's valuable, people will freeload.

In my industry, the GPL has done a servicable job protecting some key software projects (Snort, Nessus, Wireshark). The counterexamples (notably Metasploit) are utterly dependent on the continued effort of the original authors --- Metasploit goes stale faster than almost any other security tool.


Yes, the BSD license sure is better for software users.

It's also better for software contributors who want to leverage the code in their own products, and use the resulting revenue to contribute back their changes (but not their entire product).

But, for the most part, I think using the BSD license means you're not going to care about the commercial value of your code, because if it's valuable, people will freeload.

Some people will free-load. Many won't. Look at the Apache project, where a vast majority of development is funded by corporations using the software in their closed source products while contributing improvements back to the original product.

In my industry, the GPL has done a servicable job protecting some key software projects (Snort, Nessus, Wireshark).

How do you define "protecting", and what evidence would you use to demonstrate that protection? What would you say those projects were protected from?


In the case of Snort, that would be protection from 5-10 VC-funded commercial companies releasing products that compete with Sourcefire's product, the core of which (in fact, the entire v1.0 of which) is simply Snort. Does that sound fair to you? That someone would collect $5MM to build a 30 person engineering team that gets to start picking off customers in 3 months by repackaging your code? It doesn't sound fair to me at all.


As I said below, I'm surprised by the emotional arguments engendered in your word choices -- "fairness", "benevolence", etc.

This is simply business, not ideology. In terms of ideology, I think there's a simply check for whether Sourcefire meets the criteria of "I love the GPL. Except when it applies to me": Sourcefire could not ever include anyone else's GPL code in their own product without breaking their business model.


And? So what? Sourcefire isn't scavenging Github for code to stick on their boxes; they're writing code, and then (for the most part) publishing it to the world.

From my vantage point, it's the people who produce interesting and valuable code whose interests should come first. Companies who reallllly want to use that code in their for-profit endeavors can buy a license or build their own replacement or open their code; I don't care.


I'm not sure what your point is, or how it counters the author's original point, which is that what's good for the goose is very much not good for the gander.


"You use the BSD license when you don't care about the commercial value of your code."

That sounds almost as ridiculous as someone saying:

"You use the GPL license when you want to scare off anyone else interested in using your code."

Seriously, though, there are a dozen examples with the code that runs GitHub to dispute your statement.


What are the examples you're thinking of?


Anybody who believes the GPL was invented to coerce users into sending patches ought to have their head examined.


The GPL was invented to leverage network effects to win in the market place, ensuring an exceptionally high entry barrier to non-GPL market entrants (a natural monopoly) should the GPL be successful in this goal.

It hasn't won in the market place -- and it won't -- primarily due to the fact that the coupling between funding and licensing is so indirect -- it's very difficult to earn a high margin on writing GPL licensed code, and most revenue models require an indirect and complex approach to earning money from the software without charging directly for the software itself.

(Yes, you can charge for GPL software. No, that's not a sustainable business model. No, RedHat is not a counter-example. RedHat charges for support and their trademarks, not the software itself, and in doing so appeals to a very specific niche enterprise market.)


Not a sustainable business model according to who?

http://news.ycombinator.com/item?id=211736

Red Hat is a cop-out example. Why not talk about SourceFire, Sleepycat, Splunk, Hyperic, Zimbra, and Astaro? These are all companies that sell software, GPL their code, and are (or were, before lucrative aquisition) extremely successful. SourceFire IPO'd off their GPL package; the company's name comes from the fact that they're open source.


Why not talk about SourceFire, Sleepycat, Splunk, Hyperic, Zimbra, and Astaro

All selling services and products around a very specific type of software, selling to a very specific market niche, leveraging both trademarks and non-GPL licensing to do so.

They're not selling the GPL software itself.

Take your Sourcefire example. They fund development by selling proprietary hardware and proprietary licensed IDS rulesets under trademarked names to an enterprise market niche.


Who isn't selling specific software to specific niches? Your choice of license isn't going to make you any more successful with a new word processor.

It's also not true that all successful open-source companies sell to enterprises. Tenable sells Nessus to consultants. Sleepycat sold Berkeley DB to OEMs and developers. Automattic certainly doesn't sell Wordpress to enterprises.


You're introducing a logical non-sequitur. That there is a niche isn't the issue, it's what the niche is.

Enterprise services.

The fact that they're also not actually selling GPL software (ie, an indirect business model), this all doesn't really disprove my point -- or the original authors.


I might not agree with the GPL, but I'm pretty sure that the intent behind it is to encourage people to contribute back to the open source community (even if not by directly sending patches).


The intent is to require source contribution downstream.

Any encouraging of upstream communication comes from the difficulty of keeping up with a fork and the knowledge that most code is a liability not an asset. The GPL only pushes you that way indirectly.


Not just source contribution, but also the contribution of new GPL applications. I've written a couple of apps which are licensed under the GPL, not because I necessarily thought it was the best license for me, but simply because I wanted to use a GPL library. Had the library I wanted to use been some other license, my app might have been some other license. But it wasn't and now there is one more GPL app.

Of course there is the other side of the coin where I haven't used a library I really wanted to use because I couldn't GPL my app.


No. Look, it's right there in the preamble. First two sentences...


I can't tell whether the angry/swearing diatribe tone is a dramatic effect or just lack of creativity/intelligence on behalf of the author.


And his assertion about license proliferation is certainly not correct ref http://www.blackducksoftware.com/oss/licenses#top20


That is interesting, thanks. I did not realize how few projects use the AGPL.

One problem with the AGPL is that it seems to work for projects that are totally owned by one individual or company because there is a clear stratgey for supporting alternative commercial use licenses with no software distribution requirements. If alternative use licenses are low cost for received value and if the commercial license passes corporate lawyer scrutiny, all is good.

The big problem with the AGPL is projects with multiple contributers - makes a paid for commercial license difficult.


Except, is that chart of how many projects use each license, or how much much use software with those licenses sees? Those could be very different. But ups for commenting on the substance rather than the style.


Both Blackduck and Gartner Group are pushing a doomsday scenario of GPLv3 and the AGPL seeing surging use, respectively.

The patent / IP language in the GPLv3 still scares a lot of larger companies, my employer included. It's in Blackduck's commercial interest to present information in a way that exaggerates the prominence of that family of licenses. Thus, the chart is of the number of projects released under that license, and does not take into account the maturity or market penetration of a project. For instance, a new entry on Sourceforge with nothing but a README in its repo would be included in Blackduck's count.

That's not to say Blackduck itself is all bad, mind you. I've sat through a few Continuing Legal Education webinars that they've hosted, and they've all been quite objective and accurate. In each case, they brought in fairly prominent figures from the Open Source law space (Karen Copenhaver, Mark Radcliffe, etc) for the sessions.


Comments like the ones on this article are why younger devs are avoiding the free software movement (notice I said movement and not free software itself). Instead of honestly addressing the shortcomings of the GPL you get all defensive and huffy, like a 10 year old who's been told his skateboard sucks.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: