Open Source FAQ [Part I]

What does it mean when you license your software?

A software license determines how particular software may be used by others (licensees). As stated in another post, an author owns the copyrights, trademarks, and the right to patent his or her works and inventions. As such the author has the right to determine (with limitation) how her software will be used by others. For instance, most software comes with a EULA—this means that apart from just getting the product, you’re also getting a license to use that product in a certain way. The EULA can limit the end user’s right to distribute, copy, or create derivative works from the software. A license can also prohibit the use of reverse engineering, which is permitted under the Copyright Act to promote interoperability. In other words, a license gives you as the author the ability to limit or increase what people can do with your product.

What is Open Source?

An open source license is designed to promote the free flow of ideas. An open source license looks very different from your ordinary EULA because it is not a limitation on what a person can and can’t do with that license. Instead, an open source license is designed to ensure that source code under an open source license remain freely available, distributable, and malleable. When you license your source code as open source you are giving anyone who receives the source code the right to copy and distribute the work. For most open source licenses, the license also gives licensees the right to manipulate, alter, and create derivative works from the source code. All of this is to promote the sharing of ideas and the freedom to generate new and better technology.

What happens to my rights when I license my work as open source?

You, as the author, retain all of the rights in and to your work. However, you cannot revoke an open source license once that license has been distributed (this is a standard term in open source license documents). This means that you can’t decide to make your source code open source and then decide three years down the road that you don’t want it to be open source anymore. This does not mean that you can’t relicense the software. But let’s break down the rights individually:

Copyright: You are the owner of your copyrights in and to the open source code. It is because you are still the right holder to the copyright that gives an open source license any weight—you are the only one who can enforce the original open source license to ensure compliance. If someone uses the source code in a manner that violates the open source license they are infringing on your copyright. You are the only one with the standing to sue.  Identifying your source code as open source does not prohibit you from re-licensing the source code. However, you cannot re-license the source code in a manner that will interfere with the original open source license.

    Let me give you an example. Let’s say you decide to freely distribute your program with the source code as open source. You include the proper open source EULA, which gives end users the right to freely copy, distribute, and make derivative works of your product. Two weeks later, a buyer comes to you and wants the exclusive license to that program and source code. Because an exclusive license interferes with the open source licensees’ ability to use the code in the manner described in the license, granting an exclusive license is not permissible. You can of course re-license the program and source code on a non-exclusive basis as you see fit, so long as the new license does not interfere with the open source license.

    However, if you change your source code in a way that distinguishes it from the open source version, you may license that new version in whatever way you see fit. Similarly, if it is possible to grant an exclusive license to specific software in a manner that does not interfere with the open source license (i.e., a provision in the license stating that the source code is protected under an open source license and therefore the licensee can in no way enforce rights against other licensees as those rights relate to the source code), that may also be permissible. Also, if there are contributions that are distinguishable from the GPL’d code or program those contributions can be separated and licensed individually.

Trademark: Proper recognition and attribution of licensed source code are what keep open source alive. Therefore you retain all rights to your trademark and you can prevent others from using your trademark in a manner that misidentifies the source of the product. Similarly, if someone removes your name from your source code documentation and notices and replaces it with their own, they’ve committed trademark infringement and you are entitled to sue to protect your trademark rights. They have also very likely violated the Open Source License, and may be subject to copyright infringement as well.

Patent: Licensing your source code as open source does not prohibit you from seeking patent protection for the inventive aspects of your program even if it can limit your ability to enforce your patent. You cannot enforce your patent in a manner that interferes with the open source license, so to that end you are giving licensees an implied license to use your patent to the extent necessary to utilize the open source code. However, an inventor may want to obtain patent protection in order to license that patent to others or to provide another method of enforcing the open source license. A patentee may also want to release a non-open source version of software. To that extent a patent may be enforceable, so long as enforcement does not extend to the open source version.


When can you use open source?

Software is only open source if it uses an accepted open source license. If you download software that claims to be open source, MAKE SURE YOU CHECK THE LICENSE before redistributing it or changing the source code. If the software does not include a license document, it is not open source. Simply giving someone or selling someone a product does not you’re also selling all of your rights in and to the product as well—if no open source license exists, the author retains his or her rights. Therefore software that does not contain an open source license should be avoided at all costs.

How can my software qualify as open source?

To make your software open source, you must include an unchanged version of one of the accepted open source licenses with your software files. If you change it in any way (i.e., to retain certain rights) you destroy the license. You must also comply with all of the requirements for open source code.

What are the common license types?

Bear in mind that ALL open source licenses contain a disclaimer stating that the product is being distributed "AS IS". This means that licensees take the license free and clear of any warranties, including the warranties of merchantability and fitness for a particular purpose.
Licensees therefore use the software at their own risk, and the author is not liable for any damages that result from use of the software.

Creative Commons (CC): The Creative Commons license isn’t actually an open source license, but it is one you may see while perusing the blogosphere. A Creative Commons license refers to articles, news, and information that is freely distributable and can be mixed and matched with other material. The document may also be remixed or restated by anyone. Attribution IS required if the author requires it,  which means you should cite your source if you plan on using the material.  

BSD License: The BSD license is simple and straightforward. It covers both source and binary code. The BSD license permits redistribution, use, and modification. Any redistribution of either the source code or the binary code must contain the copyright notice, conditions, and the disclaimer. For redistribution of the binary code, licensees must also include any and all documentation provided by the author. The author’s name cannot be used to endorse derivative products without the author’s permission.

Lesser/Library General Public License – The LGPL is an adaptation of the general GPL. It concerns specific software packages—typically libraries. The LGPL differs from the GPL in that it limits the user’s/licensee’s ability to create derivative works and modify the licensed software. The reason this license may be preferable in some cases is because standardizing particular libraries and software packages may be preferable to permitting modification.