Forgot your password?
typodupeerror
Linux Business

The Cathedral In The Bazaar? 187

Posted by timothy
from the your-code-your-decision dept.
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?"
This discussion has been archived. No new comments can be posted.

The Cathedral In The Bazaar?

Comments Filter:
  • The limits... (Score:4, Interesting)

    by NitroWolf (72977) on Friday January 10, 2003 @06:44PM (#5059161)
    ... are where one license conflicts with the other. Why put artificial limits on it?
    • Re:The limits... (Score:3, Informative)

      by ArsonSmith (13997)
      Most all dual licensed software is an 'or' not an 'and' license. this means that you can distribute your software as either the propritary license or the GPL license. Typically for the company to include the patches with the main product you will have to license it under the propritary one that will usually include the GPL license as the dual portion.

    • Re:The limits... (Score:4, Insightful)

      by Sad Loser (625938) on Friday January 10, 2003 @07:12PM (#5059374)
      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.
  • With all due respect (Score:3, Interesting)

    by Amsterdam Vallon (639622) <amsterdamvallon2003@yahoo.com> on Friday January 10, 2003 @06:46PM (#5059174) Homepage
    Why is everything that gets posted on Slashdot these days either:

    A) A write-up done by someone boasting about their latest article, experiment, or "product",
    or
    B) A write-up done by one of the editors that sounds sneakily like an inside-job advertisement done to line the wallets of VA, OSDN, Slashdot, or whoever the hell owns this site these days

    Just an honest question -- don't mean to offend anyone.
    • 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?
      • Re:Addendum (Score:4, Insightful)

        by kien (571074) <kienNO@SPAMmember.fsf.org> on Friday January 10, 2003 @11:31PM (#5060602) Journal
        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.
    • I couldn't even read the article until I realized I could turn off the shockwave on the right frame by right-clicking on it, and unchecking "play". The stupid animation was way to distracting.

      So to anyone else that wants to read the article (and you have shockwave, etc), please turn off the animation before you give yourself a headache ;-)

      --gal [slashdot.org]

    • I don't mind if I offend anyone. That was a pretty crappy article. I found myself clicking on the little icon at the end because I thought I had only read page 1. Way to scratch the surface, submitter.

  • by stratjakt (596332) on Friday January 10, 2003 @06:46PM (#5059178) Journal
    Where'd you last use them?

    I swear, you'd lose your head if it wasn't attached at the shoulders.
  • This works great (Score:5, Insightful)

    by ArsonSmith (13997) on Friday January 10, 2003 @06:49PM (#5059192) Journal
    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.

    • Re:This works great (Score:5, Informative)

      by MoThugz (560556) on Friday January 10, 2003 @07:57PM (#5059632) Homepage
      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 [phpnuke.org] and PostNuke [postnuke.com]).

      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...
      • Re:This works great (Score:3, Informative)

        by Eric Smith (4379)
        If a developer wants to pursue this dual-license scheme and also to accept contributions of patches or extensions from the user community, it is important for the developer to inform contributors of this up front, and to require that ownership of contributions transfer to the developer.

        Certainly you can't release a piece of code under the GPL, allow an active user community to invest a lot of work improving it under the assumption that it is always going to be GPL'd, then take the result commercial. Without copyright assignments in place, you'd be liable for infringement.

      • by motyl (4452)
        The people sending patches for the particular program will usually agree for dual licensing them, if not the company will simply refuse them. If they are very good, they may just reimplement it.

        It becomes more difficult if inclusion of already established GPL software is desired. For example if I would like to use code from gnumeric in OpenOffice SUN would not be willling to accept this code, even if it would mean great functionaliy. So FORK GPL only version.Good place to start would be sending such GPL only code to Debian maintainers. Debian has already removed from its openoffice package some small parts which were not under GPL. It would be interesting if they would start accepting GPL only code to openoffice.

        Or consider just a filter importing/exporting in gnumeric abiword whatever format - SUN can not use the free code from these programs in commercial version - but this means they will not be available at all!

        If there is enough interest from free software developers and enough synergy from including the code from other GPL programs then the project will be forked or the most interesting pieces of original code will be used in other, "completely free" projects.

        So we have 2 types of situations:

        1. Code licensed under dual license, but maintainers do not accept any code licenced to them only under GPL. - FORK probable.Maintainers do not let in any "GPL virus" if it is not "their" virus.

        2. Normal free software project - licenced under GPL and maintainders accept GPL only code.
    • Re:This works great (Score:4, Interesting)

      by 7-Vodka (195504) on Friday January 10, 2003 @10:41PM (#5060434) Journal
      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.

      • Re:This works great (Score:3, Informative)

        by Arandir (19206)
        You don't just "submit" code to a project and expect it to be included. If you contribute to a GNU project you need to sign a form transfering your rights to the FSF. If you don't want to assign your rights away, they're not going to use your code.

        The same thing happens with GPL/Commercial projects. The company won't accept your submission unless you give them the right to dual license it.

        If you're working on a project that has more than three developers, formal copyright assignments is Good Practice.
        • is that really true of the GNU project? I doubt it. I know that there is a practice of giving your copyright over to GNU but that's voluntary. I read so on their website. If i recall it's so that they can pursue violations for you etc.

          As far as other projects, it's not been my experience that you have to relinquish your copyright to them. In fact look at what happened when the WINE project decided to change licenses, they asked for permission of all the developers who had submitted code.

          You make these statements from personal experience? It sounds like it, but I've never heard of authors who submit patches having to GPL projects having to relinquish their copyright on those patches. It doesn't even make sense. Since the patches are GPL they can be integrated into the GPL project without any problems or any transfer of copyright. Each author of each bit of code retains his own copyright over that bit of code.

  • by sulli (195030) on Friday January 10, 2003 @06:51PM (#5059212) Journal
    Sounds awful.
    • by Anonymous Coward
      almost as bad as posts by trolls
      • Hey, I find the trolls quite interesting. There's an unlimited number of ways to hide a goatse link. And then there's the PC trolls on macslash who are so damn funny. i.e. the traditional one-button mouse flame, which completely ignores the well-known fact that unless you get a system from Alienware or other such company (or a handbuilt box), the original mouse is ALWAYS crap, and ALWAYS replaced.

        I find it all quite comical.
  • Working for Apple (Score:3, Interesting)

    by cacheMan (150533) on Friday January 10, 2003 @06:52PM (#5059218)
    They seem to be finding a way to use/contribute to open source software while maintaining a rather large amount of closed stuff.
    • You do realize, that apple is keeping the experience to themselves and leaving the technical mumbo-jumbo to the developers.

      iTunes is just a shell for mp3
      quicktime is just a shell for various codecs
      safari is just a kde technology rewrapped
      quartz just uses opengl

      The only inovation that apple sells, is the asthetics and experience.
  • Perhaps... (Score:5, Informative)

    by lgordon (103004) <larry.gordon@NoSPam.gmail.com> on Friday January 10, 2003 @06:53PM (#5059222) Journal
    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.
  • by GauteL (29207) on Friday January 10, 2003 @06:53PM (#5059223)
    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.
    • Just speculating here, But in order to merge the 2 workds of computer software here 'free' and 'payware', there seems to need to be some kind of separation of ones codebase (if integrated into a product. Has anyone went and developed some specs/apis/established metods to help people/companies easilty seperate their compnents as to keep propriatary stuff their own but still use 'open souce' code? Perhaps some kinda 'standard' would help cut down on all the naysaying and ppl freaking out about 'viral licenses" and such.
  • The limits are in what the coding co0mmunity will put up with and the opensource community..

    Note the current rift between Darwin coders and Apple over Darwin..
    • There are a few issues with this as far as limits go--

      1) If this is a *component.* (i.e. Berkely DB) dual licensing makes a lot of sense. In doing so, you make that component available to the widest possible market. But if it is a complete package (i.e. Mozilla) then you are essentially funding competition.

      2) Developers are more likely to contribute code if they believe that this project is going to be community owned, especially if they retain copyright for their piece. Dealing with this issue (requiring that copyrights get assigned and/or code bets fully licensed to your firm) is probably the worst.
  • by goon america (536413) on Friday January 10, 2003 @06:54PM (#5059233) Homepage Journal
    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.

    • by ArsonSmith (13997) on Friday January 10, 2003 @06:57PM (#5059253) Journal
      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 :)

    • the Application Kit (Score:4, Interesting)

      by EccentricAnomaly (451326) on Friday January 10, 2003 @07:44PM (#5059554) Homepage
      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)
    • 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.

      No... they're selling a platform. If MacOS X the platform was actually open source, where are all the API implementations we'd need to make Mac apps run on Linux?

      The idea that MacOS is a closed source frontend to an open source backend is fallacy - the backend is made up of many proprietary APIs just like Windows. I mean if the Windows kernel was open sourced, woop, but you'd still need to pay Microsoft to run Windows apps.

      • No... they're selling a platform.

        I think it's possible for us both to be right. You could say that Apple is selling a platform that gives a certain user experience. If Apple was selling a platform only, then it is more likely that it would have gone out of business a long time ago.

        If MacOS X the platform was actually open source, where are all the API implementations we'd need to make Mac apps run on Linux?

        You're talking about the (GUI) application development perspective and maybe that's true. I don't do any GUI development so that's probably why I didn't think about that. What I was thinking about was being able to click System Preferences, click Sharing, click "Start Web Sharing" as an interface frontend for running "sudo /usr/sbin/apachectl start" in the shell.

        • I think it's possible for us both to be right. You could say that Apple is selling a platform that gives a certain user experience. If Apple was selling a platform only, then it is more likely that it would have gone out of business a long time ago.

          Sure, their user experience is what defines them, it's what they market themselves as. What I was thinking about was being able to click System Preferences, click Sharing, click "Start Web Sharing" as an interface frontend for running "sudo /usr/sbin/apachectl start" in the shell.

          Ah yes, that's fine, not part of the platform as such, it's just part of the OS. That sort of stuff doesn't really need to be open, it's not a platform - people don't build stuff upon gui front ends to apache :) The Mac APIs are closed though, which makes the Mac a closed platform from the perspective of a developer writing applications.

  • by core plexus (599119) on Friday January 10, 2003 @06:57PM (#5059256) Homepage
    He could have written the entire article with this sentence: In the end, the user chooses if your product is worth buying or not. However, that statement, like the rest of the article, proposed nothing new. I don't mean to sound negative, but the article left me wanting.

    I've been working on an open-source GIS project for several years and have sold a few copies. I'd love to be able to support myself and a few employees in our venture, and until that happens, I'll just keep working on it, like a prospector searching for a vein of gold.

    Personal Strap-On Aircraft for Auction on eBay [xnewswire.com]

  • Free to Contributers (Score:2, Interesting)

    by Anonymous Coward
    How about a license that allows individuals (or organizations) that have contributed to the product in one way or another in the past are given a use license.
  • by leereyno (32197) on Friday January 10, 2003 @07:03PM (#5059313) Homepage Journal
    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
    • Why not use BSD from the start then? I don't really see the point of GPL and then another version that can be closed source and charged for. I guess though I do see the point of being able to offer licensees a "closed" version to redistribute, but still you can do the same with BSD. All having another license available does is point out the flaws in the GPL license. At that point why not just use BSD and ignore GPL completely?

      BTW I say this as someone who is for GPL and don't even use any of the BSD's.

      • I've released some minor GPL'd code for which I've also sold a commercial, non-GPL license. In my case, the point is that I'm perfectly willing to allow the community to use it under the GPL, and I'm perfectly willing to let my commercial licensee pay me for the right to use it without the GPL obligations. But as the developer, I am NOT granting anyone else the right to modify it then sell their own version as closed source.

        I view the GPL obligations as being in a sense "payment" for the work I put into the code. You can pay me by honoring the GPL terms, or by negotiating to pay me cash. Why should I allow a third party to take my work "closed" without paying me?

        Note that I am not criticizing people who chose to release code under a non-copyleft license, such as the BSD or X licenses. It is clearly the perogative of the copyright owner to choose what terms he or she wishes to use.

      • Why not use BSD from the start then?

        Because then companies that want to use your software but not distribute their own source would just grab the BSD'd version and not pay you anything.

        The beauty of the dual-licensing scheme is that it allows anyone who wants to write free software to avoid paying completely, but forces anyone that wants to write non-free software to pay -- and often they're happy to do so, since that's how the traditional proprietary model works anyway, and they're used to that (except that with dual-licensed software, they also benefit to a degree from the work the free-software community does).

        The only drawback I can see to the dual-licensing scheme is that it could result in companies who might just switch to writing free-software, if that was their only choice, remaining in the proprietary camp. An example might be something like a hardware vendor that really benefits little from selling software for their chips or whatever (and could potentially benefit more from the wide distribution of free software), but keeps on making their software proprietary simply because that's what they're used to. [I work for such a company (writing free-software), so I'm very familiar with this mindset!]
      • The difference between the GPL and BSD licenses would be irrelevant if everyone out there was willing to always redistribute their code changes when they distributed a binary based upon them.

        The problem is that some people want to take the code and run. The issue is one of human nature. Some people want to reap the benefits of what others have contributed without being willing to contribute back themselves. The GPL forces them to do this whenever they redistribute their code. If they make changes and use it internally only, and don't pass out binaries based upon those changes, then this aspect of the GPL does not affect them, but then again how would you police them if it did?

        Some people look at the GPL and see communism. Well, they're right. The old marxist adage of "from each according to his abilities, to each according to his needs" is pretty much what the GPL implements. This model works for software when it is VOLUNTARY because the value of that software to its creators is not diminished when others use it, especially if they contribute back. If the product were something physical like a bicycle, then there would only be so many bikes to go around and unless the producers were paid to make more there would be no more bicycles produced unless people who recieved bicycles came into the factory and contributed parts for new ones or ran the machines to produce them.

        The main problem with communism is that the only understanding that most poeple have of it is what they've seen in places like the Soviet Union where it was tied to, and made the excuse for, a totalitarian regime. Communism can work on a voluntary basis for some things, but not everything. It does not work when it is put in place by force. This kind of communism is to me one of the greatest evils ever created by man. Enslavement is enslavement no matter what kind of ideological bullshit you use to justify it. Even the Russian people knew this. It is summed up in the old russian adage "I'll pretend to work as long as they pretend to pay me." Such enslavement is only possible where the rights of free people are oppressed by violence. In a free society it is not possible to continuously rob people of the proceeds of their efforts under the guise that you're making everyone equal because everyone is equally bad off.

        The good news is that the GPL is not about communism as practiced in the Soviet Union. It is not about enslavement it is about freedom. It exists within a free society. Stallman and the rest of the FSF bunch can be the biggest Marxist/Leninist idiots the world has ever seen. Now I'm not saying that they are, I'm only pointing out that it wouldn't matter one iota. The reason is that the GPL must compete with other methods of software distribution and compensation. No one is and no one can be FORCED to write code and place it under the GPL. However, if you want make use of or modify GPL'd code, then you're bound by the GPL. This is good because only the people who want to play do so.

        Lee
  • by L3WKW4RM (228924) on Friday January 10, 2003 @07:03PM (#5059314) Homepage

    Vita Nuova [vitanuova.com] say in their most recent newsletter [vitanuova.com] that they are considering "a dual-licence scheme that makes the Inferno [vitanuova.com] software free for non-commercial use, but with a more traditional software licence for commercial use."

    A quick glance at the features [vitanuova.com] of the upcoming release reveals some clarification [vitanuova.com] on this:

    • It is available as `Free Software' (in the sense of the Free Software Foundation) if the use you make of it will also be made available on the same terms, as Free Software.
    • A more conventional software licence if the result of your work using Inferno will not or cannot be made Free Software.

    Inferno is the very interesting cousin OS to Plan 9 [bell-labs.com] (both modern descendants of UNIX). This would be a very cool thing.

  • How does this work? (Score:4, Interesting)

    by mark_space2001 (570644) on Friday January 10, 2003 @07:06PM (#5059335)
    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?

    • by Otter (3800)
      Basically it's this: TrollTech writes and owns the copyright to Qt. They offer the Unix/X11 version under both a commercial license and the GPL. (Well, and the QPL, as well, but forget that for now.) If you want to use it to write GPL applications, just go ahead and do it. If you want to write proprietary software, you need to pay TrollTech for the commercial license.

      This wouldn't work for Mandrake because a) they don't own the copyright on 99% of the sofware they distribute and b) most of the libraries are LGPL, not GPL, so users can write proprietary software with them anyway.

    • by leereyno (32197) on Friday January 10, 2003 @07:24PM (#5059433) Homepage Journal
      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
      • "Is that free as in Willy or as in bird?"

        Let's see ... ``Free Willy'' ... wasn't that a movie about a guy who wanted to be a nudist?

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

        I understand that. But what happens when I either modify your code and distribute it under the GPL (of course) or contribute to your source tree. Are you allowed to include my contribution if you offer your product under a more restricted license?

        What if your code is 50 lines long, and 200 other contributors not in any legal partnership with you (unless the GPL forces that relationship) grow the project to 500,000 lines of code. Since it all was based on your code, do you have the option of releasing that 500,000 line project under a more restricted license?

        This is one thing I haven't understood about the GPL.
        • What if your code is 50 lines long, and 200 other contributors not in any legal partnership with you (unless the GPL forces that relationship) grow the project to 500,000 lines of code. Since it all was based on your code, do you have the option of releasing that 500,000 line project under a more restricted license?

          You get a mess that is very difficult to legally handle. In fact, the FSF [fsf.org] is very adamant about all contributions to FSF code having their copyright signed over to the FSF. They feel that the number of copyright holders of the Linux kernel will make any GPL violation court case with the Linux kernel harder to win.

          - Sam

          • Well they can be adamant all they want, it doesn't mean I HAVE to do anything. If they want my copyrights, they can pay me for the opportunity cost of forfeiting the ability to use my own code in commercial applications.

            Besides, there is a difference between GPL'd code and FSF code. GCC is FSF code, something that some other party writes and places under the GPL is not.

        • This is where the "viral" nature of the GPL that some people complain about comes into play.

          I'm not a lawyer first of all. It seems to me however that the situation you'd end up with would be one where I'd only be bound by the GPL for the code that you had written. So if I really wanted to, I could distribute a closed source binary of the entire thing, but include as source only the portions that you or others had contributed to it. Or I could sell my portion of the source tree and, as per the GPL, provide the portions that others had created for free. Like I said though, I'm not a lawyer so I could be wrong about this.

          If someone wants to use GPL'd code in a closed source product, they usually want to use it to create something more than what that GPL'd code will do on its own. For example if someone wanted to create a product that made use of a fast database engine, they would license MySQL for that purpose. It would be the final product, not the database itself, that that company would be trying

          The best thing to do would be to try and find out what TrollTech or MySQL does with code contributions.

          Lee

    • by DeepRedux (601768) on Friday January 10, 2003 @07:29PM (#5059467)
      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.

      • If everyone was happy to use the GPL, there would be no business in dual licensing.

        It's not just the GPL. Sleepycat Software uses a similar scheme for their DB, but with an additional copyleft clause added to a traditional BSD license.
    • by frohike (32045) <bard.allusion@net> on Friday January 10, 2003 @07:30PM (#5059483) Homepage

      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 [allusion.net].

      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 :)

      • How does this dual licensing scheme compare with a BSD license? What's the difference?
        • As far as I understand it, a dual licensing scheme allows you to set conditions on proprietary use of your software. So for example, mySQL can say "we will sell you a license to to incorporate our product into your proprietary Internet groupware package, but in return, we get 5 percent of net profits plus the phrase 'powered by mySQL' featured prominently in packaging and sales literature." This leverage is not a central part of the BSD license.
    • by _|()|\| (159991) on Friday January 10, 2003 @07:57PM (#5059637)
      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.

  • Wow, Open still exists? I remember getting on the NY-Boston shuttle and picking up what was essentially a hard-copy Slashdot: Roblimo talking about licensing, some techno-illiteracy and geek-stroking from Jon Katz and some obsessive-only news about one of the BSDs. I felt like standing up and shouting "First Post!" That was back when LNUX still had a three figure price.

    Apparently it still exists in some form. I'll tell you this -- only the open-source movement could create an online magazine that's too difficult to read. In Mozilla, I swear I couldn't figure out how to read anything in the magazine or about it.

    Fortunately, the submitter was kind enough to link it directly. MySql and TrollTech still exist, huh? Boy, with news like that I should bookmark that site, and eventually figure out how to read it.

  • Best example I have is as follows: I use MySQL for alot of smaller customers that used to be candidates for xBase or MS-Access size database installations, and because I pre-wrote a transaction logging piece (semaphore based), they can even do a moderate amount of transaction-like processing for finances, etc.

    Assume that I had a lot of these installations, and the businesses grow and become 7x24 businesses via the Internet, etc. At that point it makes sense for the businesses themselves to buy support so that if I am not available for any reason and they start throwing database errors, etc., they can get the type of support they need.

    Now then, multiply the fact that I am one small consultancy business owner by a large number of similar consultants across the company and around the world (if there are any that use mySQL in a similar manner). Taking it to the extreme, assume that we so good that suddenly mySQL becomes the predominant DBMS platform for all businesses with less thatn 100 employees...(I don't think that that this is realistically going to happen by the way)

    So how big are the limits to servicing Open Source software? As big as the business and professional market grows it to be.

  • Sounds dumber than the rantings of a drunken finn at the bar. The whole idea of cathedral and the bazaar is development methods, not copyright law. Certain licenses, "Open Source" or "Free Software" licenses, do help allow for this type of development. The author sounds confused, not insightful. Wonder why he got posted to the frontpage...
  • The catch (Score:3, Insightful)

    by HiThere (15173) <charleshixsn&earthlink,net> on Friday January 10, 2003 @07:16PM (#5059396)
    The catch, if you are in the business of selling software, is that you need to own the copyright to all of the pieces. You are fine as long as nobody makes a successful fork. If that happens, though, you won't be able to sell that version (except under the GPL).

    So you need to keep the outside developers sufficiently happy that this won't happen. MySQL seems to have managed it. And various others. But you better have a large working product before you start. Some people have taken some BSD licensed code, polished it, and re-issued it under new license. That can work. It seems, to me, to be a bit unfair to the original coders (unless those are the people doing the relicensing), but it perfectly legit under the license, and the BSD folk say they don't mind.

    • Excellent point. That's one of the key differences between the RPSL [helixcommunity.org] and the GPL. We've got a dual-licensing model similar to the one described in the essay, but we retain the right to incorporate changes to the RPSL'd software.

      We wish we could be GPL-compatible, but that is more of a restriction in the GPL than in the RPSL.

      Rob Lanphier
      Helix Community Coordinator [helixcommunity.org]

  • For games? (Score:3, Interesting)

    by phorm (591458) on Friday January 10, 2003 @07:30PM (#5059482) Journal
    I was actually just thinking about this recently. A lot of people are clammoring for decent linux games, and why not? If we get a few good 'nix games, then we could see a lot of people at least trying the OS, if not moving over. On a DVD, you could have a crapload of drivers etc, make the disk bootable, and run without even loading off the hard-disk (except for savegames, etc). A DVD should be big enough to fit a scaled down linux OS, the game, and a bunch of graphics/etc drivers (with an autodetect, or again, something to save the config to the drive).

    Here's where I get stuck though: how do I make a 'nix game without making it entirely open source, if I want to make a profit but not have to write a million GPL modules or pay large licensing fees? I was thinking that one could: Write the entire engine source available. Make the game art, meshes, maybe even the config files copyrighted. I'm not sure if this would conflict.
    If it worked, you've got a fully workable game that people aren't allowed to copy (due to copyright on the artwork, etc). Since the game itself is open source, and only the characters etc are copyrighted, is there a GPL conflict? One could write a new game on the engine, or run the game with custom graphics (isn't the the current context of people using old doom/quake/etc engines).

    The only problem I would think of is: you probably have to make the engine easily acquried, and have the art addons entirely seperate on a sale disk - or can everything that can be o/s available on the same disk, and have it as a product with documentation outlining what belongs to whom, and what is actually being paid for.

    Code wants to be free... but talent and hard work work hopefully earn some money still, or 'nix-first games will still be a whiff of smoke in the future.
    • Re:For games? (Score:3, Informative)

      by dnaumov (453672)
      This has (or a part of it) already been done. It's called Quake. The engine is open-source and licensed under the GPL. The artwork is copywrited so you can't go around copying the full game.
    • It is perfectly legal to make a GPL game engine that plays copyrighted data.

      You can put it on the same disk. There is no requirement that everything on a disk that contains some GPL program has to be GPL. If such a requirement exitsted then the Linux distributions could not exist.
  • by deepchasm (522082) on Friday January 10, 2003 @07:37PM (#5059519)

    The problem, as I see it, is what happens when someone in the open source community contributes a significant module of code, rather than a small patch.

    They've written a piece of code, probably in a separate source file, put the GPL comment at the top and sent it to you. Surely they, by law, automatically own the copyright for this code, and they've released it under the GPL.

    So what right do you have to then go releasing it under your commercial non-GPL license?

    • Very good point.

      I could see how this could be different if the original code is released under some other license like the Mozilla license, but the GPL does put these type of restrictions on the company.

      Hmm...
    • This stuff has been on my mind a lot lately, which is one of the reasons I just spent a mod point on the above post. I've got a sizable code base and (if I may say) an interesting product... I'm pondering ways to offer it for sale, while simultaneously opening the source. Or maybe "sharing" the source would be a better way to put it?

      So I'm going to be selling it, while inviting people to add features. Hmm. I don't think I can expect anyone in the "open source community" to add code to this projct and then let me sell their stuff. Heck, I'd probably have reservations about donating significant amounts of code to someone else's business. How many people would spend hours working on a piece of code, knowing that someone else is going to sell that code and pocket the money... while the volunteer developer gets, at most, some personal satisfaction? Is that "volunteering" or just "exploitation?"

      If someone adds an interesting feature to the applicatin, I can see myself paying for the right to add it to the commercial version, but I can also see it being a real pain in the butt to haggle over the price of every contributed feature. Said butt-pain may not be worth the revenue.

      Volunteerism is what makes open source strong. If two people get interested in contributing to the GPLed version, that's twice as many people as are contributing to the commercial code base (i.e. me). Eventually, the GPLed version will almost certainly exceed the functionality of the commercial version. So, my revenue would hit zero, and the commercial thing would be a waste of my time and money. But can I have my cake and eat it too? :-)

      Two ideas come to mind...

      One, open the source with a license other than the GPL. Let people modify it for their own use, but not distribute binaries with their changes. That way the coder community can play with it all they want, while presenting little competition to the commercial version (whose target market doesn't know a compiler from a linker).

      Two, hope that what I've created so far is interesting enough that people will play with it and extend it for their own purposes, just because it's fun to play with it and extend it. In exchange for providing this platform to build on, I ask that any additions they choose to distribute be licensed to me for addition to the platform. In other words, hope that what I've created is so much fun to play with that people will pay me to extend it for their purposes, and payment will be in the form of the code to their extensions.

      Seems like a long shot, but it's an interesting idea.

      (Practically speaking, this whole commercial concept sounds like more trouble than it's worth. I have a day job, I like it, it pays better than this ever will... The best use of my time and energy might just be to open the source, offer guidance to anyone who wants to extend the code, and enjoy the ride. But theoretically speaking, making a little money on the side would be neat, and dual licensing presents some interesting issues.)

  • by Bamafan77 (565893) on Friday January 10, 2003 @07:51PM (#5059590)
    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. :)
  • by ChangeOnInstall (589099) on Friday January 10, 2003 @07:57PM (#5059636)
    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?"
    • 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).

      If the same product is offered under both licenses can I be legally considered a pirate if I download and use it commercially?

      Can MySQL AB sue me for running a DB for my business off of my downloaded copy of Mandrake? None of which I've paid for. The way the GPL is worded I don't think you can say that. Now morally you've got a point, but what does the law have to do with morals?

      • The way the GPL is worded I don't think you can say that. Now morally you've got a point,

        No, morally he does not have a point. Nobody is forced to release their work under the GPL. It is a clearly-written license. You can't voluntarily choose to license under the GPL one day, then turn round and say "but I didn't mean you could use the software to run a business" the next day.
        • Well if someone asks upfront from the begining to be paid then I would think you should pay them. On the other hand you shouldn't GPL your program if that is the way you feel.

          So do you think like I do that MySQL AB has no legal leg to stand on by asking us to pay for commerical licenses? As I understand the GPL I can put on the same CD my commerical application that only calls a MySQL database and put the orignal MySQL bininares on the same CD.

          From the GPL:
          These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.

          Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.

          In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.


    • This doesn't answer your question, but I think it is interesting, and of course you would have to find the people:

      Companies who developed products using the GPL'ed version, if found out, would be _forced_ to release their product under GPL or admit to copyright theft, and possibly both could be the death of the company.
    • You're confused about the GPL. The GPL places no limitations on how you may use software. In particular, the GPL places no restrictions on "commercial use" (whatever that means). The GPL only affects you if you redistribute GPLed software. For futher details see the license itself, or the GPL FAQ [gnu.org].

      By the way, the crime of "piracy" involves hijacking a ship. (Hijacking a plane is legally "air piracy".) Illegally copying software is properly refered to as "copyright infringement".

  • by LunaticLeo (3949) on Friday January 10, 2003 @08:09PM (#5059700) Homepage
    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!
  • discrimination (Score:2, Offtopic)

    by Razzy (175090)
    While dual licensing is fine in most cases (free for individuals, not for corporations), double-standards almost always spell a potential for danger. For example, what happens if someone decides their source is open to members of the Inuit community but closed to all other ethinic groups? Then we might have a problem. Worse yet, could the precedent set on the resulting court case place all dual licensing schemes into jeopardy? If the ruling were too broad (multiple licensing standards are illegal vs "group"-biased (race, ethnicity, sex, sex pref, etc) licensing is illegal) competitors could use this issue to destroy dual licensing schemes all together.
  • Doesn't this only work if all development is done by the company itself? That is, if I take the open version released by company C and make fixes, C can't use those fixes back in the closed version unless I specifically give him permission (otherwise it is gpl-blocked).

    Hey I'll just fork the code and start my own company off the GPL code, and undercut C.

    Uh-oh.
    • You got the code under the GPL license - you're not allowed to resell it, only re-distribute it under GPL.

      You could sell the rights to your fixes, I suppose, but not the whole thing.
  • RMS's opinion (Score:2, Interesting)

    by ispel (266661)
    On this topic, Richard M. Stallman responds to the following question in this LWN interview [lwn.net].

    Some companies have adopted a hybrid business model where proprietary software products are used to help fund free software development. In your view, is this an appropriate way to raise the money to pay for free software projects?
  • When Microsoft started lobbying Congress trying to convince them that publicly funded software shouldn't be GPL's, I started trying to push this argument. The GPL is ideal for publicly funded software, because the organization that holds the copyright (for instance, a University) can charge money for commercial licenses. What Microsoft was really trying to do was to make sure that they continued to get free handouts of BSD-licensed code.

    I've published a few obscure pieces of code under the GPL. Though I never actively tryied to sell commercial licenses, I was approached by one company and was paid several thousand dollars for a commercial license. Not bad for somthing obscure that I never expected to make money on. Imagine what a person could make writing more mainstream GPL'd code. For such things, public release under the GPL is like free advertising.

    I recommend that software authors who are interested in trying this with the GPL'd code place prominent notices in their README files and web pages, because some potential customers may not be aware that they can negotiate a non-GPL license from the copyright owner.

  • Basically, if you don't want to GPL your programs, you have to pay for the privilege. The $$$ from sales of proprietary cygwin licenses are used, to some degree, to fund Cygwin development at Red Hat.
  • by g4dget (579145) on Saturday January 11, 2003 @05:11AM (#5061556)
    Dual licensing works fine for some software, and it doesn't work so well for other software.

    First of all, you can really only dual-license if there is something to sell. That means dual-licensed open source software needs to have one of the less "business-oriented" open source licenses, like the GPL. But for some software, the GPL just isn't appropriate. For example, for a GUI toolkit, if it is GPL'ed, that limits its adoption.

    Also, with dual-licensed software, companies have other considerations in mind than just creating technically the best possible software or the best software for the users. They may want to try to dominate a particular market niche and exclude competition, for example.

    I think in the case of Troll Tech, both of these apply. Companies like Sun and IBM have chosen Gnome because they did not want to hand the keys to commercial applications for their desktops to some small company that they have no control over. Furthermore, Troll Tech has a strong incentive to have something like Qt/Embedded take over the entire display--if people could use free or competing toolkits on something like the Sharp Zaurus, it would threaten their revenue stream.

    I think dual licensing can make sense in some circumstances, but I think it's risky. If you are considering using dual-licensed software, I think you would do well to look at the license, business, and track record very carefully. Personally, I think for MySQL it works, but for Qt, it doesn't.

  • Amazing how technology has no historical perspective. This is much older than MySQL and Qt. In fact, when people (including humble me) first suggested this to TrollTech, we had already some successful examples such as CyGNUs (the company behind eCos and much of GCC, now part of Red Hat) and Aladdin GhostScript.
  • by ites (600337) on Saturday January 11, 2003 @06:55AM (#5061750) Journal
    Dual-licensing works extremely well in one specific case of open-source software, namely that where there is no confusion about copyright ownership. If a project gets numerous submissions from external contributors, they either have to sign-over ownership, or the project has to fork. Neither are really satisfactory.
    But for projects working ex-Cathedra, where external developers provide feedback and perhaps patches but no significant functional extensions, the dual licensing model can work very well indeed.
    My company has made open source tools since 1995 or so, and we've now switched from a BSD-style license to a GPL / or commercial license model. Our motivation was (a) guided by Stallman's comments about BSD licenses helping commercial companies at the expense of open-source projects, which we agreed with, and (b) the desire of some customers for some kind of commercial framework.
    Since 1995, we've found that there are very few people able and willing to contribute to our software, even though there are thousands happy to use it. Possibly because our tool are somewhat complex internally. So, the dual-license model fits our process perfectly.
    • I should have provided the link [gnu.org] when discussing Richard Stallman's comments. He argues that even libraries should be clearly GPL'd rather than covered by the looser Library GPL, and it was this argument that convinced us to switch our OSS libraries to GPL. The argument is clear: by using the full power of the GPL, OSS software developers are given an advantage. For the purposes of dual licensing, it is also clear: we can benefit two specific groups of users - OSS developers AND paying customers - while not giving presents to non-paying commercial users who are, quite possibly, competitors.
      The dual-license model is thus a very powerful tool for delivering OSS software to specific target users. I'd highly recommended this approach to all OSS developers who work ex-catherdra.

I have ways of making money that you know nothing of. -- John D. Rockefeller

Working...