Slashdot Mirror


The Cathedral In The Bazaar?

replicant_deckard writes "This opinion piece I wrote to Open explains how dual licensing (simultaneous use of both GPL and proprietary license) works. Dual licensing gives you basically both the support of the community and a profitable Microsoft-like business model. Seems that this model used by MySQL and TrollTech is getting more popular. Now my question is where are the limits?"

22 of 187 comments (clear)

  1. The limits... by NitroWolf · · Score: 4, Interesting

    ... are where one license conflicts with the other. Why put artificial limits on it?

    1. Re:The limits... by Sad+Loser · · Score: 4, Insightful

      Are when you have to employ people on a contract so they can feed their kids.
      Although the article is a bit (very) thin, it makes the important point that it is possible to do both (although it doesn't mention the NuSphere problems).

      A point that may be relevant though, is that these were mature products which went GPL, i.e. they protected their IP until they had a sufficiently large user base.

      --
      Humorous signatures are over-rated.
  2. This works great by ArsonSmith · · Score: 5, Insightful

    This is a great way for software to develop.

    It allows companies to sell closed source versions of software that they develop and it also allows the community to develop changes. If the community gets large enough it may even out pace the starting company, or if there isn't much community than the company will just get all the nice security patches that open source is so good for.

    --
    Paying taxes to buy civilization is like paying a hooker to buy love.
    1. Re:This works great by MoThugz · · Score: 5, Informative

      It's not all roses and no thorns you know... Even with a 100% GPL/Open Source product, conflicts can exist between developers/community members that can code. Most of the time, this will result in forks of a project (eg. PHP-Nuke and PostNuke).

      Now imagine a situation when one of the developers for a dual-license software who contributes actively to the product refuses to allow commercial use for his contribution. This can cause havoc to the dev process because the status of the commercial aspect of the software is now questionable.

      If the particular procedure/call/parsing/whatever is rewritable by the other developers then the problem would be minimal. But what if that particular lines of code is an essential part of the end product itself, and that it is just (near) impossible to write a more efficient replacement code?

      You will hear cries of "Fork! Fork! Fork!" in the background baying for blood (or code in this sense). Consider that...

    2. Re:This works great by 7-Vodka · · Score: 4, Interesting
      I don't understand. The parent post says that if a product is licenced under the GPL and a proprietary license, I can submit a patch to the GPL part of the product, and the company can then sell my work as proprietary?

      Not only is this copyright infringement against me, it's also a violation of the GPL under which my patch is licenced.

      Explain this to me again.

      I thought that if a project was dual licenced in such a way, that in order for the proprietary licence to continue to be applicable, the company has to keep the codebase they sell completely pure, and free of GPL submitted patches.

      --

      Liberty.

  3. Software developed by trolls? by sulli · · Score: 4, Funny

    Sounds awful.

    --

    sulli
    RTFJ.
  4. Perhaps... by lgordon · · Score: 5, Informative

    The author should have researched his "piece" before he had it "published." After reading the article, I found a lot of overview with nothing to say. What? MySQL has both an open source and commerical license? What are the differences? Well, maybe it's on page 2.

  5. Isn't the limits pretty obvious? by GauteL · · Score: 5, Insightful

    It only works for software that is a platform for other software, which quite frankly is not the majority of software out there.

    For this to be sustainable, you need lots of other companies that like your platform but wants to create proprietary software. This also means that the Free Software Foundation might not like it too much, but that is probably something absolutely everyone cares about.

  6. What about Apple's strategy? by goon+america · · Score: 5, Interesting
    What about companies that offer a proprietary frontend for a open source backend, like Apple does with OS X? Couldn't that be considered a kind of dual licensing?

    IMO, this is OK because with Aqua (the user front end for OS X) Apple is really selling the user experience, not just a powerful tool. It's still software but the goal is different. I think of Warcraft 3: they are really selling the experience; the artwork should be proprietary, while the engine that runs it should be open. That's just what I've been thinking recently.

    1. Re:What about Apple's strategy? by ArsonSmith · · Score: 4, Funny

      This is similar to the open source engine stratigy of the few game companys that are open sourcing game engines. let the backend be maintained by the community and keep the graphics and sound files as something you have to buy.

      but then again, MacOS X is about like a video game anyway :)

      --
      Paying taxes to buy civilization is like paying a hooker to buy love.
  7. I think this is great by leereyno · · Score: 5, Insightful

    I think this is a great idea because you get the best of both worlds. You're able to sell your code to people who want to use it in closed source products AND if it is any good it gets used in open source products. The more it gets used in open source projects, the more companies there will be who come knocking at your door wanting to license it from you.

    One of the main values of open source is that it provides a viable alternative to closed source solutions. You don't get stuck with whatever Microsoft or Oracle or Sun wants you to have. It also allows solutions to be custom tailored to fit a particular problem or situation. The downside to it is that it is often difficult at best to actually make money creating open source products. The people who make money are the ones who USE the products to achieve a result that would be expensive or impossible using closed source solutions. IN other words it is the customers of open source vendors who reap the biggest profits from open source.

    When open source vendors dual license their products we all win. The vendors win, the open source community wins, and the companies that want to license it for closed-source work win. Everyone gets what they want and that is not a bad scenario at all.

    Lee

    --
    Muslim community leaders warn of backlash from tomorrow morning's terrorist attack.
  8. How does this work? by mark_space2001 · · Score: 4, Interesting
    So how does this actually work, legally speaking? I thought the GPL prevented code from changing licenses after being released under the GPL. So I don't see in Mandrake's case how they can go from a GPL product back to more restritive licensed one.

    I understand that there are original copyright holders who are different from the GPL itself, and those copyright holders retain many rights. But I though once the code was out under GPL that was pretty much it.

    Is it just where you get the code? Same source, but a different text file to read and click "ok" on? So someone agrees to a different license in exchange for something else (better support, in Mandrakes case). Whereas if you got the source under GPL the copyright owner can't retro-actively change your righs to something else? But you can voluntarely agree to a different license?

    That's the only way I can figure this would work. IA like way NAL, so I can't figure this out. Does anyone know for sure?

    1. Re:How does this work? by leereyno · · Score: 4, Insightful

      If I write code and place it under the GPL, then the licensees are the ones who are bound by it. I, as the licensor, am not bound by it.

      Lee

      --
      Muslim community leaders warn of backlash from tomorrow morning's terrorist attack.
    2. Re:How does this work? by DeepRedux · · Score: 5, Insightful
      A copyright owner can release code under any number of different licenses. Releasing code under the GPL does not prevent the owner from also releasing it under a proprietary license. Only the copyright owner can relicense a code; you cannot relicense a GPL code that you have only downloaded. The owner generally has to make sure that they get a proper copyright transfer to assume ownership of any contributed code.

      The dual licensing model only works, as a business, when there are customers who will pay to avoid the "viral" features of the GPL. If everyone was happy to use the GPL, there would be no business in dual licensing.

    3. Re:How does this work? by frohike · · Score: 5, Informative

      So how does this actually work, legally speaking? I thought the GPL prevented code from changing licenses after being released under the GPL.

      This is a common misconception about the GPL (and about copyright law in general) which we had to deal with when we were talking with some Sega folks a long time ago regarding KallistiOS.

      We first published it under the GPL, which they believed meant that it could never be used in anything except GPL'd software, ever. The very next version we released an updated code base under a "new BSD" license. Everyone was scratching their heads... "How can you do that since you already released it under the GPL? I thought that was it?" The answer is that we still owned 100% of the copyrights in the code base, and we voluntarily issued a new version under the terms of the BSD license. The older version, of course, could still be used under the terms of the GPL since we already licensed it to the public.

      Basically when you own the copyrights for something, you can do whatever you want to do with new versions (or the old versions, depending on how you licensed it to begin with). You can republish the same exact piece under a different license, or you can even pull back in all your new codebase and make it proprietary. The key thing is, has anyone else contributed a copyright to the work that would make it a joint copyright situation? In that case, you'd also need the permission of that contributor to make that and any future license changes.

      Thus we get back to where most Free Software folks understand the situation: e.g., in the Linux kernel, there are about a billion different copyrights on it. Linus, or any one contributor, could never change the license on the kernel. They'd need the permission of every contributor to the kernel, or they'd need to get them to sign over all their copyrights. So once people start contributing to your project, under their own copyright, you can't change the license anymore. You could always rip out their code and publish your own version with a new license, of course, assuming you could distinguish who wrote what code with 100% certainty.

      That's why the article's author went on a long spiel about MySQL vs Linux: MySQL retained 100% of their copyrights, so they can dual license their code base or do whatever they want with it; Linux can not be relicensed that way. If someone contributes code to MySQL AB, I'm assuming they force you to sign over the copyrights before they'll include it in their internal code base. Linus doesn't. This is also, incidentally, one of the major strengths of Linux-style Free Software -- it's de facto free forever, because one company can never make the future official versions of the project proprietary.

      Take all that with a grain of salt, standard CYA/IANAL applies, but I've been studying this crapola for a while on my own :)

    4. Re:How does this work? by _|()|\| · · Score: 5, Interesting
      So how does this actually work, legally speaking?

      It is very common for software to be licensed under different terms. For example, one person may get an unlimited, perpetual license to use Oracle, wherease someone else may get a ten-user, one-year license. Same code, different licenses.

      Similarly, one person may get a paid license for Aladdin GhostScript, someone else may get it under the AFPL, and someone else may wait a year and get it under the GNU GPL. The code may be identical, but the license defines what you're allowed to do with it.

      It may be depressing to realize that you've paid thousands of dollars for something as intangible as a license, but sometimes it's called for. Opera Software, for example, doesn't want to release their browser under the GPL, so they've paid TrollTech for the right to link to Qt without distributing source.

      Someone who pursues a strategy like this runs the risk that someone else will develop an improvement, without assigning copyright (i.e., create a fork). If the improvement is compelling, it can cut into the demand for the proprietary version.

      This opens up some other interesting scenarios. For example, someone forks Qt from the GPL source. It would not be legal for Opera to link to that version without permission from TrollTech and the owner(s) of the fork.

  9. the Application Kit by EccentricAnomaly · · Score: 4, Interesting

    What about allowing open access to the internals of your code and all of its objects along with documenting how it works without releasing the source?

    Say the way the Cocoa Application kit works. All of the code is closed source, but any developer can use the objects in the application kit or write their own objects to replace ones that Apple wrote.

    In principle any Cocoa application's objects can be accessed by any other app.... in essance every Cocoa app is a mini Application kit without the documentation.

    This might be a way to open up your program for other developers to enhance and use in their own apps without giving away any of your source. This would work especially well with the free as in beer programs. (hey kids, download my super enhanced iPhoto that enhances the free iPhoto that you already have)

    Apple could open up the objects in the iApps for third party developers and get many of the benefits they would get from open sourcing the apps without having to worry about someone porting the apps to a competing platform. Such a strategy could work well for other harware vendors like Sun or IBM.

    yeah there are problems with this, but this might be a new middle-ground between open and closed source.

    of course, a big problem is what if apple takes away the free app that the code you wrote depends on... maybe if that happens the developers that use the code that got yanked could get together and write an open source repcement (like Gnustep)

    --
    There are 10 types of people in this world, those who can count in binary and those who can't.
  10. Anyone else find the article a tad confusing? by Bamafan77 · · Score: 4, Informative
    Maybe I'm getting nitpicky in my old age, but this article seems to confuse several things. It often confuses free/retail with open-source/closed-source (often open source = free and close = retail, but not always.). And wrapped around all that is his confusion with GPL vs commercial customer licenses. Take the following quote for example:

    Look at Scandinavia. Go to MySQL and Trolltech. Check their licensing pages and consider: They are both open and closed. They offer products for free and they sell them, just as Microsoft does. This is called dual licensing [the cathedral in the bazaar]. What's more, it works.

    Does that seem a tad simplistic to anyone else? MySQL AB offers MySQL and that's it. Their money maker is both open and closed, and both free and retail(I suppose the same is true of Trolltech, but I know nothing about it so I won't comment on it). However, with MS the situation is much murkier though the author tries to paint a pretty picture. Sure they offer some stuff for free and a couple of their things are open sourced, but drawing a direct comparison between them and MySQL AB seems...strained to me. The only way such a comparison could be drawn would be if MS offered both open-source and free versions of their OS and/or Office Suites (ie, their money makers). Lumping them in with MySQL AB just because they give away their XML parser or a browser doesn't quite cut it.

    Think in positive terms: Open Source business such as MySQL and Trolltech may kill the so-called piracy problem.

    Maybe. But I think it's more likely that it shifts the focus to a different kind of pirate. In addition to all the guys grabbing software for free off of Napster, there are the businesses using more licenses for software than they claim and it's this group of pirates that will probably be seen as a problem.

    GPL plays an important part in an innovative licensing strategy that fits varied needs. If some valuable users prefer freedom, you can give it to them.
    He must mean free as in "with strings attached". ;)
    Anyway, while I think open source and free software has its place, I've yet to be convinced that it can be provided unilaterally in all areas (ie provided in such a way that business can maintain the same or greater profit levels as they'd have if the product was closed and/or retail )...however, the author of this article comes just short of claiming this (but I know he was thinking it, dammit!), so I won't criticize him on something he didn't write. However it's only a matter of time before an article gets posted which says this, so I'll keep my flame thrower handy. :)
  11. My company would love to do this... by ChangeOnInstall · · Score: 5, Interesting

    My company has two software products (libraries for developers). One is under an open-source license and the other is under a proprietary license. They are designed to work together, with the properietary one providing more business oriented features to complement the open-source one. Licensing of the proprietary product also funds internal development of the open-source tool.

    It would be advantagous to GPL the second product, in addition to licensing it commercially. This would allow people who want use it for open-source or otherwise noncommercial projects to use it free of charge. This is a good thing, as it provides a greater user base for the product and provides marketing and testing.

    My only concern with doing this is the issue of piracy. Some people/companies simply wouldn't pay $1000 for a single-server license of a product when they can simply download it and use it for free (albeit illegally). I don't have any interest in fighting piracy in cases where the product would not otherwise have been purchased in the first place, but I am somewhat concerned that smaller companies using the software on smaller projects would simply elect to believe that they are in the right using the GPL version in a commercial capacity. Obviously it would be made very clear that use of a GPL library in a commercial offering is prohibited by the GPL.

    Being a corporation, a core motive is to generate a good profit, so the primary factor in this decision is which licensing policy will provide the greatest profit. I couldn't care less if the GPL/proprietary model generates twice the piracy of the proprietary-only model in the event that it also generates twice the profit.

    The question on my mind is: "How many sales would I lose to people using the non-commercial version for commercial purposes?"

    --
    What has *science* done?!? -- Dr. Weird (ATHF)
  12. Misconception of CatB by LunaticLeo · · Score: 5, Insightful

    I am a bit annoyed by the constant mis-reading of the Cathedral and the Bazzar. ESR was originally exploring why the Linux kernel (aka the "Bazzar") progressed so fast without any published plan, nor an explicit patch inclusion process, and chaotically open mailing list. This was compared with FSF projects like gcc (aka. the "Cathedral"). Who had explict project goals and schedules, an elite group of patch committers, and a closed mailing list.

    CatB is not about Open vs. Commercial (usually closed). I do grant that Commercial is nearly always closed "Cathedral"-like development. But not always. The programming language Rexx was developed in IBM in a process like the "Bazzar". This worked because IBM mainframe community was pretty big and had good communications.

    So MySQL having GPL and Proprietary licencesing policies, does not make it both Cathedral and Bazzar. It has nearly always been Bazzar-like (though clearly they had fixed committers and some planning about features).

    Sheesh!

    --
    -- I am not a fanatic, I am a true believer.
  13. Re:Working for Apple by Anonymous Coward · · Score: 4, Informative

    > Take a look at the recent Safari browser. In essence Apple have taken what they could from the project, improved on it and then given back - that sounds just fine from that perspective, until you realise that the size of Apple has basically overwhelmed the small core of developers who have done the real work.

    You provide an example, but this one is completely incorrect. We (the KHTML developers) were quite pleasently suprised by Apple's usage of khtml, and welcomed it completely. If we didn't want it to happen, we would have licensed it under very restrictive licenses. However, we beleive in the spirit of free software, and the idea that companies that have made millions of dollars of profits from proprietary software can be benefitted from open sourced software. Apple's contributions to khtml not only helped themselves, but are valuable to kde itself.

    - mz

  14. Re:Addendum by kien · · Score: 4, Insightful
    With a motto of News for Nerds. Stuff that Matters., it really surprises me just how few actual news pieces are posted and discussed on this blog.

    Anyone else agree?

    Your question is pretty subjective. "Stuff that matters" to me might not matter to you.

    I read newspapers and their .com equivalents for breaking news. I read /. for the opinions of my peers about the issues that are "news for nerds.

    --K.
    --
    Sig: Bad people happen. Try to avoid being one of them.