Demystifying Dual licensing with GPL

An interesting question came our way and we thought of sharing this with the larger group.  As a start-up most of them are on the look for free/open source alternatives before buying or building things. In the last few years, there has been a lot of software that has been released under dual licensing model – free for

non-commercial/non-proprietary use and pay otherwise. MySQL and QT licenses are foremost amongst those. We will see more of these when GPL3 becomes popular.

GPL is one of the popular free software licenses. It is unique in the sense that it uses copyright laws to force free software distribution and propagation.  GPL requires that changes made to software licensed under it and made available, should be licensed under GPL.

Recently, we came across a piece of software that was under a dual license. It is licensed under GPL for non-commercial use. This seemed odd given the viral nature of GPL. So, the question really was, can restrictions, if any, can be imposed on the recipients.

Given that the recipient is free to choose the license terms of different versions, the query was interesting.  In our case, the release was under GPLv2 and read through under GPLv3.

GPL Details

GPLv2 (Clause 4) states that “You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License”. This is the “viral” clause which everyone knows about.

But the same section also contains the statement, “However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance”. This means the license is non-revocable. Once a particular version of software is licensed under GPL, it remains under GPL. Future versions may be under a different license, but not what is already released.

Clause 6 says “Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions.  You may not impose any further restrictions on the recipients’ exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.

Let us say Alice writes a nice accounting package and releases it under GPL. Bob picks it up and redistributes it under GPL. Charlie, getting the package from Bob automatically gets a GPL license for the software from Alice.

GPL also defines when GPL is viral. It states “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.

GPLv2 (clause 2) clearly specifies that no additional restrictions could be imposed on the recipients’ exercise of rights. GPLv3 further defines the additional terms (clause 7) that is ok by the license terms and clarifies that any others are considered “further restrictions” and those restrictions may be removed.

What it all means

GPL makes distinguishes between usage and distribution.

Let us say you are writing software in one of dynamic languages and you are dual licensing it under GPL and a commercial license. Your intent is clear. You tell the world that if you are going to make money out of my code, please let me have a share. If you are going to do something for the good of the world’s children and all its butterflies, feel free to use it. However, GPL makes distinguishes between usage and distribution. GPL clauses kick in only if GPL works are distributed, not if they are used.

For traditional, compiled code, this distinction is moot. Commercial software is distributed as executables and if the software uses any GPL code, it is automatically distributed and the clause is triggered. This distinction has been used to argue that in-house use of GPL code is ok since there is no distribution.

However, in case of dynamic languages, it is possible to distribute your work without including the GPL works. They can the installed in the target machine. It is in fact even possible to distribute “compiled code” that uses GPL, but without GPL licensing. This does go against the spirit of GPL, but is covered under its terms.

In short, do not use the standard GPL if you want to dual-license your code in a dynamic language. You can create your own derivative license that will propagate additional restrictions.

We would love to hear your thoughts.

Please leave your questions in the comments section.

Sharda Balaji and Vaidhy Mayilrangam,

Novojuris Services India Pvt. Ltd,

Email: sharda@novojuris.com

Disclaimer:  This article is for informational purposes only and is intended but not promised or guaranteed to be correct, complete and up-to-date. This is not a legal advice or opinion.

pic credit

Check out Legal Resources for Startups

 ,
  • Related Articles

    1. Demystifying Indian VCs – what they say and what they mean
    2. Demystifying a Business Plan – What makes one stand out from the rest?
    3. Telecom Roundup: Videocon to roll out telecom service in Chennai, DoT-TRAI differ over dual-tech rollout
  • comment(s) on Demystifying Dual licensing with GPL

    One Response to Demystifying Dual licensing with GPL