To GPL or not to GPL, that is the question

Why is this subject so difficult? I started writing this blog entry about a month ago but I’m still here. Somehow everything I have written so far doesn’t make any sense when I look it next day.
Ok. We have made the decision to open source OSS and the announcement will be made on June 14th 2007. The announcement was supposed to be kept secret but we realized that members of the open source communities may want to give some feedback before the announcement. So the secret was leaked which proved to be the right solution.

The original idea was to release OSS under CDDL for Solaris/OpenSolaris and GPLv2 for the others. However as we expected the BSD communities didn’t like this so they will get OSS under CDDL too (how much I hate these silly open source license wars).

In addition we will announce our intention to move further development of Open Sound System to a community.

The license is really GPLv2 instead of LGPL or the Linux kernel license. This may look stupid but actually it’s not. The beauty of GPLv2 is that the license permits use of OSS only with operating systems and applications that are also released under GPL.
In this way the source code is available under GPL for everybody. Organizations and users using GPLed applications under GPLed operating systems (kernels) can use GPLed OSS for free. Just the companies and organizations using OSS in non-GPL compatible environments are required to buy the commercial license.

Some open source operating systems like OpenSolaris and the BSD variants are not compatible with GPL. We will make OSS available also under the CDDL license for these operating systems. CDDL makes things more complicated than with GPLv2 alone. However I think the benefits will be greater than the possible problems.

I think this licensing policy is good for everybody. The open source community will now have access to the source code after 10 years of closed source period. Users of closed source applications and operating systems can still use OSS and it’s source code if they purchase the commercial license. We as the initial developer of the software will still have some chances to continue development of OSS as professional developers. More details about the licensing will be published after the official announcement.

Why do we do this?

First of all we have recognized the benefits of open sourcing to the user and software developer communities. We also believe that with the help of the developer community we can make OSS better than it’s now.

Another reason is that our potential customers currently expect to have access to the source code.

37 Responses to “To GPL or not to GPL, that is the question”

  1. web developer Says:

    I’m not sure whether that is a great idea. Since that will deprive windows users of the benefits of open source product. Just because they have purchased windows should we punish them some more :)

  2. admin0 Says:

    This is not punishing but fair trade.

    We have released the sources of our software so that other members of the open source ecosystem can use it. In return we expect that they will let us to use their sources. It’s their way to pay to us and our way to pay to them.

    Now what would we benefit if we let users of proprietary commercial applications and operating systems to use our software for free? The answer is nothing. So it’s natural that we ask them to pay. Or actually in case of OSS the most natural solution would be that the company selling the operating system licenses OSS for all their customers.

  3. Quicksand Says:

    Congratulations on making the difficult decision, and good luck. I hope the community pitches in enough to make it worthwhile.

    OSS is a great product with a few frustrating limitations — and the transparency of open-sourcing it might help with some of those limitations.

  4. Rob Kaven Says:

    Will this allow OSS 4.0 to become part of the official linux kernel sources?

    I ask this because you seem to be making a distinction between the ‘Linux Kernel License’ and GPLv2, but afaik, the kernel license is also just GPLv2. The GPL doesn’t allow the use of GPL code in proprietary applications, but I think that in the Linux case there is a ‘kernel exception’ that allows third party libraries to use kernel interfaces without becoming GPL themselves.

    Is this also the case with OSS4.0? iirc, there currently are a lot of LGPL libs that use OSS 3.8 that allow proprietary applications to link to them, and it would be a shame if OSS 4.0 couldn’t replace that ancient code because of that.

  5. cmihai Says:

    >> The license is really GPLv2 instead of LGPL or the Linux kernel license.

    The Linux kernel is published under the terms of the GNU Public License, v2. As in GPLv2.

    >>This may look stupid but actually it’s not. The beauty of GPLv2 is that the license permits use of OSS only with operating systems and applications that are also released under GPL.

    You clearly misunderstood the GPL. You are allowed to use GPL software on any platform. The restrictions aren’t about what you can use and where. It’s about having to distribute the source code if you make modifications.

    >> In this way the source code is available under GPL for everybody. Organizations and users using GPLed applications under GPLed operating systems (kernels) can use GPLed OSS
    for free.

    Every operating system worth a damn uses a mixture of code available under different licenses. There are no restrictions in terms of using GPLware.

    >> Just the companies and organizations using OSS in non-GPL compatible environments are required to buy the commercial license.

    No, they are not. If the software is GPL I can bloody well compile and use it under UNIXWARE, Solaris 10 (yes, that is a commercial product) or even Windows if I mange to port it.

    The ONLY restriction I have is having to publish changes under the terms of the GPL.

    Please, look at this one more time before you make a total mess of licensing.

    And remember, not all these licenses are compatible. BSD won’t include GPL code in the kernel for example (they would have to become GPL themselves) and so on. CDDL is incompatible with GPL too.

    Your best bet still remains a MIT or BSD style license.

    And like I’ve said before, you can’t publish the code under some license or whatever and say: this is only for Linux, FreeBSD can’t use it. They can if they want to and if the license permits. It’s not something you add in a FAQ. You either add it in the license, or forget about it. But once you add it, it’s no longer GPL or CDDL, it’s YOUR license. As in, yet another license that might not stand up in court.

  6. admin0 Says:

    I don’t think OSS 4.0 caould become a part of the kernel anyway. In addition I’m not 100% sure if it’s our intention.

    The ‘kernel exception’ makes the Linux kernel license ‘GPLv2 with additional rights’ rather than strict GPLv2.

    Right the issues with LGPL libraries will have to be examined in the future.

  7. admin0 Says:

    >>>You clearly misunderstood the GPL. You are allowed to use GPL software on any platform. The restrictions aren’t about what you can use and where. It’s about having to distribute the source code if you make modifications.

    OSS is not software you run on any/some platform. It’s a part of the platform itself.

    From GPL:
    “This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General
    Public License instead of this License.”

    In case of OSS the ‘proprietary program’ is the proprietary kernel.

  8. Alan Says:

    Realistically the OSS codebase isn’t of much interest to Linux except perhaps any support for chipsets we don’t yet have (or haven’t reverse engineered by now) and then only to produce ALSA drivers.

    Its good news for things like Solaris which will be helped a lot having its very limited driver base boosted by this.

  9. Flobber Says:

    Admin0, you should really read

    http://marc.info/?m=118192118728201

    especially the second half.

    Whether linking GPLed modules and a propriatary kernel makes one a derived work of the other and thus violate the GPL is a question for lawyers. But remember, until some days ago, 4tech was the one who linked propriatery modules into the GPLed Linux kernel which a lot of kernel developers consider a violation of the GPL. You’ld have a hard to explain why i.e. Sun would be wrong when doing (possibly) the same you did :-)

    Regarding the inclusion of OSS into the Linux kernel: Linus would never add it to the kernel if 4front doesn’t want that to happen. On the other hand, distributors like SuSE, RedHat, etc. may tightly integrate it into their distribution as the default audio driver.

    At last, a GPL kernel with GPL modules does not prohibit commercial userspace applications. Your statement “[…] GPLed applications under GPLed operating systems (kernels) can use GPLed OSS for free.” is bogus. Sure, GPLed apps can use it but commercial apps can use it too, for free. The GPL is a distribution license - it does not regulate how you use it.

    Anyway, many many thanks for making OSS OSS. ALSA was a pain …

  10. Rob Kaven Says:

    According to Linus (responding to a similar question a few years ago), OSS 4.0 could be intergrated upstream without any problems:

    http://www.ussg.iu.edu/hypermail/linux/kernel/0312.0/0670.html

    Basically it says that as user-space programs are never derived works of the kernel, they don’t have anything to do with the license the kernel is released under.

    I really hope that OSS 4.0 will become part of of the official kernel, and the license shouldn’t be a problem… now only if 4front-tech gives this it’s blessing…

  11. she Says:

    “GPLed applications under GPLed operating systems (kernels) can use GPLed OSS for free.”

    Not sure who wrote this, but whoever did (i am too lazy to lookup), using these words is misrepresenting the facts about them.

    Also the GPL applies to source code.

  12. admin0 Says:

    This is a response to all the previous replies (not just the last ones). Unfortunately GPLv2 is very legthy document and there are as many interpretations as there are readers of it. The following is our view of it.

    GPL is all about the availability of the source code and that’s it. GPLv2 says that “you have to distribute the source code and charge no more than your cost of physically performing source distribution” (which is for free in our case). This is exactly what we do.

    GPL also says that “if you distribute copies of such a program, whether
    gratis or for a fee, you must give the recipients all the rights that
    you have. You must make sure that they, too, receive or can get the
    source code. And you must show them these terms so they know their
    rights.”. This is also exactly what we have done.

    OSS is “gratis” if you use it with GPLed applications under GPLed operating gystems. It’s “for a fee” (you need to buy a commercial license from 4Front Technologies) if you use it in any other environment. This is “all your rights”. If you redistribute OSS you must give the recipient “all the rights” you have (recursively).

    This is (IMHO) the perfect solution. You can/must redisribute the source code “for free” as required by GPLv2. You also can/must redistribute the OSS software itself with the rights you have got (the OSS licensing scheme). See http://developer.opensound.com/opensource_oss/licensing.html for more details.

    The OSS licensing scheme is all about promoting open source. By open sourcing your own work you can use OSS for gratis. However if you for some reason don’t want to release your work under GPLv2 you can still use OSS by bying the commercial OSS license from 4Front Technologies.

  13. mmu_man Says:

    I still think the GPL doesn’t state it that way. But yes, there are as many interpretations as readers, I believe you put too much semantical separation between the “source code” and the “program”. The source code *is* the program. Just one form of it. And the GPL ensures several freedoms, including the freedom to redistribute the “program”. I suggest you ask the FSF, as they wrote it anyway.

  14. mmu_man Says:

    Oh, and I missed the freedom of execution.

  15. Slicer Says:

    Quote: “OSS is “gratis” if you use it with GPLed applications under GPLed operating gystems.”

    Am I correct in understanding that if I install OSS4 on my Linux box, and then start Doom3, that would mean id software is violating your license? Or, if I start World of Warcraft under wine, is that a violation?

    If so, that makes OSS4 pretty useless as no commercial application can use it, regardless of which kernel it’s running on. You can’t very well expect linux games to bundle a $60 sounddriver license with a $50 game.

    And what about all those nice games that are based on SDL Audio or OpenAL? Both are LGPL and allow commercial applications to link to them, something which would be incompatible with the “only GPL’d applications” idea.

    The new OSS4 looks very nice, and would ease creating quality sound output on Linux/BSDs. I fully understand and support that you require changes to the drivers or sound architecture to be GPL’ed and redistributed, but widespread adoption won’t happen if you require the end application to be GPL just because it opens /dev/dsp.

  16. me Says:

    Are you trying to get OSS4 into the main kernel trees at all?

  17. admin0 Says:

    We are not trying to push OSS4 to the main kernel tree. It is an option for the future but for the time being staying out of various kernel source trees is a more flexible alternative.

    Reply for the posting by “Slicer”: The requirement of using OSS with open sourced applications is the main rule. There are exceptions that are described in our licensing FAQ (http://developer.opensound.com/opensource_oss/licensing.html).

  18. Rob Kaven Says:

    just for your information:

    The GPL only governs distributing software, not using it. The user has the right to use it the way he wishes to use it, be it with GPL applications or not.

    The user however is not allowed to (re-)distribute ‘a derived application’ in binary form without that derived app being GPL. The thing is, if the app was developed against an non-GPL OSS implementation, the app isn’t a derived work of the GPL OSS implementation, and is thus allowed to be redistributed (and of course used) with a GPL OSS implementation.

    And, of course, there is the other matter of the seperation between kernel and userland… According to most interpretations a userspace program is never a derived work of the kernel if it uses generic kernel interfaces.

  19. admin0 Says:

    >>>The GPL only governs distributing software, not using it. The user has the right to use it the way he wishes to use it, be it with GPL applications or not.

    Exactly.

    GPL is the license of the source code of OSS. You can compile, link, modify and redistribute the source code or binaries derived from it. All this is covered by the GPL license which defines your rights as a software developer.

    However when you invoke OSS you need to follow the licensing policy defined by 4Front Technologies. We as the initial developer and the copyright owner of Open Sound System we have legal rights to define the terms for use. What our licensing policy says has higher priority than whatever the GPL says.

    >>> And, of course, there is the other matter of the seperation between kernel and userland… According to most interpretations a userspace program is never a derived work of the kernel if it uses generic kernel interfaces.

    This is not an interpretation but a clarification made by Linus in kernel’s COPYING file. He as the copyright owner of Linux had full right to define the license of his work. However this clarification only covers the work that is included in the Linux kernel source tree.

  20. Rob Kaven Says:

    >>However when you invoke OSS you need to follow the licensing policy defined by 4Front Technologies. We as the initial developer and the copyright owner of Open Sound System we have legal rights to define the terms for use. What our licensing policy says has higher priority than whatever the GPL says

    By saying this you are in fact creating an incompatible license, it’s GPL + further restrictions, which makes it an GPL-incompatible license, which doesn’t make it GPL at all. if You don’t like what the GPL allows/forbids you to do, then don’t use the GPL, use your own license (like you seem to have done before this).

    You as legal copyright owners have right to choose a licence, relicense etc, but once you choose a licence, that COPY of the software has all the pros/cons attached to that license… of course you can choose (as copyright holders) to relicense OSS under your own ‘GPL + restrictions’ license, but that doesn’t change the license of the code currently released as GPL.

    You may or not be right about the linux kernel stuff, but a GPL + additional restrictions just isn’t GPL anymore, don’t pretend it is.

    The GPL clearly only governs distribution, it imposes no restrictions on the users (use) of GPL software, you can change it, build it, link proprietary applications against it etc, the GPL doesn’t restrict on that. What the GPL does say is that if you redistribute that (proprietary) app that all receivers should have the same rights as you, and to make sure of that they must be able to receive the source (under GPL license).

  21. Anon Says:

    As an OSS customer for many years, I’m pleased to see oss being freed, but I’m curious how this affects customers who have existing support. Will there still be regular releases and support?

  22. admin0 Says:

    There will be no change in the support and release policy. The only change is that now the source code is available to the customers.

  23. Simon Ruggier Says:

    I will readily agree that the state of sound support on Linux is a total mess, and I’m happy that you’ve decided to open up your code. However, your interpretation of your legal rights is completely out of line with current interpretations of the General Public License and copyright law. Assuming you have actually released a copy of OSS under the GPL, licensees have the right to take the code and distribute it as part of a complete kernel under the terms of the GPL. It is true that people who want to link the code with proprietary kernels will not be able to do it legally without purchasing a commercial license from you. However, the same can’t be said about proprietary userspace applications.

    The GPL gets its power to enforce licensing terms on other code from the assertion that the other code is a derivative work. The reason this assertion can be made is because during linking, the compiler will automatically inline some code from the library, causing the resulting executable to have some GPL code in it (the code can almost be called viral ;) ). Note that this means that the source code of an application that depends upon a GPL library _is_ legally redistributable, even under an incompatible or proprietary license. This is not just my opinion, it is also the opinion of the FSF, as stated at the beginning of clause 5 of the Lesser General Public License v2.1:

    “5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a “work that uses the Library”. Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.”

    There is a well known example of code distributed in source form that, when built, results in infringing binaries: the proprietary kernel modules distributed by ATI and NVidia. These modules consist of closed source “binary blobs” (object files that have been compiled but not yet linked), plus a “shim” (a layer of source code that sets up the interface between the blobs and the rest of Linux). It is easily possible and probable that the binary blobs are not derived from Linux. This is the case if none of the source code for the blobs is copied from Linux, and the blobs are compiled in isolation from it (i.e. they don’t include any headers that are part of Linux). Thus, the code is not a derivative work in this form, and ATI and NVidia can publish it without infringing any licenses. However, compiling the code into a kernel module produces a derivative work that includes inlined code from the rest of Linux. The distribution of such a kernel module infringes the GPL, but the people who are infringing are actually distribution maintainers that redistribute infringing binaries.

    In the case of proprietary applications that use your OSS implementation, neither the source code nor the executable code is a derivative work according to the logic above. The OSS API is provided in the same way as other device drivers on Linux and other Unix-like operating systems: using special device files that are opened, read from, and written to using the same standard system calls that are used for manipulating regular files. As a result, executables that use the OSS API (with or without your OSS implementation) are no more a derivative work of your OSS implementation than executables that manipulate regular files. In fact, because of the flexibility of this approach to device drivers, it is possible to play a sound via the OSS API using standard Unix commands like cat and cp (try running “cp /dev/urandom /dev/dsp”). These commands certainly do not derive from your code.

    It is also possible that you could license your implementation under a license that forbids it from being used with proprietary userspace programs. However, as stated in previous comments, such a license would not be compatible with the GPL, so your implementation would not be redistributable in executable form when linked with Linux, which is only available under the terms of the GPL.

    Even if you can’t collect licensing fees from every proprietary application vendor (which would be quite nefarious), I still think it’s a smart move to open up OSS - distribution vendors can start integrating it now, which will make it far more popular.

  24. LinuxDolt Says:

    Do you intend for Open Source projects on Linux not GPL to pay for a commercial licensing? For example, a project that uses a revised BSD license, or a MIT license, etc.

  25. admin0 Says:

    OSS can be used for free in projects that have their source code publicly available. The actual license used by the project doesn’t matter. It can be GPL, BSD, MIT or something else. As long as as full source code of the project can be downloaded by anybody.

    OSS itself is released under GPLv2 and CDDL (for Solaris and FreeBSD). We have no plans to release OSS under licenses like BSD or MIT that are “half closed source licenses”.

  26. Daniel Says:

    Er… This is really strange… I mean, OSS is not a library. Applications don’t link to it.
    GPL forbids the usage of the licenced software in non-GPL applications, which includes linking. However, as far as I know, GPL doesn’t forbid a non-GPL application using the SERVICES of a GPLed app or library. If it did, you would commit a copyright crime when you connected to a Linux box from Windows through Samba, or used a Windows box on a network guarded by a Linux firewall, or downloaded your mail from a Linux mail server using Windows and Outlook.

    So I don’t think that for example using Vmware - a prorpietary app -, and outputting data from vmware to /dev/dsp would break the license.

    I wonder if what you wrote makes any sense, whether or not it’s true.
    If GPLv2 really does forbid this sort of thing, that makes it a defunct licence, ripe to be scrapped and cast into oblivion.

  27. admin0 Says:

    The point is that we (4Front) are the owners of the copyrights of OSS. We have the power to define the terms for usage of OSS. The terms are that you can use OSS “for free” if you use it from GPLed applications. Otherwise it will be “for a fee”.

    I think this is perfectly fair. If you make money on selling “proprietary” applications based on OSS we would expect that you pay a nominal fee to us. This is necessary so that we can continue development of OSS as an open source product.

    This may (or may not) conflict with GPL. This may not be compatible with the copyright laws in some developing countries. However it’s our wish. You have your freedom to follow it or not.

  28. baba zina Says:

    Sell OSS for a commercial reasons but use free for an OpenSource

  29. Rick French Says:

    Of course you a free to release anything you own copyright on as you wish; but you released it under the GPL, which gives everybody the rights that come with it.

    If you don’t want people to have those rights, don’t release it under the GPL, but under your own license that states how you wish your software is used.

  30. admin0 Says:

    Exactly.

    OSS is released under GPL for anybody who use OSS in GPL compatible way.

  31. Daniel Says:

    I couldn’t understand some parts of this article To GPL or not to GPL, that is the question, but I guess I just need to check some more resources regarding this, because it sounds interesting.

  32. Laurence Says:

    OSS is released under GPL for anybody who use OSS in GPL compatible way.

    Which includes writing to /dev/dsp from a closed-source application.

    OSS is kernel-level stuff, so only the kernel needs to be GPL(compaitble).
    User-level programs do not contain a single line of 4front-copyrighted(yes, you are still the copyright-holder even if the code is GPL-ed) code, not in their source, and not in their binaries, and as such your copyright does not apply to such programs. Nothing you do or say can change that. They are freely allowed to use the interfaces.

    Oh, and the GPLv2 is by far not the only open-source licence used in user-land linux…

  33. Aleksey Says:

    So nevertheless To GPL or not to GPL? I know OSS is released under GPL. Why then there is such ambiguity? :(

  34. Albina-cw Says:

    low cholesterol low sodium chicken and dumplings research triangle jobs cynthia thiers localhookers.c on line wills lousianna
    research triangle jobs vonwilderbrant chef depot dutch process cocoa on line wills lousianna localhookers.c

  35. Albina-rd Says:

    jack johnson cd 2005 singles adoption at el faro wb and san antonio spurs and austin classificado opopular goiania go strawberry livejournal icon
    garfield macedonia food new jersey kenny .g canadian wholesale sign fabricators bbc version of tiny cities made of ashes harley davidson rolling frame for sale in oklahoma

  36. alex Says:

    save to my Bookmarks :)

  37. debt consolidation unsecured loan Says:

    loan unsecured personal consolidation consolidation loan credit unsecured

Leave a Reply