Topic 1: Licenses

Open source licenses define how software can be used, studied, modified, and distributed. Unlike traditional copyright licenses, which typically restrict modification and redistribution, open source licenses explicitly grant users the freedom to use the software for any purpose, as well as the right to access, modify, and share the source code, often with the requirement that these freedoms are preserved in derivative works.

Open source software licenses can be divided into permissive and copyleft licenses. Permissive licenses have very few restrictions and obligations on what you can do with the software, while the copyleft licenses have more restrictions and obligations.

1. Permissive Licenses: These licenses impose minimal restrictions, allowing users to freely use, modify, and distribute the software as long as they provide the original license text and attribute copyright holders on distribution. Users can release modified versions under different licenses, including proprietary ones, without the obligation to share their changes or publish the source code.

The most common permissive license is the MIT License, which authorises users to do anything with the software, requiring only that the original copyright and license notice be included in substantial portions of the software. It is compatible with other licenses, both open-source and proprietary, making it easy to integrate MIT-licensed code into various projects.

2. Strong Copyleft Licenses: These licenses require that any derivative work or software that incorporates the original code must be distributed under the same strong copyleft license (or a license with equivalent restrictions). This reciprocal requirement ensures that modifications and adaptations remain open and available to the community.

GNU General Public License (GPL), was created by Richard Stallman as the first copyleft license. It aims to guarantee users the freedom to share, modify, and distribute all versions of a program, ensuring it remains free software for everyone.

3. Weak Copyleft Licenses: These licenses are more permissive than strong copyleft variants, allowing proprietary software to link to and use the licensed code without being required to use the same license. This means that while the core open source code remains protected, the surrounding proprietary code can maintain its own licensing. These licences encourage open collaboration while supporting commercial use. Code under the LGPL can be relicensed under the full GPL if needed, but the reverse is not true.

The GNU Lesser General Public License (LGPL) is an example of weak copyleft license.

p5.js is licensed under the LGPL, meaning that the core library remains free and open-source, even when used within proprietary software. It ensures that users can always view, edit, and redistribute the library’s source code, preserving its openness while facilitating larger use in commercial applications.

As a contributor to the translation of the original p5.js website, I am working on a French copy of the site, which is licensed under the MIT license. This is possible because p5.js is distributed under the LGPL. This weak copyleft license allows code under permissive licenses like MIT to be linked or combined with it without requiring the entire project to adopt the same copyleft terms.

OSI

The Open Source Initiative (OSI) is a global non-profit organisation dedicated to promoting and protecting open source software. For a license to be considered an open source license, it must comply with the Open Source Definition (OSD) set by the OSI, which outlines the criteria for software freedom, including free distribution, access to source code, and the right to create derivative works. Only licenses recognised by the OSI are officially considered open source.

One clause in the Open Source Definition (OSD) that we discussed in class is the “No Discrimination Against Fields of Endeavour.” I believe this clause should be revised to better protect people in the future. For example, the YOLO object detection project, which is licensed under a copyleft license, allows users to modify and use the software for any purpose. Unfortunately, it has been used in military applications, causing harm to societies.

While this clause comes from the belief that technology is neutral and harm arises only from how it’s used, I think open source software (OSS) should have stricter guidelines to prevent misuse. The creator of an OSS project should clearly define what they do not want their software to be used for, rather than relying on vague, open-ended statements that can be interpreted differently. By doing so, they can help ensure their work is not later used in ways that cause harm.

For example, “This software should not be used for harmful purposes” is a vague statement; while it conveys the intent of avoiding harm, it doesn’t provide clear guidelines on what constitutes a “harmful purpose” or how to prevent it. Different people could interpret this in various ways, making it difficult to enforce


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *