Forgot your password?
typodupeerror
Software Businesses

Is Apache Or GPL Better For Open-Source Business? 370

Posted by Soulskill
from the less-filling-tastes-great dept.
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."
This discussion has been archived. No new comments can be posted.

Is Apache Or GPL Better For Open-Source Business?

Comments Filter:
  • by MarkRose (820682) on Wednesday April 29, 2009 @10:06AM (#27759557) Homepage

    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.

    • by zooblethorpe (686757) on Wednesday April 29, 2009 @10:21AM (#27759733)

      [The] 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.

      And there you hit the nail on the head. If the software is the means to some other end, then yes, the GPL or some derivative would seem to make the most sense, in order to ensure that any improvements someone else might come up with are propagated back into the main branch. I would wager that this holds true for most FOSS projects -- and the SourceForge figures of 70% of projects using the GPL would seem to back this up.

      But if, as you note, the software is the end in itself, if it is the product one is trying to sell, then proprietary is really the only way to go, simply from the perspective of locking others out.

      And therein lies the crux of the conflict -- those keenest to use any piece of software are also keenest to see it spread and improve as quickly and efficiently as possible, while those trying to sell any piece of software are less interested in improvements than in maintaining exclusive control. These would appear to be orthogonal goals. The alternate model of giving the software away for free and charging for service instead adds an interesting wrinkle to the equation.

      Cheers,

      • by coryking (104614) * on Wednesday April 29, 2009 @10:42AM (#27759987) Homepage Journal

        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.

        • I gather Slashdot doesn't make a lot from us writing comments. They make money from the advertisements we see while browsing. Comments are just slashdot's way of fostering a community and increasing page counts.

          • Re: (Score:3, Insightful)

            by coryking (104614) *

            They dont make much from us clicking on the ads either. People who bother do register accounts become blind to them.

            Slashdot doesn't directly make money from us writing comments. The indirectly make money from us because our comments give a reason for people to visit. Without them, the website wouldn't be interesting and nobody would visit... thus making this place unattractive to advertisers.

        • by mellon (7048) on Wednesday April 29, 2009 @11:31AM (#27760729) Homepage

          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.

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

    • by qoncept (599709)
      I agree it doesn't matter, but not on why.

      How many people know the difference between the Apache license and GPL? How many are more likely to adopt a project because it chose Apache over the GPL? And, most importantly, how many people are dealing with your crappy project anyway? I don't have the stats but I can only imagine how many inactive, hardly active, or active but never used projects there are on Source Forge. The difference between licenses to 99% of those projects is zero.
      • Re: (Score:3, Insightful)

        by HiThere (15173)

        FWIW, I'm approx. familiar with both licenses, and I expect most FOSS developers are. I prefer GPL ... actually, these days I'm leaning towards either GPL3 or AGPL, but I recognize the Apache license as a good one. Just one that's a bit more open to being ripped off than I prefer.

        For a business, it seems to me the important consideration would be what you want to do. You need the right code, and it's a lot easier if you can just modify slightly something already done. And in that case you must use whate

    • Re: (Score:2, Insightful)

      by ShieldW0lf (601553)

      That's an odd view... personally, I think what really matters is that you can't make money with the code. Money comes from controlling a resource that is scarce. Money requires poverty as a precursor. Wealth comes from abundance.

      The argument in the article misses the point when they keep talking about code quality, efficiency and market forces, because the GPL isn't about creating higher quality code. The GPL is about protecting something that is naturally abundant from the corrupting influences of law

    • Re: (Score:3, Insightful)

      by drsmithy (35869)

      If it's just a tool, the GPL makes sense, so you get contributions back.

      The GPL doesn't make sense if your software gives you a competitive advantage, because by releasing your code under the GPL, you relinquish that competitive advantage.

  • The source availability provisions that come with distributing GPL software are a small pain for companies that want to make use of open source software, but that's about the biggest difference.

    Anyway, over time, it will become obvious how big a concern the copyleft is to businesses.

    • Re: (Score:3, Interesting)

      by 2short (466733)
      Actually...
      I work for a company that makes closed source software. We have a few pieces of core code we're not willing to open. But to make that stuff useful, we integrate with vast amounts of other tools and libraries that aren't our critical core, that we're perfectly happy to share with others.
      So the first thing we look for when we need some particular functionality is a BSDish license. We can use it however we need to, but we, and others can all share our improvements. As a re
  • by fictionpuss (1136565) on Wednesday April 29, 2009 @10:10AM (#27759623)

    Without people like RMS fighting for the cause, I don't think the center would have moved so far towards FOSS today.

    Supporting GPL in business is tougher, but it is also true that the benefits a company derives from open software are those it won't be able to reap in the future if the world turns back towards licenses which are less free.

  • Who's business? (Score:3, Insightful)

    by nweaver (113078) on Wednesday April 29, 2009 @10:11AM (#27759639) Homepage

    If you are making money developing the software, the GPL with a dual liscence is a feature, not a bug:

    "Hey Mr Customer, you can have it for free under this GPL thingy, or pay us $$$ and do whatever you want with it"

    If you want to make money modifying the software, the GPL is a disaster.

    • Re:Who's business? (Score:4, Insightful)

      by PinkPanther (42194) on Wednesday April 29, 2009 @10:24AM (#27759755)
      I wouldn't call it a "disaster", but it certainly becomes difficult to compete with the rights holders (if they are a single entity).

      You have identified the major points though:

      • GPL allows me to leverage the "free" model by getting my software into the hands of potential customers, letting them experiment or do initial implementations
      • GPL stops competitors from taking my product and using it to directly compete with me, at least initially

      The GPL does not preclude the open source community from forking and out innovating me. But any innovation done has to be done in the clear, assuming those changes are beyond "customizations" for a single customer.

    • by Anonymous Coward

      It isn't

      "If you want to make money modifying the software, the GPL is a disaster."

      It's if you want to make money modifying SOMEONE ELSE'S code, the GPL is a disaster.

      If it's your own code, you can add non-GPL bits to your code and still make monopoly rent.

      If it contains someone else's code under GPL, you can still make money from the modifications, but you won't make a monopoly rent from it.

      • Re: (Score:3, Informative)

        by gerddie (173963)

        It's if you want to make money modifying SOMEONE ELSE'S code, the GPL is a disaster.

        As always, it's about what exactly are you doing: If you want to monopolize on someone else's code, then you're right. But imagine, some user (company) has some software and the code is available under GPL. To get improvements they can ask you to do it, instead of the original author, and you can make money by modifying his code.

    • by jimwelch (309748)

      X% of your customers demand GPL.
      Y% of your customers don't care.
      Z% of your customers want closed source.

      The questions is what is X, Y, Z in your field of dreams (err, Business plan)?
      More business and governments are demanding GPL, but is it big enough for you?

  • by ActusReus (1162583) on Wednesday April 29, 2009 @10:12AM (#27759643)

    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.

    • Re: (Score:3, Insightful)

      by trybywrench (584843)
      I would say that when it comes to interoperability and standards compliance ( like a protocol ) then the GPL makes a lot of sense. With the GPL a business can't take the protocol, modify it, and then use market share to push their closed and modified version as the standard.

      My best guess for making money off open source is still support. If you provide pay-only features then you've got to be better than the very best programmer in the open source community. You'll always be in an arms race trying to introd
      • Say, in theory, that you decide to fund your company by supporting a single Open Source product. Put yourself in the customer's place:

        The customer will have to spend a lot of time just figuring out what is breaking, so that he or she knows who to call.

        The customer will then have to spend additional time proving to the vendor that something is broken in their product, while the vendor points elsewhere: hardware, OS, someone else's product.

        The customer will have to manage integrating all of these piece-mal

    • This is what happens when people used to getting attention miss the attention when their 15 minutes is up.

      No one has payed attention to Eric Raymond in years so now he has to start a flame war.

    • by MarkvW (1037596)

      Amen to that! The editors of /. must have felt like rousing the old BSD vs. GPL debate one. . . . more . . . time.

  • by Todd Knarr (15451) on Wednesday April 29, 2009 @10:15AM (#27759661) Homepage

    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.

    • by mjasay (1141697)
      This is absolutely true, but isn't that same protection against competitors more efficiently realized through proprietary add-ons to the open, Apache-licensed core?
    • Re: (Score:3, Insightful)

      by jeremyp (130771)

      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.

      That's actually not true. There's no obligation in the GPL for your competitor to give you any of their source code unless they, or one of their customers, or somebody else downstream, redistributes the code to you. Since they are allowed to charge a fee for the software, you might find yourself having to pay to see their code changes. Or if you can't find anybody prepared to give you or sell you a copy of the software, you may never get the changes.

    • by Junior J. Junior III (192702) on Wednesday April 29, 2009 @11:00AM (#27760253) Homepage

      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.

      Not really. That's the theory, but in reality what it means is that nothing prevents such a development department from forming spontaneously. In reality, many open source projects languish because no one is interested in developing for them, and there's no management in place to guide the developers to plan a roadmap for the project. High-profile, successful open source projects like Linux, Mozilla, and Pidgin didn't happen by accident.

      You have to have people who understand the project, its purpose and goals, and have technical expertise in coding, and who are interested in contributing to the project and see a need to do it, or who are paid to do so.

      If you're a company and you want to foster this sort of environment, one of the best things you can do is set aside some budget to pay coders for contributions that make it into the trunk of the project, or, you know, hire a few full-time developers to work on your project.

      Simply putting the code out there and wishing isn't going to get you very far. Although, at least that way, when you go out of business, anyone who used to depend on your company for support can come along and pick up the project code and do something with it. Which is better than nothing, I guess. Far better to fertilize your project by putting incentives out there for programmers and users to take interest, than to simply open the codebase up and wait for magic to happen.

  • Apache or GPL? (Score:5, Insightful)

    by SigILL (6475) on Wednesday April 29, 2009 @10:16AM (#27759677) Homepage

    Yes.

  • My example is the number of packages in the Debian Free repository. There are, no doubt, quite a few licenses among those packages, but they meet Debian's high standards for Free software.

    Businesses will always do their best to capture all of the value of the work of others. There are no end to schemes meant to capture the value of GPL software and prevent others from using them. Tivo's kernel hack come to mind....

  • by alexandre (53) * on Wednesday April 29, 2009 @10:21AM (#27759737) Homepage Journal

    How does having the ability to close down the product a better freedom?
    Actually with the GPL, you can dual license since it's your own software and thus have a free GPL version and then a privately extended version if that is what you business is looking to do...

    With BSD, well, all your concurrent company can do the same and compete in the proprietary version with you, how is that helping you?

    Raymond argues that GPL is bad because it's an uncertain license... what?
    If Cisco can't read that it has to distribute source code, well, that is a shame with all their lawyers.
    Anyone else KNOW what they have to do. So there is no ambiguity there!

    Same goes for Google's Android going with the Apache license...
    Basically in that super proprietary cell phone world, they are more than happy to have it under a BSD like license.
    Now every company can build an OS together and all close them on their side leaving you, the user, with nothing out of that openness except the base system which might well be unusable.

    See how MacOS X free part is free/useful compared to the full product? Haha! ...

    So they save on development cost, like they would have with the GPL but remove the idea that they want to guarantee that this investment will be guaranteed in the future.

    It's like a trap to win the cellphone OS race and then, when it's too late and they have such an insurmountable market share, they close it and we go back to business as usual...

    As a user i can't trust that, I'll go with Maemo, OpenMoko or anything that has as much GPL as possible if i have a choice!

    (which right now I don't really have, but this year is going to be interesting! I hope ...)

  • by Kjella (173770) on Wednesday April 29, 2009 @10:25AM (#27759765) Homepage

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

    • by caseih (160668) on Wednesday April 29, 2009 @10:58AM (#27760215)

      If you look at big companies like IBM who have really embraced OSS, they have done so precisely because of the GPL. The GPL is really the only license that makes a lot of business sense. The GPL has two major advantages over other licenses. First since you own the copyright you can dual license the code as proprietary and GPL if you wish, while making sure that code can continue to be developed by a community and protected from exploitation---the only caveat here being that you have to make sure copyrights are always assigned to you, something that many projects do. The second major advantage is that no company can use your code against you in a competitive manner. The playing field is completely level. If improving your code helps a competitor, it also helps you. Given all this, if I was a commercial company, wanted to have my projects be open source, and I owned all the copyrights, then it's a no brainer. the GPL is the only way to go. It seems like the only time people complain about the GPL is when they don't happen to have a natural copyright to the code and for some reason feel some sense of entitlement to code (if it's open source I should be able to use it how I want, dang it) just because it's OSS. It's very bizarre.

      Frankly I'm surprised to hear of such blatant FUD coming from someone like ESR. I think the solution to FUD is to be a bit more vocal about defending what the GPL is actually about and how it protects users, developers, *and* commercial corporations. It's not public domain software. It's source code just like source code from any other source. If it's not yours and you don't want to abide by the license, buy rights to the code or stop complaining.

      • by nomadic (141991) <nomadicworld@NOSpam.gmail.com> on Wednesday April 29, 2009 @12:05PM (#27761191) Homepage
        Frankly I'm surprised to hear of such blatant FUD coming from someone like ESR.

        Frankly I'm surprised that YOU'RE surprised. ESR's a fruitcake, and he's been spewing this kind of idiocy for years.
  • This is of course a centuries old debate. GPL projects have the patience, confidence, and self-respect to wait for the right business to come along, one that will make a real commitment to a long-term relationship and honour its responsibilities. Only then does it get the source.

    On the other hand you've got the projects with the much more liberal BSD or Apache licenses, projects so desperate for attention that they'll jump into bed with any business, and give up their source at the drop of a hat, not cari

  • by coryking (104614) * on Wednesday April 29, 2009 @10:33AM (#27759861) Homepage Journal

    Eric is basically right. I've been burned in the past, so I now pay attention to the license an application uses (something you should get into the habit of doing).

    Here is my decision tree for deciding to use an application licensed under any FOSS license:

    1) If I plan to modify the application in any way, or use it as a library, it has to be under a BSD derived license. This means BSD, MIT, Apache, MSPL, Perl's artistic license, or anything similar. GPL, or any "viral" license is out... I dont touch GPL code anymore (actually, this is a lie, see below).

    1.1) There are exceptions to the "used as a library" rule. If everybody else is using said library in their application (eg: libmysql), nobody is gonna try to GPL-ize my whole application. And if they do go after me, it will only be because I'm so successful that I become a target for such nonsense. If your library is nothing more than a CPAN module and it is GPL, I can't use it, sorry.

    2) If I don't plan to modify the application for use in my project, the license becomes less important. In these cases, I look at other factors such as how active the project is. I don't like depending on projects that haven't been touched since 2005.

    3) If your application or code will become a non-linked dependency of my application (for example, a GPL'd version control system), I don't really care what the license is. Since it isn't linked into my application, I won't get "infected". In fact, I might even contribute to your GPL project provided my contributions are independent works and don't come out of my own "toolkit" so-to-speak.

    4) If you require me to assign copyright to you before I can contribute, you are a scam and can piss up a rope. Granted, many of the big-boys require this (most GNU stuff, Firefox(?), MySQL) and so I might be willing to cave in an contribute anyway provide what I'm contributing is an important bugfix and doesn't erode ownership my personal toolkit (i.e. the good stuff). The scam guys are companies who want ownership so they can cook up dual license schemes and profit from your work (MySQL). Scammers can pay for their own bugfixes...

    Bottom line, I won't touch GPL for anything that might make my mainline code become a derivative work and force it all to become GPL'd. BSD'sh licenses cannot do this to my mainline code, so I can use their stuff and contribute anything I think they will find useful. GPL doesn't let me cherry pick useful stuff out of my code, so they miss out on some pretty cool things. Since I dont like leeching from GPL stuff (using it, but having no way to give back), I just avoid it instead.

    In other words, if you GPL your project, $SUPER_BIG_COMPANY can't lift your code and make $MILLIONS$ but only at a heavy cost--the pool of people who are able to work on your project becomes much, much smaller. BSD-style licenses are attractive to business precisely because business knows they can contribute changes without getting into trouble. If I use a BSD anything, I know that I have the option to deeply embed the code into my application, still be able to contribute back any changes, and retain control over my intellectual property. GPL reduces control over my IP and thus I can only depend on it in the loosest way possible. The second I want to make any contributions, depending on how I used the GPL code, my entire portfolio might be in legal jeopardy. Not cool.

    PS: IANAL

    • by Nursie (632944) on Wednesday April 29, 2009 @10:53AM (#27760129)

      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"

      • Re: (Score:3, Interesting)

        by coryking (104614) *

        Feel free to write your own if that doesn't fit in with your plans

        Your assertion that I'd have to suffer the "punishment" of writing my own is a false dichotomy that hinges on me either being able to "write my own" or use GPL code. This isn't the case.

        GPL doesn't have a monopoly on open source. GPL has some real competition from alternative open source licenses. Unless your GPL code has a very compelling reason for me to use it, I'll pick the BSD code every time. If enough people do the same thing, the

        • by Nursie (632944) on Wednesday April 29, 2009 @11:28AM (#27760673)

          Good for you.

          I, personally, don't see many companies getting behind BSD. Neither would I, personally, want to contribute to a piece of code that could be taken, used, altered and distributed in a closed way with no recourse to having people open it.

          The fact that you say I can trust you to contribute back does not help.

          There will always be a significant number that think my way, and a significant number that think yours. Just don't pretend like I'm losing out by not doing things your way, it's by design and it's very simple.

          • Re: (Score:3, Interesting)

            by coryking (104614) *

            See, you are rational. Your "team", like any, has plenty of zealots on it that are more than happy to mod "my team" down, or call me a leech, or whatever. I think part of the reason you guys get more traction is cause you have more lout-mouth activists. BSD folk are pretty chill, so we dont get much visibility.

            Of course you have RMS. We've just got that OpenBSD guy Theo. I'll take Theo cause at least nobody outside of a small group has heard of him :-)

        • Re: (Score:3, Insightful)

          by TrekkieGod (627867)

          Your assertion that I'd have to suffer the "punishment" of writing my own is a false dichotomy that hinges on me either being able to "write my own" or use GPL code. This isn't the case.

          It's true there are other open source licenses, but if you're looking a GPL project, there's only one of that project, and it might be the only one (or the best one) that suits you. If you can find an alternative, with a license more suitable for your needs, go ahead.

          Don't think of it as "punishment." If I write something and GPL it, and you want to use it, I'm allowing you to use it provided you fulfill the conditions I establish. You do the same thing with your super-duper proprietary source portfolio

        • by Geof (153857) on Wednesday April 29, 2009 @02:46PM (#27763319) Homepage

          Here is political scientist Steven Weber, writing about the tendency toward different governance styles for projects using BSD-like and GPL licenses (when he writes "Linux" he means it as an exemplar, not the only instance):

          BSD-style projects typically rest with a small team of developers who together write almost all the code for a project. Outside users may modify the source code for their own purposes. They often report bugs to the core team and sometimes suggest new features or approaches to problems that might be helpful. But the core development team does not generally rely heavily on code that is written by users. There is nothing to stop an outside user from submitting code to the core team; but in most BSD-style projects, there is no regularized process for doing that. The BSD model is open source because the source code is free. But as an ideal type, it is not vitally collaborative on a very large scale, in the sense that Linux is.

          Weber, Steven, The Success of Open Source, 2004, pp. 62-63.

          Assuming his claim is true, this may be because developers see the two licenses differently (e.g. contributors may feel greater incentives to contribute to GPL projects, or they may have principled reasons, or it may have to do with their identity and membership in a community). Or it may be because of the kinds of projects that pick the licenses: the typical BSD structure he describes mirrors that of big companies, perhaps because they tend to choose such licenses. Personally, I suspect all of these factors contribute. But then I find them to be compelling reasons to pick the GPL.

    • Re: (Score:3, Insightful)

      by replicant108 (690832)

      The second I want to make any contributions, depending on how I used the GPL code, my entire portfolio might be in legal jeopardy.

      Firstly, "making contributions" does not normally trigger the GPL.

      Secondly, the GPL does not put your portfolio "in legal jeopardy". The worst case scenario is that you have to remove (somebody else's) GPL'ed code from your portfolio.

      Finally, it is copyright law which makes this a requirement, not GPL.

    • by drinkypoo (153816) <martin.espinoza@gmail.com> on Wednesday April 29, 2009 @12:04PM (#27761183) Homepage Journal

      In other words, if you GPL your project, $SUPER_BIG_COMPANY can't lift your code and make $MILLIONS$

      They can't "lift" it as in deprive you of it, but they couldn't do that with BSD or for that matter the good old public domain, either. But they very much CAN produce a competing product based on it, then make millions supporting it while your product fails because it's not as good. You don't understand the GPL or copyright at all for that matter if you don't understand the distinction between theft and copyright infringement.

      GPL reduces control over my IP and thus I can only depend on it in the loosest way possible. The second I want to make any contributions, depending on how I used the GPL code, my entire portfolio might be in legal jeopardy. Not cool.

      I'm not sure why you think you should be able to use GPL code without respecting the wishes of the rights holders, but "in legal jeopardy" is a bit of an overstatement. Only the pieces in which you used GPL code will be up for debate. Even then you need only remove the GPL code and replace it with something else; it's not like you need to start over.

      You may or may not have points in the rest of your comment, but this part is pure FUD. You never have to do anything to comply with the GPL until you distribute something that contains GPL code. This is considerably more free than the default situation in which you are not permitted to use someone else's code at all. Complaining that you have less rights over someone else's code than when they license under BSD/MIT/Artistic/whatever is true but obvious and thus uninteresting.

    • by Bruce Perens (3872) * <bruce@perens.com> on Wednesday April 29, 2009 @12:28PM (#27761567) Homepage Journal
      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.
    • Re: (Score:3, Informative)

      by spitzak (4019)

      As always with these sorts of rants:

      Please name exactly the GPL project that you would use if it was BSD licensed. You may need a pretty elaborate and bullet-proof explanation as to how it is impossible for you to use this project without releasing your source code as well.

      In reality all reusable code is LGPL or linking-exceptions or BSD or whatever. You list the reasons developers do this, but you seem to like turning it into an anti-GPL rant, rather than realizing that your own arguments are exactly what

  • I have not read the Apache licence, however I am given the impression its something near the BSD licence.

    The difference between the GPLv2 and BSD is simple:
    • BSD Protects your right to fork the code and do with what you will.
    • GPL Protects your ability to merge forks, which in effect puts a limit on how you can fork the code in the first place.

    So in the end, the choice is whether forking or merging is more important to you. Forking may mean more people can use your code. However others would argue the

  • by presidenteloco (659168) on Wednesday April 29, 2009 @10:35AM (#27759903)

    I think we have to ask: What has the GPL done for us, or at least probably done for us?

    Starting a decade ago several very large corporations poured significant resources into Linux development, and were compelled to keep their contributions open-licensed and essentially free (as in beer).

    Do we think that would have been the case if Linux had been Apache or BSD-licensed, or would we instead see a division into deluxe IBMLinux (that works on multi-processors and new chips and 64-bit) and open Linux that scrapes along on simple 486 hardware.

    • Just look at Unix (Score:3, Interesting)

      by gr8_phk (621180)
      To answer your question - no. If Linux were BSD licensed, it would have essentially been another BSD Unix. The big Unixes could use code from BSD if they wanted and they kept themselves closed and eventually died (except for IBMs Unix). BSD itself is not nearly as well supported as Linux.
  • not only is Eric Raymond wierd, slashdot.org seems to be having a cookie problem...
  • As much as I appreciate Eric's contributions to open source (his early writings helped get me interested in writing open source), and our shared interest in shooting guns -grin-, I prefer Bruce Peren's approach (as I wrote about recently http://markwatson.com/blog/2009/02/bruce-pernes-on-gnu-affero-general.html [markwatson.com]).

    I think that a combination of AGPL, a less restrictive license like MIT or Apache 2, and perhaps something like the LGPL cover most needs, and the fewer licenses the better. The point of the article

  • by Bruce Perens (3872) * <bruce@perens.com> on Wednesday April 29, 2009 @11:01AM (#27760263) Homepage Journal

    The only reason people ask this question is because they take a simplistic "one fits all" view of Open Source.

    A great many ways have been tried to make money from Open Source. Dual-licensing is one of the best. It requires a strong copyleft license.

    On the other side, if you are investing your own time, without pay, in an Open Source project, having folks run away with it in their commercial product makes you feel like an unpaid employee with no rights. So, a lot of people use the GPL because of that.

    Apache or BSD licensing is really good if you want everyone to use your stuff regardless of what they do with it. There are many strategic reasons to do that, for example if you are trying to evangelize a standard way of doing things (that, perhaps, ties into some other aspect of your business and will eventually make you money).

    Companies that apply BSD or Apache licensing to their products are really severely limiting how they can possibly make money from that product. Having seen some of these companies fail (I've not been directly involved in one, yet) it sounds like a bad idea.

    The company I'm working on now does use dual licensing.

  • by ChunderDownunder (709234) on Wednesday April 29, 2009 @11:01AM (#27760269)
    He and Stephen Colebourne are engaged in a bitter propaganda war with Sun (now Oracle) over JCP licensing for Apache Harmony.

    The linked article's comments should be seen in that light.

    Long before Harmony existed, there was a GNU clean-room implementation of Java called Classpath. In the interests of the community, the thing to have done for free software would be to obtain implementation completeness and then 'pony up' the money to Sun to certify (Cacao/JamVM/Kaffe + Classpath) as Java compatible.

    Perhaps Sun wouldn't have allowed that but... Instead, the backers of Apache sought to create a second clean-room implementation, namely Harmony (Code and financial resources of IBM, & others - according to wikipedia). 'They' choose to hire developers to implement Java again from scratch a second time in the hopes of bullying Sun into giving them the JCK for free. It would have been sensible before work started on Harmony 4 years ago to negotiate licensing. Now there's a standoff but in whose interests does it serve to have 2 almost compatible implementations? As one javalobby poster bluntly put it recently [dzone.com]:

    Apache Harmony is just a cheap IBM trick to attempt to wrest control of Java from Sun. It failed miserably when Sun GPL'd Java so that the source could not be integrated into Harmony. Apache is not an altruistic organization formed of developers donating code off hours. It's financed and draws developers from large companies such as IBM that have their own agendas, good and bad.

    So in this case, the Apache license benefits faceless corporations. I believe GPL is a good license for Sun's Java, as it prevents closed forks. Apache are arguing it's good to have a JVM distinct from the reference implementation. Again, good for whom? IBM, so they can release a proprietary JVM for Websphere? Google, so they can plunder bits of it for Harmony?

    In response to the above quote, Oracle may also have their own agendas for Java but at least now the code is GPL'd. Red Hat, the main contributor to IcedTea, could fork it at their leisure for the goodwill of the people - any changes they make would be subject to the GPL. Forks of Harmony don't have the same protections. And yeah, I trust Oracle more than I would IBM!

  • Realities (Score:5, Interesting)

    by PhotoGuy (189467) on Wednesday April 29, 2009 @11:15AM (#27760505) Homepage

    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.

    • Re:Realities (Score:5, Insightful)

      by DaleGlass (1068434) on Wednesday April 29, 2009 @11:58AM (#27761095) Homepage

      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.

    • Re:Realities (Score:4, Insightful)

      by Nursie (632944) on Wednesday April 29, 2009 @12:06PM (#27761213)

      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.

      That's the whole point. The guys that put in work for free don't want you taking their base and making alterations and then selling it with no obligations to give away your enhancements. The companies that put time and money into GPL software don't want that either, they contributed to the community and the condition for you getting the source and using the software is that you open up too.

      That's the condition for using their work. Don't like it? Find or write another solution.

      So many posts here seem to think that GPL code ought to be able to be used as if it was public domain. That's not the idea at all.

      Things like the linksys hacking communities would not exist without the GPL.

  • by viralMeme (1461143) on Wednesday April 29, 2009 @12:12PM (#27761313)
    The Free Software Foundation considers [apache.org] the Apache License, Version 2.0 to be a free software license, compatible with version 3 of the GPL.
  • Eric (Score:3, Funny)

    by doti (966971) on Wednesday April 29, 2009 @12:39PM (#27761727) Homepage

    Everybody loves him. [geekz.co.uk]

    (Except me.)

  • by spitzak (4019) on Wednesday April 29, 2009 @01:00PM (#27761991) Homepage

    There were good posts above but this has devolved into a typical flameware between people who see the GPL and the BSD as the only two possibilities.

    What I would very much like to see is something that is "what people think the LGPL probably means before they read the fine print":

    You can use the source code unchanged in any way you want in your software and distribute the result. However if you modify the source code to use it in your result, you must release your modifications (but not the rest of your program) under the same license.

    In my opinion additions that don't require modification of your code are going to be creative work and thus should belong to you. But you should not be able to "steal" my code by making tiny changes to it and closing the result. I think a lot of people feel the same way.

    Now this sort of license has been made dozens of times, and is often called "GPL plus a linking exception". The problem is that there is no common three-letter name so nobody can easily refer to this license, so there is license proliferation.

    I think the FSF is to blame for forcing thier philosophy by activiely avoiding creation of the license described above and giving it a nice short name with a 'G' in it. No other organization seems to have the clout of the FSF to get a name standardized.

    There are also commercial intereste to blame, they know this sort of license would address all the arguments against the GPL without removing the ability to compete that the BSD does. Their tactic seems to be to argue that there is no middle ground, and also to pollute the license namespace with hundereds of BSD licenses so that any such license that gets any popularity is buried.

  • It's simple really (Score:3, Insightful)

    by Brandybuck (704397) on Wednesday April 29, 2009 @01:27PM (#27762287) Homepage Journal

    If you want to make your software free of restrictions, then place it under a BSD, MIT, Apache or other unencumbered license. But if you desire to control, regulate and manage what other people can do with your software, then use a restrictive license like the GPL. Many businesses like the GPL because they can be "community based" while still restricting their competitor's ability to leverage the software.

    What I have never understood, though, was the use of the GPL for non-commercial community software. The usual excuse is that "Microsoft can't steal my code". That displays a shocking ignorance of the nature of information. No one can take your software away from you, or away from your users. They might be able to fork it, but your original software is still there untouched. The reciprocity of the GPL can be very useful, as with commercial open source, but it has nothing to do with protecting the software. Instead it protects the fragile sensibilities of the author.

    ESR is one who gets it, who understands that free software does not need to be protected and coddled beneathed layers of licensing restrictions. Anything beyond attribution and warranty disclaimers is too much.

    • -1 troll (Score:4, Informative)

      by Nursie (632944) on Wednesday April 29, 2009 @04:31PM (#27764683)

      Seriously, troll much?

      It's not so people can't take the code away, it's so they can't even use it without giving changes and enhancements back.

      What's shocking is your ignorance of the reasons behind people using the GPL.

  • by bkuhn (41121) on Wednesday April 29, 2009 @03:01PM (#27763527) Homepage

    Even after years of conversations with us in the FLOSS community, Matt still doesn't get it. He's completely focused on “businesses with a codebase that release it under some license”. He doesn't understand community-driven software that isn't tied to on specific corporate entity.

    The GPL is specifically designed for community-driven software that is not tied to one company. Matt could very well be right about the limited, pro-corporate world he occupies; it could very well be better for them to use the Apache license.

    However, individuals and very small contracting agencies benefit best when they can be put on equal footing with the big guys. The only types of licenses that do this are copyleft licenses.

    Finally, declaring that people's life's work trying to make the world a better place — even if you disagree with their politics — is disingenuous at best. I've spent most of my adult life working to make the GPL and the codebases around it better. I'm sorry to hear that Matt thinks I've been busy dumping radioactive waste on his world.

  • by Angst Badger (8636) on Wednesday April 29, 2009 @03:03PM (#27763543)

    If your goal is wide acceptance in the business world, then yes, the Apache license or BSD or, for that matter, public domain is far better than the GPL in most cases -- other posters have noted the glaring exceptions.

    If your goal is maximum utility for individual users, then the GPL or a close relative is the way to go.

    The thing about ESR and RMS is that they approach the issue from diametrically opposed positions and assume that everyone must follow their lead, when the fact is that motivations vary. I was interested in Free Software from the beginning for reasons that were (and remain) essentially altruistic: I wanted to help develop software that would be useful to individual users and accessible to individual developers of like mind. I don't care one way or the other if anything I've done becomes especially popular or widely adopted in the business world, though I have contributed to projects that were.

    ESR and many of his supporters, on the other hand, do care very much whether their work is adopted by the corporate world, and many of them are hoping to profit from it. While that's not to my personal taste, it's all fine and well, and I support their freedom to take that approach.

    That said, it has often seemed to me that if you want to write software for the corporate world and to make decent sums of money at it, it makes a lot more sense to just get a programming job at a corporation or start a closed-source software company. I know there are a lot of folks out for world domination with varying amounts of tongue-in-cheek, but I've never been convinced that there is any tangible benefit for individual users (including myself, when I'm using rather than coding software) to be derived from massive corporate adoption of most FOSS software. Conversely, there is a great deal of risk, not to corporations playing with "viral" licenses, but to the freedom of free software itself, when you play games with large corporations with lots of money and attorneys. In such a contest, the small FOSS project is always overmatched unless it aligns itself with another large corporation, which entails even more risk.

    Anyway, the long and the short of it is that we have many different kinds of free/open licenses for the simple reason that developers have many different goals for their projects. One size does not fit all, ESR and RMS to the contrary.

It was kinda like stuffing the wrong card in a computer, when you're stickin' those artificial stimulants in your arm. -- Dion, noted computer scientist

Working...