Hambz

A Blog to explain some computer science theory

29 Aug 2022

Software Licensing, Simply Put

One could wonder, “what is the point of having a license over software, the source code is probably already there, in the public domain” (for example published over GitHub), well there is no short answer, and probably there will be no legal problems at all if you don’t use one(most of the time, don’t take my word for it), but not having a license over software will eliminate any rights or ownership over it, and it gets only worse from there as the lines of ownership are blurred, for example: who owns the code, the writer who thought about a solution and code it into reality or the cooperation which he works for, or both. So what is exactly software licensing?

so What is a Software License

A software license is legal permission given by the work owner(Licensor) to other individuals (Licensees) to use, modify, or derive new work from it, that license will rule over what is allowed to be done by the licensee over that software.

Most of the time, agreeing to a software license is implicit rather than explicit, which means you have already agreed to follow its content by simply using the work, which is a bit shady if you ask me, so when using a piece of software, checking which license it falls under is a must, to be clear on how it can be used legally.

but How to Pick One

Software Licenses can be grouped under two main categories, proprietary licenses and open-source licenses, the former is pretty self-explanatory, the owner of that software is in total control over it, so no reverse engineering, distributing, or deriving new work is allowed, but in the open-source software realm is where it gets messy since there are different levels of privilege that are granted to the licensee, till this day it is still a controversial topic .

Picking a custom license is always a viable option, but many problems can arise from such a decision, which made a discouraged action by the community since it will offer a new challenge to the juristic teams to re-evaluate its content, so picking one of the well-known licenses is the best bet, here is an unordered of the most used ones:

  • GPL and LGPL, the derived work can be changed, used to monetary gains and redistributed, but the source code of the derived project must be distributed too, and it must also so be declared under the same license, and LGPL is lesser version of it(with less constraints).

  • MIT License, You may do whatever you want as long as the original copyright and license notice are included in any copy of the software/source.

  • Apache License, it is just like the MIT license but when making any change to the original work, you must state that change.

  • BSD Licenses 2.0, The BSD 2-clause license gives you nearly limitless freedom with the software as long as you include the BSD copyright notice.

TL;DR

there is two types of licenses:

  1. proprietary licenses don’t allow reverse engineering, distribution and deriving new work.

  2. open-source licenses: GPL and LGPL will force the licensee to declare his work also as a GPL(or LGPL), the others(MIT License, Apache License & BSD Licenses 2.0) will allow you more or less to do whatever you please with their work for the condition of giving credit to the owner or stating the license of the original work.

comments powered by Disqus