Education

Free licenses from the developer community and large companies

Free licenses from the developer community and large companies

Learn: The Java Developer Profession

Learn More

In the final part of the article series, we will discuss licenses developed for specific companies and products that have proven so successful that they have significantly exceeded the scope of their initial projects. These licenses have become the basis for many new initiatives and technologies, making a significant contribution to the development of the industry.

Apache License 2.0

Image: Apache Software Foundation

The Apache License was developed under the auspices of the Apache Software Foundation (ASF). Initial versions of this license were almost identical to the BSD 4-Clause and BSD 3-Clause licenses, differing only in the name of the developing organizations. The Apache License gives users flexibility in using, modifying, and distributing software, which contributed to its popularity in the developer community. Over time, the license has undergone changes, including improvements in the areas of patents and copyrights, making it more attractive to developers and companies committed to open source software.

In 2004, the Apache Software Foundation developed its own license, the Apache License 2.0, deviating from the BSD model. The main goal of creating the new agreement was to simplify the use of third-party software, as well as to increase compatibility with free software. The Apache License 2.0 offers more flexible terms, encouraging wider adoption and deployment of software across projects.

The Apache License 2.0 is a permissive license that allows users to modify the source code, distribute the software closed, and charge a fee for use of both the original and derivative programs. This license provides flexibility and freedom for developers, allowing them to integrate and modify the software without mandatory open source requirements. The Apache License 2.0 also protects the copyright of developers, providing legal clarity and security for users.

The Apache License 2.0 is a software license that provides users with the freedom to use, modify, and distribute software. Key provisions of the license include permission for commercial use, copyright protection, and attribution obligations. The license also includes patent protection provisions, providing additional protection for developers and users. The Apache License 2.0 is one of the most popular open source licenses, providing a balance between freedom of use and the rights of authors.

  • terms and definitions;
  • rights and conditions for their provision;
  • disclaimer of warranties and liability;
  • additional obligations.

The license legal terms correspond to the provisions of the US Copyright Law, in particular section 106. This law grants the right to reproduce the programs, create derivative works, publicly display and perform, and sublicense and distribute both original and modified versions of the programs in source or object code form. It is important to understand that compliance with these terms is key to the legal use of the software and the protection of the rights of authors.

The licensor does not have the right to revoke the license. This license is granted for the entire term of the exclusive right and remains valid without territorial restrictions.

A software license may be granted by either the original author or all other project participants who have made modifications to the program. These participants, called contributors, become co-authors of the modified version of the program. This ensures transparency and protection of the rights of all parties involved in development, and also promotes wider distribution and improvement of the software product.

Each licensee receives rights from other project participants and, in turn, grants them their rights after making a contribution. If the author wishes to retain the rights to modify and distribute the modified version of the program under different terms, he or she has the right to do so. However, in this case, the modification will not be considered a contribution to the community project. It is important to note that compliance with these rules promotes the harmonious development of the project and respect for the work of all participants.

The right to sublicense ensures compatibility of the Apache License 2.0 with other free licenses, especially the GNU General Public License (GPL). This advantage makes the Apache License 2.0 more flexible and universal for developers, which promotes wider distribution and adoption of open source software. Sublicensing enables the integration of various projects, increasing their compatibility and sustainability in the free software ecosystem.

The Free Software Foundation (FSF) has announced that the Apache License 2.0 is compatible exclusively with the GPLv3. This compatibility is one-way: projects licensed under Apache 2.0 can be migrated to GPLv3, but reversion to Apache 2.0 is not possible. The Free Software Association (ASF) asserts that it has the right to determine the level of compatibility between the Apache 2.0 and GPL licenses.

Apache 2.0 provides protection against abuse by individual authors. This license provides patent protection for inventions related to the core program. However, if an author makes patent claims, they will lose access to the patent licenses of other project participants. This creates a balance of interests and promotes safer collaboration within the open source community.

The Apache 2.0 license requires users to preserve copyright notices and provide the license text with the software. This license is not copyleft, allowing developers to create their own proprietary products based on source code obtained under this license. Thus, Apache 2.0 offers flexible terms of use, allowing integration and modification of code without having to disclose one's own source code.

The author of a modified version is required to clearly indicate the changes made. This is important to preserve the reputation of the creators of the original versions, especially in cases where the modification may be of low quality. Highlighting the changes helps users distinguish the original from the rework and make an informed decision about using the modified version.

The standard license includes provisions disclaiming warranties and liability. However, developers of modified programs can establish additional obligations and warranties, which may be provided for a fee. This allows users to have confidence in the quality and reliability of the software, and that the authors are ready to take responsibility for their products.

The Apache 2.0 license is recognized as more legally sound than the BSD and MIT licenses. It contains clear language regarding the rights granted, which provides greater legal protection for developers and users. One of the significant advantages of this license is its inclusion of terms specific to patent licenses, which helps prevent potential lawsuits. Furthermore, the license details the process of collaborative software development and establishes the status of modified versions of programs, making it particularly attractive for teamwork and open-source programming.

The Apache License 2.0 has spread beyond the Apache projects and is currently used in numerous open-source projects. This license gives developers the freedom to use, modify, and distribute software, which promotes innovation and collaboration within the community. It provides copyright protection and allows users to integrate the software into their own products while maintaining free access to its source code. Thanks to its flexibility and clarity, the Apache License 2.0 has become one of the most popular licenses in the open-source software world.

  • Apache Spark is a cluster computing system;
  • Spring Framework is a framework for creating enterprise applications;
  • Android Studio is an integrated development environment;
  • TensorFlow is a library for machine learning;
  • Blazor is a web platform for developing applications in C# and HTML.

Mozilla Public License (MPL)

Image: Mozilla Foundation

The Mozilla Public License is one of the most widely used free licenses recognized by the Open Source Initiative. This license combines elements of both permissive and copyleft licenses, making it a versatile choice for developers looking to protect their projects and ensure their openness. The Mozilla Public License allows users to freely use, modify, and redistribute software, while retaining the right to use the original code and its modifications. This license provides flexibility and compatibility, which promotes community and innovation in the open source software industry.

The Free Software Foundation (FSF) classifies the MPL as a free license with "weak copyleft." This license does not impose strict restrictions on the entire modified program, but only on the files that contain the original code or its modifications. This allows MPL-licensed code to be used in commercial products, making it attractive to developers looking to integrate free software into their solutions.

The first version of the MPL was developed in 1998 by Netscape Communications Corporation, following its failure in the "browser war" with Internet Explorer. As a result of this defeat, Netscape decided to open and rework much of the source code of its browser, which became the basis for a new project called Mozilla. This step was an important milestone in the development of open source software and helped create a community of developers who continued to develop and improve browser technologies.

A year later, after lengthy open discussions among project participants, MPL v1.1 was released. This version clearly defined the terms of patent use and allowed multiple licensing. This innovation was introduced in order to attract supporters of more restrictive licenses, such as the GPL, to Mozilla. It is important to note that both early versions of the license are not compatible with the GPL. As a result, Mozilla's first products appeared on the market under multiple licenses: MPL v1.1, GPL v2.0, and LGPL v2.1.

The Free Software Foundation (FSF) classifies MPL v1.1 as a free license, but without strict copyleft requirements. According to the Foundation, this license contains a number of complex restrictions that prevent it from being compatible with the GNU GPL. This limitation makes MPL v1.1 less attractive to developers seeking complete freedom in the use and distribution of software.

In 2010, the Mozilla Foundation began working on MPL v2.0. The goal of developing the new version of the license was to create a clearer and easier-to-use document that would also ensure compatibility with the GPL and Apache Licenses. The license text was shortened and ambiguous language was removed, but the core principles of MPL v1.1 remained unchanged. MPL v2.0 offers developers flexibility and clarity, making it an attractive choice for open source software.

MPL v2.0 is a license that combines elements of the BSD and GNU GPL, providing a high degree of compatibility. It is compatible with versions of the GNU GPL starting from 2.0, as well as with the GNU AGPL v3.0 and the Apache License 2.0. Thanks to its flexibility, the MPL v2.0 allows developers to use and modify software while retaining copyright protection. The core terms of the MPL (Multilateral Public License) encompass key aspects that govern software use and modification. Under the MPL, developers have the freedom to use, modify, and distribute software in both source and compiled form. However, if you modify the code, you must make the modified versions available under the same license as the original. The MPL strikes a balance between freedom to use software and protecting the rights of authors, making it popular among developers and companies. This license promotes collaboration and knowledge sharing within the developer community, which ultimately leads to improved software quality.

  • program code (including its derivative code) licensed under the MPL must also be distributed under the MPL;
  • the author of a composite program (that is, a program that combines fragments licensed under the MPL and other licenses) can choose which license to distribute it under;
  • the author of a program can distribute it under different licenses (multiple licensing);
  • the MPL license grants worldwide rights.

The MPL brand offers a variety of products that include innovative solutions for various fields. Among them are high-quality goods that meet modern requirements and standards. MPL strives to provide its customers with products that combine reliability, efficiency, and advanced technology. Each MPL product is developed with market needs in mind and a commitment to continuous improvement.

  • Mozilla Suite — a set of programs for working on the Internet;
  • Mozilla Firefox — a web browser;
  • Mozilla Thunderbird — an email client;
  • LibreOffice — a suite of office applications;
  • H2 Database Engine — a database management system;
  • Cairo — a graphics library for working with vector graphics.

Many developers have modified the MPL terms for use in their products. Thus, Sun Microsystems created the Common Development and Distribution License based on MPL version 1.1, which improved the conditions for using and distributing software.

Common Development and Distribution License

Image: Sun Microsystems

The Common Development and Distribution License (CDDL) was developed by Sun Microsystems in 2001 to integrate the open source code of the OpenSolaris operating system with files licensed under different terms. This license also allows third-party developers to create extensions for OpenSolaris while adhering to different licensing terms. The CDDL covers aspects of code sharing and modification, which contributes to the development of the OpenSolaris ecosystem and supports software innovation.

The CDDL was based on the text of MPL v1.1, since its terms most closely align with the goals of OpenSolaris. The license also includes a number of improvements that make it more suitable for open-source projects.

  • a lighter copyright notice;
  • a simplified notion of modification;
  • terms are included to help choose law and jurisdiction in case of disputes;
  • the ability to choose a specific license version for programs is added.

Under the license terms, the copyright holder has the option to license the code under multiple licenses, including the CDDL. This allows for flexibility in the use and distribution of the software, which can be beneficial for both developers and users. Licensing under the CDDL can be especially relevant for projects that require open source code and compatibility with other licenses.

In 2005, the CDDL license was approved by the Open Source Initiative (OSI) and is currently one of the leading popular open-source licenses. Like the MPL, the CDDL is not a strict copyleft license, allowing for a combination of open and closed source files. As a result, the CDDL is incompatible with the GNU General Public License, which is important to consider when choosing a license for projects with different types of source code.

The CDDL (Common Development and Distribution License) was used in projects developed by Sun Microsystems and is currently supported by Oracle. This license ensures open access to software, allowing users to modify and distribute code, fostering collaboration and innovation in the development field. The CDDL remains an important part of the software ecosystem, providing a balance between openness and protecting the rights of developers.

  • OpenSolaris is an open source operating system;
  • OpenIndiana is a distribution of the Solaris operating system;
  • NetBeans IDE is an IDE for programming in Java, C++, Python, and other languages;
  • GlassFish is an application server that implements the Java EE specifications.

Java Developer Profession

You'll learn Java programming from scratch and create web applications using the Spring framework. In six months, you'll gain fundamental skills and build a portfolio, and we'll help you find a job.

Find out more