A TechRepublic reader recently asked the following questions in the forums:

  1. Please give me simple advice on this topic: Is it okay when selling software to charge small fees for it (e.g. 1/2 dollars) if that software is made available under the GNU GPL License version 2 or 3?
  2. If yes, when I sell such software, should I provide source code as well or just the license together with the executable file?

    Since these are very general questions, we decided that I should answer with a public post, of course starting with a big…

    DISCLAIMER: First, this post covers almost exclusively GPL licensed software, but there are other free/open source software (FOSS) licenses that work in different ways. Above all, I am not a lawyer, and some details below may be slightly different in some jurisdictions and/or specific sub-cases that I can’t completely cover here. Be sure to check the links at the bottom of this post for more details.

    With that said, dear TechRepublic reader, the short answer to your first question is: yes, you can legally sell software with a GPL license version 2 or 3 for whatever price you want to charge.

    The GNU project itself “encourages people who redistribute free software to charge as much as they wish or can… You can charge nothing, a penny, a dollar, or a billion dollars. It’s up to you, and the marketplace.”

    Please note that “as much as you wish” only applies to the executable form of the software, not its source code. This is explained in subsections 6a and 6b of the GPL: if you want to sell a binary copy of a GPL software program, you must include either its complete source code or a written, formal offer valid at least three years to provide it to whoever possesses the binary. In more detail, you have to provide:

    • a copy of the complete sources for a price no more than your reasonable cost of physically delivering them, or
    • “access to copy [the complete sources] from a network server at no charge”

      Of course, all users of free software enjoy these same freedoms. The people to whom you sold copies of GPL software are just as free as you are to make copies and sell them for whatever price they feel is right, including a price equal to zero.

      The same general conditions apply to other popular FOSS licenses. OpenOffice, for example, is distributed under the Apache license. This means (quoting from a resource link below) that everybody can sell it via eBay or any other channel, for whatever price people are willing to pay, without any obligation to share their profits with the OpenOffice Community.

      What about identity and customer rights?

      GPL and other FOSS licenses give everybody the right to “sell” software with the constraints above, for whatever price the market will bear. They do not, however, give anybody the right to fool customers or give them misleading information. They couldn’t do it, even if those were good things. At the same time, in and by themselves, licenses can’t protect you from certain abuses.

      Again, I’m not a lawyer, but here’s an explanation that should be substantially correct. Software licenses are applications of copyright. Software developers can impose conditions (that is, licenses) on the reuse and redistribution of their code, because they hold the copyright on that code. Copyright also deals with attribution: in general, even if you may redistribute my code, you may not claim that you are the original author.

      Copyright and licenses do not regulate “identity”-related issues outside the code itself. Company names and logos, for examples, are the domain of different legal constructs, e.g. trademarks.

      If you grab some software I released with a GPL or similar license, you do get the right (among others) to sell that code as I explained above, without giving a penny back or even saying thanks. You do not, however, automatically get any right to:

      • say that that is your original work
      • keep the logo of my organization on it
      • tell your customers, or let them believe, that we are partners, or that I am obligated in any way to give them support or refunds if they’re not satisfied

      This doesn’t mean that those actions are always, surely illegal! It just means that they are “customers rights” or “fair business” issues outside the scope of the software license.

      So, that is why the Apache license says that you can do pretty much what you want with the code as such, but you must obtain their permission before using their trademarks, including their logo. These are also the reasons why we can have GNU/Linux distributions like CentOS, which is basically the same as Red Hat “vendor branding and artwork.”

      Additional resources

      To find out more about selling free/open source software, please check these resources, which are the ones I used as my basis for this post:

      Subscribe to the Developer Insider Newsletter

      From the hottest programming languages to commentary on the Linux OS, get the developer and open source news and tips you need to know. Delivered Tuesdays and Thursdays

      Subscribe to the Developer Insider Newsletter

      From the hottest programming languages to commentary on the Linux OS, get the developer and open source news and tips you need to know. Delivered Tuesdays and Thursdays