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

8 of 370 comments (clear)

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

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

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

    Yes.

    --
    Error: password can't contain reverse spelling of ancient Chinese emperor
  4. 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
  5. 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.

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

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

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