Open-Source Licenses 101

Saida Ibragimova
3 min readOct 7, 2020

What are they and why should you care?

Let’s say a software developer created a cool app and wants to share its code with the rest of the world. In order to do that, a developer has to decide what rights and restrictions they want to place on the potential user of their code. Open source licenses, acting as a legal and binding agreements between a creator of a software piece and its user, lay out the details of the terms and conditions for both parties.

There’re over 200 open-source licenses out there, each varying in its own subtle way. To find out more details about specific open-source licenses, please refer to SPDX License List. But generally, all open-source software licenses fall into one of the two categories: copyleft licenses or permissive licenses.

Copyleft licenses

Copyleft licenses grant a user with the rights to copy the code, modify it, use it for commercial and non-commercial purposes. However, the code that a user has created using a software component licensed under a copyleft license has to remain open to the developer community: under this copyleft license.

Examples:

  1. The GNU’s Public License

2. The Eclipse Public License (EPL)

Permissive licenses

Permissive licenses usually place the smallest amount restriction on a user. Under permissive licenses, a user is free to copy, modify the code, share it with the public, turn software into a commercial project, and so forth.

Examples:

  1. MIT license
  2. Berkeley Software Distribution License (BSD)

Why should I care?

Case study: Cisco vs FSF

If you like visiting online tech forums, you might have heard or read something about a 5-year long “Whack-a-mole” game between the FSF (Free Software Foundation) and Cisco (a networking hardware company). Turns out, the FSF filed a big lawsuit against Cisco in 2008 after a long conversation with its administration about Cisco’s compliance with the agreements of the GNU Public License.

Apparently, it all started in 2003, when the community of open-source developers discovered that Cisco was using Linux/GNU in its firmware. The open-source code for those firmware components, under the GNU license agreements, was supposed to be accessible to the public. However, that code that Cisco provided was outdated and incomplete. Once the FSF received a complaint from the developer community and dug deeper into the problem, they discovered more cases of open-source license agreement violations from Cisco side. And thus, despite five years of ongoing conversation between organizations, Cisco still didn’t fully comply with the GNU license agreements.

This made the FSF to file a lawsuit against Cisco which was continuing for the whole year. In 2009, Cisco and the FSF finally settled upon a joint agreement, and the FSF agreed to dismiss the lawsuit against Cisco.

--

--