Role Name Affiliation

Principal Investigator Dr. Savita Gandhi Professor, Dept. of Computer Science, Gujarat University, Ahmedabad

Content Writer Mr. Hardik Joshi Asst. Professor, Dept. of Computer Science, Gujarat University, Ahmedabad

Content Reviewer Dr. Hiren Joshi Professor, Dept. of Computer Science, Gujarat University, Ahmedabad

Item Description

Subject Name Information Technology

Paper Name Open Source

Module No 02

Module Name Open Source Software Licenses

Pre-requisite NIL

Objectives To understand the use of open source licenses

Keywords , open source license, MIT License, BSD License, GNU GPL License, GNU LGPL License, , CC0

Manipulating Text in GNU/Linux

Overview

In the previous module, we learnt about open source software. As we know, in the case of open source software, distribution of software is permitted. When the open source software is distributed there are various implications that need to be addressed.

Software licenses control how we can use software that is produced by others, including open source software. Software licenses depend on the constraints laid down in using the software.

1

Licenses are created to meet a set of defined requirements. Licenses can be applied to source code or documents or any work that is created by a user. However, there are different licensing model for the documents and literary/artistic work other than the source code. Creative Commons licenses are used for documents/literally work while there are different set of licenses available for the source code.

Terms related to licenses:

First let us understand few terms that are related to licenses. These terms define the type of license for source code or any other document.

 License - A License is an official permission granted to people (―Lincensee‖) by the owner of some work (the ―Licensor‖), it governs that how the Licensee is allowed to use the Licensor’s Work.  Copyright - The exclusive and assignable legal right, given to the originator for a fixed number of years, to print, publish, perform, film, or record literary, artistic, or musical material.  - It is the practice of offering people the right to freely distribute copies and modified versions of a work with the stipulation that the same rights be preserved in derivative works down the line  Right to Perform – Right to perform music/drama in public  Right to Display – Right to display the  Right to Copy – Right to make copy of the code / document  Right to Modify – Right to modify the code / document  Right to Distribute – Right to distributed the code / document (in modified form aswell) With the help of license, the licensor and the licensee agree on the obligations and rights of both of them. For instance, while using the source code, a licensor might require to copy his work but do not distribute his work. In some cases, the licensor would like to quote his name while using his work.

The open source software needs to be modified since on different systems it may behave differently. So, when the source code is given to others, it is required to make modifications and later use the code. In case, if the work is not released under any license, the default copyright act of the jurisdiction is applied. The open source software is more concerned with using of the software, copying, modifying and re- distributing the software. Open Source & Licenses

In the previous section, we studied the generic terms related to licensing. Now, let us understand how the key terms of used with licensing and are applied to realm source code.

Open source licenses are licenses that comply with the Open Source Definition — in brief, they allow software to be freely used, modified, and shared. 1

Copyleft is a general method for making a program (or other work) free and requiring all modified and extended versions of the program to be free as well.2

2

Public Domain means non-copyrighted. It allows anyone to share the program and their improvements.

Warranty: The license does not provide any warranty.

Liability: The license includes a limitation of liability.

Patent: The license provides an express grant of patent rights from the contributors

Distribution & Modification: Software can be distributed and modified

Same License: Modifications to the source code must be released under the same license when distributing the software

Disclose Source: Source code must be disclosed or released when the software is distributed

A "permissive" license is simply a non-copyleft open source license — one that guarantees the freedoms to use, modify, and redistribute, but that permits proprietary derivative works.

Commercial use: The software and derivatives can be used for commercial purposes (can be sold)

Primarily used for software libraries, the GNU LGPL requires that derived works be licensed under the same license, but works that only link to it do not fall under this restriction.

The following section refers to few widely used open source .

• GNU General Public License (GPL) • GNU Lesser GPL (LGPL) • BSD License • MIT License • Apache License • Artistic License • Creative Commons Zero (CC0) • No License

GNU General Public License (GPL) It is a very popular license in the open source community. The latest version is GNU GPL3 at the time of writing. It strongly supports copyleft philosophy. GPL mainly emphasizes that any derivative of GPL must also be released under GPL. Few features of GNU GPL are:

 It advocates strong copyleft  Work can be modified  Work can be used for commercial purpose  License must release source under the same term.

3

Allowed Conditions Constraints

Commercial use Disclose source Distribution License and copyright notice Liability Modification Same license Warranty Patent use State changes Private use

Software like Inkscape, Drupal, Mariadb, MySQL are released under this license.

GNU Lesser GPL

This license is very restrictive in nature and is primarily used for software libraries, Derivatives works can only be redistributed under LGPL, but applications that use the library don't have to be. The main features of this license are :

 It is weak copyleft (appropriate for dynamically linked libraries)  The work can be used for commercial  Work can be modified  Modified work must be released under the same condition  The source must be released along with the derivative work

Allowed Conditions Constraints

Commercial use Disclose source Distribution License and copyright notice Liability Modification Same license (library) Warranty Patent use State changes Private use

Software like Linux, GIT, WordPress, GTK+, GIMP Toolkit, CUPS, WineHQ, GNU Aspell, OpenOffice V3 used this license.

4

BSD License

There are 3 types of BSD License, the original license was 4-clause license; later revised 3-clause license was developed and finally 2-clasuse license was developed. The 3-clause and 4-cluase licenses stress on more requirements related to name and reuse of source code. Key features of BSD License are:

 It is Non-copyleft  The Work can be commercialized  Work can be modified  Work must be attributed.  Distribution of the derived work must be under different terms.  The source code need not be disclosed with the derivative work.  In 3-clause and 4-clause, it is restricted that the licensees cannot use the original Author name or trademark to endorse Derivative Work.  In 4-cluase BSD, the licensees must acknowledge the original Author in all advertising materials mentioning features or use of the Work (4-clause BSD)

Allowed Conditions Constraints

Commercial use

Distribution License and Liability

Modification copyright notice Warranty

Private use

Software released under this license are :  Django : 3-clause BSD  Redis : 3-clause BSD  Ruby : 2-clause BSD and custom license  Nginx : 2-clause BSD

MIT License

It is very popular license, it puts very few limitations on reuse. The MIT license is quite similar to GNU GPL License. Key feature of MIT license are:  It is Non-copyleft  Work can be used commercially  Work can be modified  proper attribution for the Work must be provided  Derivative work can be redistributed under different terms  The source code need not be disclosed with the derivative work.

5

Allowed Conditions Constraints

Commercial use

Distribution Liability Modification License and copyright notice Warranty Private use

Sub Licensing

Software released under MIT license are node.js, jQuery, Atom, AngularJS, SQLAlchemy

Apache License

This license falls under the category of permissive free licenses. It is permissive since it does not require any derivative work to be distributed under the same terms. So, we can call it a non-copyleft license. Few important features are:  It is non-copyleft  Work can be commercialized and modified  Work must be attributed.  Work may be redistributed in case of derivatives under different terms.  The source code need not be disclosed with the derivative work.

Allowed Conditions Constraints

Commercial use Distribution Liability License and copyright notice Modification Trademark use State changes Patent use Warranty Private use

Software released under Apache License are: Android, Apache httpd, Apache Spark, Apache Spring Framework, Apache Tomcat, NuGet, SVN, etc

6

Artistic License

It requires that in the presence of modified version of any software, the users must not be prevented in using the standard version. community favors this license. Allowed Conditions Constraints

Commercial use Distribution Liability License and copyright notice Modification Trademark use State changes Patent use Warranty Private use

Creative Commons CC0 ()

The CC0 license is also known as public domain license. Usually, this license is not applied to source code but it is applied to Govt. documents release as notices or gazettes. It makes sure that the work has widest reach.

Allowed Conditions Constraints

Liability Commercial use Warranty Distribution Patent use Modification Trademark use Private use

No License

When no license is applied, the user gets permission to do whatever they want with code.

Allowed Conditions Constraints

Commercial use Distribution Modification Private use

There are many more licenses available, however, the licenses discussed here are the widely used licenses. In future modules, we will study software and will also come to know that which software is distrbitubed under what license.

Let us summarize what we studied in this module

 Got an overview of open source licenses  Studied licenses like GNU GPL, GNU LGPL, BSD, MIT, Apache Licenses, Artistic, CC0 license.

7