DEV Community

Cover image for Open Source Software Licensing.
wassef ben ahmed
wassef ben ahmed

Posted on

Open Source Software Licensing.

The use of open-sourced code is inevitable. Whatever you may be working on, you will likely make use of code snippets from the web or some library that implements a sub-dependency relying on other people’s code.

Is it risky to use open source software:

Some open-source licenses generally allow the use of their components as long as you maintain any copyright notices. But if you use a code with a restrictive license in your proprietary software, you might be legally obligated to release your software under the same license.

What are the different types of open-source licenses:

Public domain: It means that anyone can modify and use the software without any restrictions

Permissive: contains minimal requirements about how the software can be modified or redistributed. Also known as “Apache-style” or “BSD style” another common variant is the MIT License.

LGPL: The GNU Lesser General Public License allows you to link to open source libraries in your software. If you simply compile or link an LGPL-licensed library with your own code, you can release your application under any license you want, even a proprietary license.

Copyleft: also known as reciprocal licenses or restrictive licenses, allow you to modify the code and distribute new works based on it, as long as you meet the requirements for redistribution under the same license.

What kind of risks are there using open-source licenses:

Low-risk: Permissive licenses are considered low risk because it’s easy to meet their reuse requirements: Usually, you just have to retain the copyright notice, but you don’t have to expose your source code. Examples are the Apache and MIT Licenses.

Medium-risk: Semi-permissive licenses sometimes referred to as limited licenses, weak copyleft licenses, or simple copyleft licenses, are considered a medium risk because if you modify the code, you have to release the modifications, but not your whole application, under the same license. Different licenses define “modification” differently. Examples are the Mozilla and the Eclipse Public Licenses.

High-risk: Restrictive licenses carry a great deal of legal risk. If you use a component with one of these licenses, you might be legally obligated to release your entire application code. Examples are the GNU GPL and GNU LGPL.

Top comments (1)

riidom profile image

It's probably worth mentioning the AGPL too.