by Petraq Mele
Hello to all reading this blog today, the topic this time is software licensing and its importance in the development of software. I began researching about it as I had very limited knowledge about it and its importance. I ended up reading a blog written by an experienced developer named Rahul Awati titled “What is a software license?”, and I ended up learning quite a lot about the importance of this topic.

So what exactly is Software Licensing?
Practically speaking software licensing is a document that provides legally binding guidelines for the use and distribution of software. You can think of all software licenses as essentially a contract between the developer(s) and its user(s). It outlines the rights between these two parties for a piece of software along with the terms and conditions. All software comes with a license/product key which is important for identity & verification.
Its fairly simple to license software. Legally you already have, as the author of your software, a natural right recognized by copyright laws. If you want to add anything else to a license many developers but it in a text file within their software packages. Some sources like choosealicense.com or www.gnu.org are useful for finding templates or examples.
Some things that you may find included in a license are:
– Basic information(Names, Contacts, Address)
– Charges
– Duration
– Distribution rules
– Terms of service/cancellation
– Governing law
– Maintenance
– Etc.
Types of software licenses:

A few software licenses include:
– Free and open source(FOSS): Allow anyone to use software, and even to study, change or copy its source code.
– Proprietary: Often referred to as “closed source”, this software has strict rules towards obtainability & alterations.
– Public domain: Like open source but should be cautiously used by businesses as it might not meet their expectations.
– Lesser general public: Developers can link to open source libraries within their software and use any licensing type for the code.
– Permissive: Allows users to modify & distribute a piece of open source software but with some requirements for them as well as preservation of license notices, copyrights, or trademarks.
– Copyleft: Open source as long as they make the modifications freely available. New products containing old code with a copyleft license must comply with the restrictions laid out in the old code’s license.
Why do we need licenses?
Licenses are important because of all the reasons we have outlined earlier. It helps protect both the developer & the user.
A few beneficial protections for developers include: Protection of intellectual property, ensuring control over their creation, limiting liability, & monetization of products.
As for the users, the benefits are: Prevents misuse/unintentional mistakes causing damage, protect from infringement claims/ liability, create positive relationship with other developers/users/vendors, & establish clear parameters of how many licenses an organization needs.
Based on these few protections you can see the importance of licensing. It keeps a professional structure towards the spread of software and encourages a just environment.
Final thoughts
Understanding software licensing is something each software developer should take the time to learn whether for their own personal gains, or as a way to safely use/produce software. Aside from the legal aspect of it, licensing is about respecting a developer and their work. As I mentioned earlier I want to give credit to Rahuls’ amazing blog as inspiration for mine. Be sure to read his blog if you want more insight on this topic.
From the blog Petraq Mele blog posts by Petraq Mele and used with permission of the author. All other rights reserved by the author.