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

21 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!
    1. Re:Doesn't really matter by jellomizer · · Score: 2, Informative

      Duel License is a lot of work.
      First you need to verify all people who contribute know the product will be duel licensed and all their contributions will go as such. Second you need to insure that Single Licensed GPL Code doesn't leak into the Commercial version.
      Third You will always need to make sure the commercial version is just as good if not better then the GPL one so if you need to replace that GPL only module it better work just as well if not better. As people are paying for the commercial version and they demand it be better then the free one.
      Forth you need to be extra careful for rogue code entering the commercial version from the GPL side. Granted this is rather rare for GPL coders, but you need to be extra careful because once money is traded for software then your legal libilites increase.

      That is a lot of work, and giving yourself a competitive advantage usually means having something that no one else has. Going GPL really forces you to go in a service buisness vs. a Software Development business.
       

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    2. Re:Doesn't really matter by synthespian · · Score: 2, Informative

      I'm in a business where we welcome GPL-licensed apps with open arms. Of course, we don't sell software, we sell services and expertise.

      Well, many people sell service and expertise and they use non-GPL products. For instance, the URLs below will take to people who sell services and expertise in *BSD systems.

      http://www.freebsd.org/commercial/consult.html
      http://www.openbsd.org/support.html
      http://www.netbsd.org/gallery/consultants.html
      http://www.ixsystems.com/

      --
      Main difference between the BSD license and the GPL license: one is from California and the other is from Massachusetts
  2. It differed from the last BSD version by Anonymous Coward · · Score: 3, Informative

    in that the Apache license dealt with patents (which, being outside copying is still able to ensure you can never use the original BSD licensed code if someone takes a patent on it) and therefore was a better BSD than the BSD license.

  3. If it's not your CODE... by Anonymous Coward · · Score: 2, Informative

    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.

    1. Re:If it's not your CODE... by gerddie · · Score: 2, Informative

      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.

  4. Re:ah folks GPL3=ASF2 legally by chabotc · · Score: 2, Informative

    Woops, you seem to have heard some rumor, misunderstood it, and then attempted to spread it as if it were truth.

    The real story is that hard work has been done to make the GPL3 *compatible* with the Apache License 2 (or APL v2, ASF is the 'Apache Software Foundation' and not a license).

    Compatible, ie that GPL3 software can link too APL software, is new (GPL2 code wasn't able to link to/include Apache licensed code), is new.. But that is not at all the same as being *equal*, the APL is a BSD like license which means you can do pretty much almost anything with it (as long as you include the copyright headers and notice/readme files), while the GPL3 has many restrictions that the APL doesn't have, the best known one being the viral clause that says you can only link to GPL'd software if your product is GPL too.

    Please stop telling people the APL2 and the GPL3 are 'equal', legal issues around licensing are confusing enough without this type of miss-information :)

  5. Re:ah folks GPL3=ASF2 legally by Anonymous Coward · · Score: 1, Informative

    Moot point, not "mute".

  6. Anyone having weirdness? by Reality+Master+201 · · Score: 1, Informative

    I opened this article and was somehow in a different users account; I refreshed several times, and got at least a half dozen user accounts other than my own.

  7. It's simply a matter of business by Bruce+Perens · · Score: 3, Informative

    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.

  8. Re:Tell you my "stragetgy" by Nursie · · Score: 3, Informative

    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.

  9. Re:GPL is a hindrance by TheRaven64 · · Score: 2, Informative

    What you see as not letting you contribute back, I and others would see as refusal to open up more of your work.

    Exactly, it's an 'if you aren't with us then you're against us' mentality, and most people decide to pick 'against us' when confronted by that attitude. Which of these do you think benefits the Free Software community most:

    1. No change.
    2. A brand new proprietary project reimplementing an open source project and adding extra features.
    3. Contributions to an existing open project and a new proprietary project building on top of it.

    Personally, I'd pick option 3. In an ideal world, the new project would be open too, but I have the option of not using it and I don't really care if people create a few million proprietary programs that I don't have to use. If they contribute back any code to the community, it's a net win.

    The problem with the GPL is that it doesn't permit compromise. Unless you fully agree with the FSF's philosophy then the GPL keeps you on the outside. Take a look at GCC for an example of this. Apple wanted to be able to use the parser and semantic analysis bits for syntax highlighting. The GPL stopped them from doing this without opening up all of XCode, which they didn't want to do. The outcome? Apple stopped contributing the GCC (a loss - they wrote a lot of the PowerPC back end, did a lot of work on SSA and vector optimisations) and switched to focussing on LLVM and writing a new C language family front end for it. Apple gets a new modular parser for C-family languages and can use it in XCode. The rest of the world gets a BSD licensed C/C++/Objective-C compiler built on top of a powerful optimisation framework. And what does GCC get? The switch to GPLv3 also managed to alienate the BSDs, so they lost more contributors there.

    So, did we lose an IDE? Maybe, but considering that Apple were willing to write a new parser for it, it doesn't seem like open sourcing XCode was really very likely. What did we gain? A new front-end for C-family languages. A new back-end for ARM systems. I suppose you could say we lost a GLSL implementation when Apple implemented their shader fall-back JIT on top of LLVM too, since the license meant that they didn't have to release their code. If you said that, however, you'd be missing all of the improvements they made to LLVM to make it suitable for this which are now being used by Tungsten Graphics' new graphics driver architecture for *NIX systems (Gallium3D).

    --
    I am TheRaven on Soylent News
  10. 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.

  11. the solution is to upgrade to GPL 3 by viralMeme · · Score: 2, Informative

    The Free Software Foundation considers the Apache License, Version 2.0 to be a free software license, compatible with version 3 of the GPL.

  12. Re:Tell you my "stragetgy" by spitzak · · Score: 2, Informative

    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 makes GPL not affect you.

    GPL is used on projects where the author cannot imagine any modification that would be anything other than a competing project.

  13. Re:GPL is a hindrance by Nursie · · Score: 2, Informative

    A ten-line GPL module can infect an entire project.

    Then don't use it, your choice. Please stop thinking that Open Source == Public Domain. GPL is specifically written to make sure that it can only be used by pieces of software that are similarly licensed.

    And it's not just proprietary software that gets infected--BSD, say (remember that BSD-licensed driver that was changed and re-released under the GPL, so the BSD guys couldn't get access to what they originally made)?

    The GPL is not ethical. Totally within their rights to use, but it's unethical and I won't use it.

    No, the actions of those folks were unethical.

    But, and here's the thing, the BSD license allows them to do that! That's precisely the behaviour that use of the GPL seeks to stop!

  14. Re:...then IBM wouldn't be into OSS at all by A.K.A_Magnet · · Score: 2, Informative

    And, it is also possible to (gasp) add proprietary code on top of a GPL project too. It simply takes a bit more work. Several companies have been doing this with Linux for years. Here's how to do it: 1. Submit hooks into the GPL code back into the GPL project. These hooks will be used to connect your proprietary code into the GPL code. Most likely these changes will be rejected by the project. Who cares? You've done your bit. 2. Now use the open source hooks that you submitted, but were rejected by the GPL project to create a new GPL project that includes those hooks. Can't stop you from forking a project! 3. Now build the proprietary layer of your code on top of the hooks. As long as you are dynamically linking into the GPL portion of the code, you are safe from the GPL license. Otherwise, you wouldn't be able to run any proprietary third party application on a Linux box. If that was the case, IBM would have dropped Linux a long time ago. 4. Rake in cash by leaching off the GPL software project!

    Nope. Your "loophole" doesn't exist, you cannot link either dynamically or statically on top of a GPL'ed piece of software without your code being GPL'd. But as with all copyright infringement (which is exactly what you are describing), a copyright owner has to complain / sue you. In the case of proprietary Linux modules, they are tolerated by Linus and other kernel developers because they feel they add value anyway. So it's a tolerance that might as well stop tomorrow.

    Why is Nvidia safe? Because they don't themselves distribute GPL'ed code. They only distribute their modules which are very similar to Windows or Mac drivers. The only Linux-specific parts are the interface/hooks and this is rarely considered as derivative work (it really depends on the interpretation of the judge at the trial), so that's how far the legal uncertainty goes for Nvidia.

    If the user himself links proprietary to GPL'ed software, he is safe: the GPL has no provision preventing the end-user from any usage. However, the ones who are distributed GPL'ed software automatically linking proprietary modules to the kernel are.... Ubuntu and other distributions (note that Debian does not). They are actually the ones most likely to be sued if a kernel developer with copyright relevant to the graphical subsystem in the Linux kernel (or some code from which it was derived) wanted to go against the flow (because, most kernel hackers stopped caring even if Greg K-H complained about it, and obviously Linus doesn't give a shit because he's "rational").

    Now, do the same with a GPL'ed project whose copyleft belongs to the FSF and it will be another story altogether. I think it might hurt :). So what you're saying will work only if the original authors don't want to enforce the GPL for a particular case, and you should ask them first -- they will never say they don't care officially, but you can still test the water if you like to play.

    I agree this licensing stuff is tricky, but the GPL actually works and makes sense (but if I lack sleep I can't wrap my head around it).

  15. -1 troll by Nursie · · Score: 3, Informative

    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.

  16. Re:GPL is a hindrance by Nursie · · Score: 2, Informative

    "And that's why it's unethical: because it attempts to dictate its morality on other people. It's headfucked."

    And you're dictating yours, you fucking moron.

    "These people should work for free and let me do what I want with their code! WAAAAAAAAH!"

    Don't like the license, don't fucking use it. But stop bleating, for god's sake, it's pathetic.

  17. Re:Embrace and extend all over again? Raymond's FU by alexandre · · Score: 2, Informative

    After my last comment, i went to look a bit at wikipedia, and, what do we get:

    http://en.wikipedia.org/wiki/Darwin_(operating_system)
    ----------------8----------------
    On July 25, 2006, the OpenDarwin team announced that the project was shutting down, as they felt OpenDarwin had "become a mere hosting facility for Mac OS X related projects," and that the efforts to create a standalone Darwin operating system had failed. They also state: "Availability of sources, interaction with Apple representatives, difficulty building and tracking sources, and a lack of interest from the community have all contributed to this."[15] The last stable release was version 7.2.1, released on July 16, 2004.
    ----------------8----------------

    So I guess I'm not the only one feeling that way.

  18. Re:Embrace and extend all over again? Raymond's FU by Draek · · Score: 2, Informative

    I'm sorry, but why exactly are you implying that you can't dual with BSD as well if you own the code and accomplish the same thing? A public BSD licensed version and a private proprietary licensed version with your extensions to the core.

    You're right, of course, but what the GP failed to mention (but probably thought about) is that with the GPL you can have a dual-licensed product *without* propietary extensions and still have a workable business model, all thanks to some businesses' fears of open-sourcing their own code. Not so with BSD.

    With Mac OS X you're confusing two parts of the system as if they were one. The OSS portion of OS X is perfectly usable.

    But how useful is it? the F/OSS part has almost none of the features that are commonly associated with OSX, can run practically none of the OSX-exclusive applications, and I've yet to see a single reason to use it instead of Linux or the BSDs. And I believe that was the point of the GP's argument, not that it was broken and couldn't even compile but that it could hardly be called OSX.

    Purely OSS projeccts are for geeks alone to use. There isn't a large scale OSS project anywhere that can be considered end user ready with a good interface, reliablity and good performance that isn't backed by some company using it to its for its own means.

    Which single company do you consider is behind the Linux kernel, for instance? or GCC? it's obvious that once a project gets big and useful enough, companies will start investing in it but that doesn't mean they're controlling the project's direction, certainly not if there's more than one contributing large amount of patches.

    --
    No problem is insoluble in all conceivable circumstances.