Klara

The GNU General Public License (GPL) has been a cornerstone in the open source community, dictating (and we use that word intentionally…) how software can be freely used, modified, and distributed. GPL version 3, released in 2007, introduced significant changes from its predecessor, GPL 2, and sparked considerable debate among developers and corporations. This article delves into the controversies surrounding GPL 3, its differences from GPL 2, and compares it with other popular licenses like BSD and MIT, to understand how they coexist in the open source ecosystem.


bar chart showing the usage of various open source licenses. The top licenses are MIT, Apache 2.0, and Others.

Source: Why the MIT licensed is much more used than GPL-3?

 

One might argue that with the changes being introduced in 2007, 2024 is hardly the year to get annoyed at the changes. However, the relevance of GPL 3’s implications is accentuated by the increasing integration of open source software in enterprise environments and advancements in technology sectors like IoT and cloud computing. These developments bring GPL 3’s provisions on user rights and software distribution to the forefront.

Additionally, growing concerns about user privacy, digital rights, and the rise in software patent litigations make understanding GPL 3’s approach vital for legal compliance and strategic business planning. In this evolving landscape, comprehending GPL 3 and other licenses is crucial for leveraging the benefits of open source while addressing its challenges.

 

GPL 3 has been contentious for various reasons. One primary concern is its approach to “tivoization.” Tivoization refers to the practice of using GPL-licensed software on hardware that restricts modification of that software. GPL 3 prohibits this practice, ensuring that users have the freedom to modify GPL-licensed software running on their devices, a stance that some manufacturers and developers have opposed.

Another controversial aspect is the license’s stance on patent litigation. GPL 3 attempts to protect users against patent litigation arising from the use of GPL-licensed software, which has been met with resistance from companies heavily invested in software patents.

Additionally, GPL 3 addresses the issue of digital rights management (DRM). It explicitly forbids the use of GPL-licensed software in systems designed to enforce DRM restrictions, which has caused concern among content providers and software developers who implement DRM.

 

GPL 3 differs from GPL 2 in several key areas. Firstly, it includes specific provisions against tivoization, which were absent in GPL 2. This change aims to ensure that end users retain the ability to modify GPL-licensed software, even when it is used in conjunction with hardware that might otherwise restrict such modifications.

Secondly, GPL 3 offers better compatibility with other licenses and addresses international copyright laws more effectively. It has specific provisions for dealing with copyright law in various jurisdictions, making it more globally applicable than GPL 2.

Thirdly, GPL 3 strengthens the license’s stance on patents. It includes a provision that prevents distributors of GPL-licensed software from suing users for patent infringement, which was a less explicit aspect of GPL 2.

 

The BSD (Berkeley Software Distribution) and MIT (Massachusetts Institute of Technology) licenses are two of the most permissive open source licenses. They allow users to use, modify, and redistribute licensed software with minimal restrictions.

The BSD license, originating from the University of California, Berkeley, comes in several variants, but they all share the commonality of minimal restrictions. The most notable requirement is the necessity to include the original copyright notice and disclaimer in any redistribution, whether in binary or source code form.The MIT license is similar in its permissiveness. It is concise and straightforward, permitting almost unrestricted use, modification, and distribution of the licensed software, provided that the original copyright notice and permission notice are included in all copies or substantial portions of the software

 

The release of GPL 3 has significantly impacted the corporate world, particularly those companies that integrate open source software into their commercial products. Many corporations have been taken aback by the stringent conditions imposed by GPL 3, especially regarding tivoization, DRM restrictions, and patent litigation clauses. These provisions have raised concerns about potential legal risks and limitations on how they can use and distribute software. As a result, several companies have “no GPL v3 at all” policies, and have started exploring alternatives to GPL 3-licensed software.

These clauses have concerned many corporations, who see them as potential legal risks that conflict with their strategies relying on proprietary technology. Consequently, companies are increasingly exploring GPL 3 alternatives, favoring permissive licenses like BSD, MIT or Apache, which offer flexibility and control over proprietary components. This shift reflects a balance between open source ideals and corporate practicalities, marking a significant trend in software development and distribution.

 

The coexistence of GPL 3 with other open source licenses like BSD and MIT reflects the diverse philosophies within the open source community. While GPL 3 emphasizes freedom and user rights, BSD and MIT licenses focus on minimal restrictions on software use and distribution.

In practice, these differing philosophies can lead to compatibility issues. For instance, software under GPL 3 can be combined with software under the BSD license, but once combined the result is effectively entirely GPL 3, as the more stringent terms apply to the result. However, the open source community often navigates these challenges through careful license selection and compliance.

The variety of licenses allows developers and organizations to choose the model that best aligns with their goals and values. Some prefer the strong copyleft of GPL 3 to ensure freedom for end users, while others opt for the permissive nature of BSD or MIT licenses to encourage broader use and contribution to their software.

 

At Klara, we’ve been actively involved in helping clients transition from GPL-licensed software to BSD alternatives. This process involves a careful analysis of our clients’ current use of GPL software, identifying essential features, and then selecting BSD-licensed alternatives that offer similar or improved functionality.

Our approach is tailored to maintain operational efficiency and compatibility, ensuring a smooth transition. The goal is to provide our clients with the flexibility and control offered by BSD licenses, while also aligning with their specific software requirements and strategic objectives. This service is crucial for companies seeking to navigate the complexities of software licensing while preserving their system’s integrity and functionality.

 

GPL 3 remains a subject of debate in the open source community due to its stringent stance on issues like tivoization, DRM, and patent litigation. Its differences from GPL 2 reflect a shift towards greater user freedom and global applicability. Meanwhile, the BSD and MIT licenses offer a more permissive alternative, highlighting the diversity of thought within the open source world. Understanding these different licensing models is crucial for anyone involved in open source software, as they shape the way software is shared, modified, and utilized across the globe.

Back to Articles
Did you know?

Our OpenZFS Support team can help your business investigate how OpenZFS is performing in your environment.

Whether it’s simple slow storage issues, or something more complex, our team can audit these issues and provide a full report and solution sheet for your infrastructure.