Slashdot Mirror


Is Apache Or GPL Better For Open-Source Business?

mjasay writes "While the GPL powers as much as 77% of all SourceForge projects, Eric Raymond argues that the GPL is 'a confession of fear and weakness' that 'slows down open-source adoption' because of the fear and uncertainty the GPL provokes. Raymond's argument seems to be that if openness is the winning strategy, an argument Michael Tiemann advocates, wouldn't it make sense to use the most open license? Geir Magnusson of the Apache Software Foundation suggests that there are few 'pure' GPL-only open-source projects, as GPL-prone developers have to 'modify it in some way to get around the enforcement of Freedom(SM) in GPL so people can use the project.' But the real benefit of Apache-style licensing may not be for developers at all, and rather accrue to businesses hoping to drive adoption of their products: Apache licensing may encourage broader, deeper adoption than the GPL. The old GPL vs. BSD/Apache debate may not be about developer preferences so much as new business realities."

14 of 370 comments (clear)

  1. Doesn't really matter by MarkRose · · Score: 5, Informative

    GPL or Apache doesn't really matters -- what matters is if you can make money. There essential matter is whether the software in question is a tool you use or the product you sell itself. If it's just a tool, the GPL makes sense, so you get contributions back. If it's your product itself, neither GPL nor Apache makes sense.

    --
    Be relentless!
  2. It depends on what you're trying to accomplish by ActusReus · · Score: 5, Insightful

    If you're trying to get a protocol or "standard" of some kind as widely adopted as possible, then you should use a more permissive license (e.g. BSD, MIT, Apache). If you want people to embrace your product, yet then have to buy a license from you if they want to modify it in any proprietary way, you use the GPL.

    It's basically a business question of whether you plan to make money DIRECTLY from the code (i.e. GPL), or whether you have ulterior motives for making money elsewhere (i.e. Apache). For examples of the latter, most of the largest permissive-licensed projects (Apache, Firefox, etc) are bankrolled by Microsoft competitors as a means to block Microsoft from having full monopoly power in a particular niche.

    This really is a TIRED and boring flamewar. There simply is no "one license to rule them all". It depends on what you're trying to accomplish.

  3. GPL offered protection from competitors by Todd+Knarr · · Score: 4, Insightful

    One thing the GPL offers that BSD-type licenses don't: protection from competitors. When a business releases it's code under a BSD-type license, it's competitors are free to take that code and expand upon it to make new products while keeping their code secret. As a business that means that you're always giving to your competitors but they don't have to give anything to you in return. The GPL, by contrast, allows your competitor to use your code as the basis for their enhanced product only if they give you their code in return. That means that whenever your competitor uses your code to gain a competitive advantage, you can grab his code in return and match him. You're never left holding the short end of the code-exchange stick. The only way a competitor can use your code without letting you use any improvements he makes is to not make any changes to your code at all. But if he's not making any changes or enhancements, you always have the first-mover advantage and he'll never be able to offer anything you aren't already offering. From a business standpoint, if you're going to open the source code at all the GPL provides assurance that the only way your competitors can hitch a free ride is if they accept always being in second place behind you when it comes to new features.

    That's assuming you can open the code in the first place. For code that's not critical to your business it's an easy answer. If the code is critical to your business, the first question you need to ask is whether or not you can open it to the world in the first place. Opening it means the entire world can see the exact thing that sets your business apart from others in that case, OTOH it also means the entire world can offer improvements and that means you're effectively getting a development department not even giants like IBM and Microsoft can afford for free. Keeping it closed means you can avoid revealing the keys to your success, OTOH it also means there's huge amounts of useful software out there that you can't use and will have to pay to get (either in cash to buy commercial versions or in time to duplicate the functionality). I can't say whether the trade-off's worth it for any particular business or not, but as a businessman you'd better be asking that question and getting a solid, well-grounded answer to it.

  4. Apache or GPL? by SigILL · · Score: 5, Insightful

    Yes.

    --
    Error: password can't contain reverse spelling of ancient Chinese emperor
  5. If all GPL code was Apache... by Kjella · · Score: 4, Insightful

    ...it'd be better for business, at least in the sense that more people would find commercial opportunities with it. But would that code be open source in the first place, were it not for the GPL? I doubt it. Most companies don't want to give away source competitors could put directly in their proprietary products. Give away GPL code? To use it means the competitors would have to open source their application, turning them into a service and support company rather than product sales, where you'll beat them on accrued skill and experience. I'd also say that a lot more individual contributors subscribe to "share and share alike" than "share and kthxbye". My point is that it's not like you got two equal options, either you use GPL code or you have to write it yourself because there is no such Apache code. Would be nice if there were, but then I'd like a pony too.

    --
    Live today, because you never know what tomorrow brings
  6. Re:Exactly -- is the software the means, or the en by coryking · · Score: 4, Insightful

    If the software is the means to some other end

    i.e. you want to have your cake and eat it too. i.e. dual licenses schemes like MySQL's. i.e. you want to sell your GPL code.

    then yes, the GPL or some derivative would seem to make the most sense

    For you "owner" of the code, yeah--especially if you are extra weasely and require copyright assignment. For contributors, it is a scam. Why the hell should I contribute to your dual licensed garbage so you can turn around and profit from my work? I never understood why such companies aren't hassled more about this. It is really a great scam--you get a bunch of people contributing to your work for free and you get to sell it all. Course, I guess the same holds true for most things on the internet--flickr doesn't take pictures, its users do and flickr profits from that. Slashdot doesn't have a script to write comments, we write them and they profit from that. So I might be wrong on this... but the dual-license guys seem way more blatant, probably because I get a lot of satisfaction posting here, but dont really get much satisfaction contributing to some faceless corporations open source project.

    The alternate model of giving the software away for free and charging for service instead adds an interesting wrinkle to the equation

    A sucky one though. I doubt many programmers on this board want to be in a position that the work they produce for a company is essentially worthless and the way to move up is through the tech support department. I also doubt customers would benefit either since giving away the software and charging for support creates an incentive to make shoddy software that requires a lot of hand-holding.

  7. Re:Tell you my "stragetgy" by Nursie · · Score: 5, Insightful

    I always thought that was the idea -

    "If you want to use my stuff in your project, you have to open it. Feel free to write your own if that doesn't fit in with your plans"

  8. Realities by PhotoGuy · · Score: 4, Interesting

    While I appreciate all Stallman and FSF has done, I still prefer the BSD-style license (you're free to do what you want with this code, including not being free with your changes :). Forced freedom isn't true freedom, IMHO. But that's a philosophical debate.

    In more practical terms, businesses operate with restrictions. They have fears of licensing problems, code contamination, and lawsuits and such. A less restrictive license such as BSD/Apache/X Windows (which, if I understand correctly, merely require attribution, not giving away your business code if it interfaces too tightly with open source content).

    Honestly, what's the problem with BSD over GPL? So I take a BSD kernel (for example), hack it up with my fancy mods, resell it as a proprietary product. I am required to note, hey, this product uses BSD software under the hood. Any competitor is free to grab the same base software, and apply his own talents to competing with me.

    I take a a GNU product, apply some of my special magic to it, and I'm screwed (businesswise, at least). I have to give away any enhancements I make. Blah. LGPL at least lets me use compilers, interpreted languages, libraries, and so on, as a bit of dodge. (I feel LGPL only exists because if it didn't, everybody would run screaming from GPL, and it would have died long ago. I can't link to a freakin' library without releasing my code? No thanks.)

    I think that bears repeating: LGPL has helped keep GPL'd software in use. That a sign there's a problem there, IMO. With the lines between libraries, compilation, interpreters, interfacing, web access, becoming blurred (and Stallman wanting web services to have to release code), I think it's becoming more and more of a problem.

    In a perfect happy world where all our needs and wants and income is taken care of, GPL all the way, man... But in world where one has to express one's talents to make a living, the socialistic ideal of GPL just doesn't jive with business.

    In practice, I use GPL'd software a lot, and I am appreciative. But other than for the odd bug fix, I shy away from *ever* touching the source code, period; from a business standpoint, it'd be death.

    On BSD style code I've used, I've gone in, made enhancements, and redistributed things; and when I found bugs in the core of the stuff I've worked with, I've contributed back. (But not my new, proprietary enhancements.) So I've been motivated to contribute more to the BSD-style-license world, than the GPL one.

    If I'm rich some day, and can afford to work on some projects for free, I will likely contribute to GPL projects as much (although I still have the restricted-freedom philosophical problem). But while I'm in business, I won't spend any significant amount of time enhancing GPL code. It's sad, but it's a harsh reality of our world.

    --
    Love many, trust a few, do harm to none.
    1. Re:Realities by DaleGlass · · Score: 5, Insightful

      Honestly, what's the problem with BSD over GPL? So I take a BSD kernel (for example), hack it up with my fancy mods, resell it as a proprietary product. I am required to note, hey, this product uses BSD software under the hood. Any competitor is free to grab the same base software, and apply his own talents to competing with me.

      The problem is that there's no incentive to contribute. You can take, but nothing makes you give back. Especially because if you give back, you're effectively working for your competitors.

      So yeah, BSD is excellent from a "leech" point of view. It's not that good from the "project" point of view. It's not that good from the contributor point of view either. Why should I bother contributing when that in effect makes me an unpaid employee of every company using that source?

      I take a a GNU product, apply some of my special magic to it, and I'm screwed (businesswise, at least). I have to give away any enhancements I make. Blah. LGPL at least lets me use compilers, interpreted languages, libraries, and so on, as a bit of dodge. (I feel LGPL only exists because if it didn't, everybody would run screaming from GPL, and it would have died long ago. I can't link to a freakin' library without releasing my code? No thanks.)

      The LGPL exists for a strategic reason.

      For some things, such as the C library, there exist many reimplementations. Making that GPLd drives people to alternatives, and loses on any potential contributions. So the LGPL is a compromise to still get contributions to that code.

      Stallman considers that a library should be GPLd when it provides a competitive advantage. If it's GPL or "code your own", he hopes you'll go with the GPL one.

      In a perfect happy world where all our needs and wants and income is taken care of, GPL all the way, man... But in world where one has to express one's talents to make a living, the socialistic ideal of GPL just doesn't jive with business.

      On the contrary, it jives perfectly fine with business.

      Take Red Hat for instance, and other companies that pay for GPL development. Why do they do that? Because they know that even if IBM takes advantage of their improvements, the moment they fix something in Red Hat's code, they have to give back as well. So not only does Red Hat get better drivers or SMP support, they also get free fixes from IBM for it!

      The BSD on the other hand doesn't have such things. Red Hat would write their driver, release as closed source, not contribute it back obviously, and every other company would do the same. The end result is that BSD won't get the driver until some volunteer happens to contribute it.

      There's also lots of GPLd code in various devices you rarely look at very closely, such as cash registers. The companies that work for those don't sell code. They sell hardware + software + support, and have no problem with contributing bugfixes for whatever GPLd code they used, because their business loses nothing by doing so. And without the GPL they wouldn't bother to contribute, because that takes programmer time, and as such won't be done if optional.

      In practice, I use GPL'd software a lot, and I am appreciative. But other than for the odd bug fix, I shy away from *ever* touching the source code, period; from a business standpoint, it'd be death.

      It's only death if your business is selling software on the shelf. There are many companies with different business models, which sell routers, or cash registers, or support, and for which the GPL isn't a hindrance in the slightest.

      On BSD style code I've used, I've gone in, made enhancements, and redistributed things; and when I found bugs in the core of the stuff I've worked with, I've contributed back. (But not my new, proprietary enhancements.) So I've been motivated to contribute more to the BSD-style-license world, than the GPL one.

  9. Re:GPL is a hindrance by coryking · · Score: 4, Interesting

    77% of sourceforge projects are under GPL

    95% of the projects on sourceforge are rubbish that either has no release or hasn't been updated since 1992 so what does that 77% tell me? Nothing. Here is something more intereting:

    Firefox - Used everywhere, Not GPL
    Apache - Used everywhere, Not GPL
    OpenSSH - Used everywhere, Not GPL
    Perl - Used everwhere, Not GPL
    PHP - Used everywhere, Not GPL
    Ruby - Used everywhere, Not GPL
    Rails - Used everywhere, Not GPL
    PostgreSQL - used everywhere, Not GPL

    My point? Dunno, but I woudn't be using sourceforce for gathering statistics.

    Not in need of your pity right now

    No pity. I dont really care, honestly. Software is a tool, dammit. Not a religion. I left linux because of the politics. I just want something that works.

  10. Re:Exactly -- is the software the means, or the en by mellon · · Score: 5, Interesting

    It's actually pretty difficult to contribute to dual-license GPL projects - they'd rather do the changes themselves and not risk legal hassles. What they want is bug reports.

    When I was maintaining the ISC DHCP distribution (BSD license, BTW), I dreaded getting large patches, because I'd have to go through the whole damned patch and figure out what it actually did, and correct it. I much preferred bug reports. The idea that patches are why people open source things is really a red herring - sure, if you get a regular contributor who's really good, you can start to trust their work, but that only works for projects like linux where you have a huge number of interested geeks.

    So really, what's going on with a dual-licensed model is that the owner of the copyright is using the FUD of the GPL to get people who don't trust open source or don't want to open source their own code to pay for non-GPL copies. At the same time they are offering the GPL version to the community of people who like the GPL, which spurs adoption. It's a win for everyone.

    The problem with the BSD license is that the only way to get money out of it is charity, because there is no license FUD. Nothing wrong with charity, but it can make paying the bills a bit difficult.

  11. Re:GPL is a hindrance by GauteL · · Score: 4, Informative

    "Firefox - Used everywhere, Not GPL"

    Actually, it is. Firefox is triple licensed as GPL, LGPL and MPL. All of these licenses are so-called "copyleft" to some extent, requiring back contribution.

    "Perl - Used everwhere, Not GPL"

    Again. It is. PERL is dual licensed GPL and the Artistic License. The Artistic License has less restrictions than the GPL, but more restrictions than the BSD license.

    "Ruby - Used everywhere, Not GPL"

    Yet again. It is. Ruby is dual licensed GPL (all of it) and the Ruby license (some of it). The Ruby license does allow commercial and proprietary use, but certain parts of Ruby is not covered by the Ruby license.

    Besides this name dropping is pointless. I can counter with other examples (at least with your definition of 'everywhere').

    Linux - Used everywhere, GPL
    OpenOffice.org - Used everywhere, GPL
    MySQL - Used much more everywhere than PostgreSQL, GPL
    Samba - Used everywhere, GPL.

    The main point is that loads of projects see great adoption even if they use the GPL. So using the GPL to cover your bases, doesn't seem to be a great deterrent.

  12. Re:Exactly -- is the software the means, or the en by Bruce+Perens · · Score: 4, Insightful

    There is an easy answer to this. Don't make the software as your business. Most of the successful Open Source applications are made by Open Source projects in which businesses participate, not businesses whose goal is to make the software.

    Am I saying that Open Source business doesn't work? Most of the time it does not. It depends on what you are doing.

  13. Re:Tell you my "stragetgy" by Bruce+Perens · · Score: 4, Interesting

    You make me really glad that I use GPL3 and AGPL3. I want customers or Open Source developers. You aren't asking to be either.