My cousin recently started out developing web applications. I asked him if he is planning to develop commercially or for the open-source arena. His answer basically came down to first for open-source with goal of later exploring commercial options. Then I asked him under which licence he will be developing the open-source applications and he was like “Wha-a-a-t?”
For those of you who do not know, open-source software is regarded as “free“, but that is not necessarily the case. Open-source software, web or mobile applications are normally free to use, distribute and change, but there are licensing aspects that you need to be aware of before using, distributing or changing the software. You might also not be aware that you are using open-source software right now. Android, Google Chrome and WordPress are some of the most common known and successful open-source software and there are literally thousands more.
Ignoring this licence can land you into trouble. You need to know that there is still a ‘copyright‘ owner and the holder of the copyright only provides you, the recipient, with rights under which you can use the software. These rights might however be limited. You therefore need to know what licence your software is under and what limitations applies.
Open-source software licensing can be overwhelming for both the creator and the recipient. I think the confusion is caused by the number of licences, the majority of options available and then the way the licences are named. If I say, TV licence or Driver’s licence, you know exactly what I am talking about. However if I say “GNU Affero General Public Licence v3“, you might be thinking I am drunk and mumbling! So the names of the open-source licences sometimes add to the confusion, but let me clear this up for you…
First thing – YOU DO NOT HAVE TO REGISTER OR PAY TO COPYRIGHT YOUR SOFTWARE! Open-source licences are already available for you to use and have already been approved. Please don’t fall for the scams where people offer you the best price and quickest solution to register your open-source application! I’ve personally seen these scamming offers and have been seeing it since I started programming back in 1997 already!
So, I will not be looking at ALL the open-source licenses or go into the intricate details. I will concentrate on the top three licences in terms of usage statistics, but will include links at the end of this article where you can browse and compare the other open-source licences.
LET’S TRY TO SIMPLIFY THIS!
There are a few commonalities between open-source licences and in the main these conditions are:
- Author attribution/recognition
- Printing license
- Distributing source code
- No warranties
There are many open-source licences, like Creative Commons Attribution Non-Commercial NoDerivs (CC-NC-ND), Google Play Developer Distribution Agreement, PHP License, BSD License, but the reported top three I will be concentrating on is:
- GNU General Public License (GPL) 2.0 – approximately 25% usage
- MIT License – approximately 19% usage
- Apache License 2.0 – approximately 16% usage
You already know what these licences have in common, but to differentiate between them I’ll be looking ‘what you can do‘, ‘what you must do‘, and ‘what you can not do‘.
Before we get into the differentiating features, you should note that programmers can provide code under more than one licence or even change the licence at a later stage. You should however bear in mind that you can not revoke a licence that has already been published and used. So if you download an application or someone downloaded your application under MIT, he/she can use it forever under MIT, even if it is changed to GPL at a later stage. All new downloads will however be bound by GPL.
The GNU General Public Licence v2 (GPL-2) is the most widely used open-source licence, with a 25% usage reported. In terms of the GPL-2 anyone may copy, distribute and make modifications to the software. However, you are required to keep track of changes and change dates in source files. You also need to ensure that any changes, however small, are kept under GPL. You are allowed to distribute the application commercially, but you must make the source code available to the recipient. You are also allowed to place a warranty on the software licenced. Further to this you must include the original copy of the software or provide the recipient with instructions on how and where to obtain copies of the original software. You are required to include the original copyright and a disclaimer of warranty, as well as the full text of licence. GPL-2 prohibits you from sub-licensing the software and finally it also describes the limitations on whether the owner/s can be charged for any damages.
The MIT Licence is becoming more popular amongst open-source developers and I think it’s due to the fact that it’s a permissive licence that allows the recipient to do whatever they want, providing they include the original copyright and licence notice. You can basically use software licenced under MIT commercially, make changes to it, distribute it, sub-licence it or just use it privately. Although MIT is very permissive, you must include the copyright and licence in all copies and substantial uses of the software. Lastly, the only prohibition to MIT is that you should be aware that the software is provided “as is” and you may not hold any owner, contributor, programmer or developer involved in the software liable for anything.
The number three licence on my list is Apache-2.0 Licence with a 16% usage reported. What makes this licence popular is the fact that it allows you an explicit right to a patent the software. You can use the software commercially, modify and create derivatives, distribute and sub-license it, use it privately and it also allows you the ability to place a warranty on the software. These are the optional “can do’s“, but what you “must do” is include the copyright and licence and state any changes made to the software . You are also required to include the NOTICE if such a a “notice” file is included in the original software. Lastly, there are restrictions on the use of the contributor’, programmer’ or developer’s name, trademarks or logos. There are also restrictions in terms of owner liability and if the software/licence owner can be charged for damages.
There you have it! A basic and brief summary of the top 3 open-source licences that tells you what you can do, what you must do and also what you are not allowed to do.
It is important that programmers, developers, authors and recipients are fully aware of the licensing requirements. Let me give you two examples of why this might be important.
- You own a consulting company. You found an open-source system on the internet and see a great opportunity to make some quick bucks. You will create a DVD that contains the software you found and distribute it free of charge to clients. You will then enter into a support or maintenance agreement with the client at a fixed rate per month. You are therefore not selling the software, but you are getting paid monthly for supporting and maintenance. You however know that the software has a very effective and helpful on-line community and therefore remove all traces of the original software, like application name, online links to the software, etc. This can cause a legal conundrum and obviously land you in serious trouble if you are distributing the software in contradiction with the licence it is held under. You can get yourself caught up in a legal onslaught from both the original developer, as well as the clients you have contracts with, ending up facing litigations worth thousands of Rands.
- You are a retailer and contract a freelance mobile app developer to code a free Android application that highlights your weekly specials directly on people’s smart-phones. The developer realises the value of this idea and she creates the app under an open-source licence that allows her to redistribute the app to your competitors, but under their retail banner. You were unaware of the permissiveness of the licence and now have no recourse against the developer.
There are much more to say about open-source licensing and I am a huge supporter of open-source software. It is the one thing that I think can enhance the status of SMME’s in third-world countries, such as South Africa and the efficacy of open-source has already been proven in first-world countries. I hope this article gave you a little more insight into the legality of open-source licences and what the effect can be if you are unaware or ignore the provisions or requirements of the various licences.
SHARE THIS article with your colleagues, friends and family. This will make them aware of the loopholes and will also make them aware of open-source licences.