Download - Software licensing & open source software
In association with
LAKSHMIKUMARAN AND SRIDHARAN
DR. MUKUNDAN CHAKRAPANI
PRASHANT PHILLIPS
RAGHAV SARDA
SOFTWARE LICENSING &OPEN SOURCE SOFTWARE
© COPYRIGHT 2015, LAKSHMI KUMARAN & SRIDHARAN
Agenda
• What is a SOFTWARE LICENSE
• Different types of Software Licenses
• Effects of a Software License
• What is OPEN SOURCE SOFTWARE (OSS)
• Different types of licenses used for OSS
• Protection afforded by the OSS
• Obligations arising out of the OSS
• Comparison of OSS models
• Copyleft v. Permissive
© COPYRIGHT 2015, LAKSHMI KUMARAN & SRIDHARAN
Software License
• All software is protected under copyright. Copyright is owned by the
developer or publisher
• Software License is a LICENSE for the copyright in the software
• License is generally just a permission to use
• Does not result in change in ownership
• Implemented through a legal contract, i.e., subject to terms and conditions
• Software License
• Permission to use a software – one or more
• Ownership with the publisher of the software
• In most case, terms of a software license have to be accepted before the
software can be used
© COPYRIGHT 2015, LAKSHMI KUMARAN & SRIDHARAN
Software License
• A software license has similar elements as that of a contract or an
agreement
• Terms and conditions – prescribing how the software is to be used or
prohibiting certain actions
• Obligations – no copying unless permitted by the terms and conditions
recited in the license
• Terms of warranty and indemnification against any damage caused to
data owing to use of software
• Liability of each party
• User’s rights in cases of specific situations or circumstances
• Geographic restrictions
© COPYRIGHT 2015, LAKSHMI KUMARAN & SRIDHARAN
AUTHOR/DEVELOPERINDEPENDENT DEVELOPER
ORGANIZATION WHERE DEVEOPER
EMPLOYED
LICENSE GRANTED
Terms agreed by LicenseePERPETUAL
LICENSENO-PERPETUAL
LICENSE
NO RENEWAL RENEWAL
Procedure for Software Licensing
© COPYRIGHT 2015, LAKSHMI KUMARAN & SRIDHARAN
Broad Classification of Software Licenses
Proprietary
Developers or distributors reserve all freedoms and rights.
Most commercially available software is
covered under proprietary licenses
Free & Open Source (FOSS)
Grants a user substantial rights
and freedoms.
Rights to redistribute, study and modify free
software owing to unfettered access to its source code without any
royalty
Hybrids
Combination of FOSS with a
Proprietary license
Provides flexibility of both proprietary
and FOSS licensing models
© COPYRIGHT 2015, LAKSHMI KUMARAN & SRIDHARAN
Proprietary Software Licenses
• Most used licensing model for commercially available software – End User License Agreement (EULA)
• Dictate the terms of use of the associated software
• Implemented commonly through:• Click-wrap license: User accepts the terms and conditions of a license
through a clickable interface usually at the time of installation
• Shrink-wrap license: enclosed along with the packaging of the software
• Not all click-wrap or shrink-wrap have been found to be enforceable – but invariably the terms of the license have been upheld
© COPYRIGHT 2015, LAKSHMI KUMARAN & SRIDHARAN
Salient Features of a Proprietary License
• Exclusive rights in the software subsists with the owner/developer/publisher
• No transfer of right occurs owing to the license
• Violation of the proprietary license amounts to copyright infringement
• Restricts inspection, modification of source code and further distribution
• Freeware (i.e., no costs) can be distributed using proprietary licenses
• Can be used if the source code is a trade secret
• Not affected by first-sale doctrine
© COPYRIGHT 2015, LAKSHMI KUMARAN & SRIDHARAN
Impact of a Proprietary License on a User
• The EULA may itself be quite complex and long. It is important for
one to understand the scope of the use which is permitted through
the license – any use should be permitted by the license
• Reverse engineering is nearly always prohibited
• Violating any of the conditions would result in copyright infringement
• However, EULA should also adhere to principles applicable to legal
contract – if certain terms are not enforceable, then such terms
would be held as invalid
© COPYRIGHT 2015, LAKSHMI KUMARAN & SRIDHARAN
OPEN SOURCE SOFTWARE
• How is OPEN SOURCE SOFTWARE defined
• Does it mean that OSS is free of charge
• Different definitions exist:
• Open Source Definition
• Free Software Definition
© COPYRIGHT 2015, LAKSHMI KUMARAN & SRIDHARAN
Free software and Open source
• Free software was coined in 1980s, which refers to software that users can
safely run, adapt, and redistribute without legal restraint.
• Emphasized on Freedom
• Open source software is a software with source code that is publically
available under a license that gives users the right to study, change, and
distribute that software.
• Emphasized on security, cost saving, and transparency.
• Hence, free and open source software (FOSS) came into being.
• FOSS allows to use, copy, study, modify the software, and the source code
to be openly shared so that people are encouraged to voluntarily improve
the design of the software
© COPYRIGHT 2015, LAKSHMI KUMARAN & SRIDHARAN
And therefore, OSS is…
• Certain commonalities exists between the definition as provided by
the OSD and the FSD
• Many licenses are both complying with the OSD and the FSD
• Any OSS would therefore :
• Freedom to use the source code
• Share the source code and/or modifications carried out
• Allow the rights in copyright to other users
• Enabled through OSS Licenses
© COPYRIGHT 2015, LAKSHMI KUMARAN & SRIDHARAN
Open Source Licenses
• OSS License is a typical license
• Focusses on the copyright of the author of the software code
• Provides various privileges to the user of the code
• Imposes obligations for distributing the source code
• Source code availability
• Modifications to be shared
• Attribution requirement (e.g., BSD license)
• Acknowledge name of the original authors (e.g., MIT license)
© COPYRIGHT 2015, LAKSHMI KUMARAN & SRIDHARAN
Two types of OSS Licenses
OSS
Permissive
Apache BSD
MIT W3C
Copyleft
GPL LGPL
MPL EPL
© COPYRIGHT 2015, LAKSHMI KUMARAN & SRIDHARAN
Permissive Licenses
• Provides very basic requirements for distribution
• Provides a royalty free license to do virtually anything with the source
code
• Using, copying, modifying, merging, publishing, distributing, sublicensing,
and/or selling (MIT)
• Does not require distribution of source code (or modifications)
• Source code may be distributed – would violating the permissive license
• May specifically point out to absence of any warranties
• More open for commercial use
• Examples include - Apache, BSD, MIT, W3C, etc.
© COPYRIGHT 2015, LAKSHMI KUMARAN & SRIDHARAN
The MIT License (MIT)
• This license permits reuse within proprietary software provided all
copies of the licensed software include a copy of the MIT License
terms and the copyright notice.
• No obligation to provide source code
• No royalty
• Such proprietary software retains its proprietary nature even though
it incorporates software under the MIT License.
• The license is also GPL-compatible, meaning that the GPL permits
combination and redistribution with software that uses the MIT
License http://opensource.org/licenses/MIT
© COPYRIGHT 2015, LAKSHMI KUMARAN & SRIDHARAN
• BSD licenses are a family of permissive free software licenses.
• BSD-3 allows unlimited redistribution for any purpose as long as its
copyright notices and the license's disclaimers of warranty are
maintained.
• The license also contains a clause restricting use of the names of
contributors for endorsement of a derived work without specific
permission.
• No obligation to provide source code and royalty
• Compatible with GPL license• http://opensource.org/licenses/BSD-3-Clause
The BSD 3-Clause License
© COPYRIGHT 2015, LAKSHMI KUMARAN & SRIDHARAN
Apache License
• Freedom to use the software for any purpose
• No obligation to provide source code and royalties
• Does not require a derivative work of the software, or modifications to
the original, to be compulsorily distributed using the same license.
• However it still requires
• application of the same license to all unmodified parts
• Indicate that any original copyright, patent, trademark, and attribution notices
in redistributed code must be preserved (excluding notices that do not pertain
to any part of the derivative works); and
• In case of any modifications, a notification must be added stating that
changes have been made to that file. http://opensource.org/licenses/Apache-2.0
© COPYRIGHT 2015, LAKSHMI KUMARAN & SRIDHARAN
Copyleft Licenses
• Provides more exhaustive and restrictive conditions for distribution
• Making source code and binaries available is a must
• Some copyleft licenses may also require that the modifications be
clearly indicated
• Modifications also covered under the copyleft licenses
• May also be applicable over new code depending on the nature of
linking with the copyleft code
• Example include – General Public License (GPL), Lesser General
Public License (LGPL), Mozilla Public License (MPL), etc.
© COPYRIGHT 2015, LAKSHMI KUMARAN & SRIDHARAN
Copyleft Vs Permissive:
Permissive License Copyleft License
Source Code/Binaries Availability May/ may not provide Have to provide
Modifications provide provide
Attribution Include in source code only with permission Include in source code
Notice Requirement Provide copyright notice Provide notice about modifications
© COPYRIGHT 2015, LAKSHMI KUMARAN & SRIDHARAN
• The GPL is a strong copyleft license, which means that derived
works can only be distributed under the same license terms.
• GPL limitation - GPL is designed to prevent proprietary
commercialization of Open Source code
• GPL requires that
•(1) software derived from a GPL-licensed software must also be
released under the GPL license; and
•(2) all re-distributions of the GPL-licensed software, including modified
versions or software derived from GPL-licensed software, must make the
full source code freely available.• http://opensource.org/licenses/GPL-2.0
The GNU General Public License (GPL)
© COPYRIGHT 2015, LAKSHMI KUMARAN & SRIDHARAN
• A consequence of the strong copyleft terms of the GPL is that even
many free and open source software projects are prohibited from
using GPLed libraries.
• GPL may override the terms of the other license,
•require relicensing the entire project
•a choice that may be unpalatable to many projects.
GPL - limitation
© COPYRIGHT 2015, LAKSHMI KUMARAN & SRIDHARAN
The GNU General Public License (LGPL)
• Similar to the GPL, but designed for software libraries where you
want to allow non-GPL applications to link to your library and utilize
it.
• If you modify the software, you still have to give back the source
code, but you are allowed to link it with proprietary software/modules
without giving the source code of the proprietary software/modules.
• The word "Lesser" in the title shows that the LGPL does not
guarantee the end user's complete freedom in the use of software: it
only guarantees the freedom of modification for the LGPL-parts, but
not for any proprietary software-parts. http://opensource.org/licenses/LGPL-2.1
© COPYRIGHT 2015, LAKSHMI KUMARAN & SRIDHARAN
GPL VS LGPL
• Using the LGPL permits use of the library in proprietary programs;
using the ordinary GPL for a library makes it available only for free
programs (that are not proprietary).
• The main difference between the GPL and the LGPL is that the latter
allows the code to be linked with a non-(L)GPLed program,
regardless of whether or not it is proprietary software.
© COPYRIGHT 2015, LAKSHMI KUMARAN & SRIDHARAN
Effect of linking:
Static Linking Dynamic Linking
GPL license Required to provide code (all under GPL)
Only GPL code is to be distributed under GPL.(new code may/may not be under GPL)
LGPL license
Required to provide code (LGPL code stays LGPL)
May/may not provide code(LGPL code stays LGPL, proprietary code can be kept proprietary)
© COPYRIGHT 2015, LAKSHMI KUMARAN & SRIDHARAN
GPL-3.0MANNER OF IMPLEMENTATION OF GPL-V3 LICENSED CODE
WORK BASED ON GPL LICENSED CODE?
CONSIDERATIONS
value additions in the source code file of the GPL licensed code itself or in-lining all or part of the GPL licensed code into your source code
Maybe Final work retains substantial portions of the GPL licensed code?
An entirely independent code (linking program) that is statically linked with all or part of the GPL licensed code (linked program)
Maybe Final work retains substantial portions of the GPL licensed code?
All or part of the GPL licensed code (linking program) is statically linked with your code (linked program)
Yes Final code likely retains substantial portions of the GPL licensed code
An entirely independent code (linking program) that is dynamically linked with all or part of the GPL licensed code (linked program)
Maybe “Interface” code lines may possess copyright protection. Is your code specifically designed to work with the GPL licensed code?
All or part of the GPL licensed code (linking program) is dynamically linked with your code (linked program)
Yes Final code likely substantial portions of the GPL licensed code
© COPYRIGHT 2015, LAKSHMI KUMARAN & SRIDHARAN
Facts and Figures
• Over 25% of the nearly 100,000 projects hosted on Google Code are
estimated to be using the Apache License.
• In August 2013, according to Black Duck Software, the website's
data show that the GPL license family is used by 54% of open-
source projects, with a breakdown of the individual licenses shown in
the following table
© COPYRIGHT 2015, LAKSHMI KUMARAN & SRIDHARAN
Top open source licenses in use:
Source : blackducksoftware.comAs on May 2014
License Percentage Usage
GPL-2.0/LGPL (2 and 3) 45
BSD/MIT 22
APACHE 15
ARTISTIC (perl) 5
EPL 2
MPL 1
ZLIB/LIBPNG <1
© COPYRIGHT 2015, LAKSHMI KUMARAN & SRIDHARAN
General Comparison of LicensesYou may: GPL LGPL MPL Apach
eBSD-3 MIT
Use/modify/distribute Yes Yes Yes Yes Yes yesLink to other programs under at least some circumstances without creating a derived work
Yes Yes Yes Yes Yes yes
If you distribute you are required to:
Make source code available Yes Yes Yes
Display copyright notice Yes Yes Yes Yes Yes yesProvide copy of license Yes Yes Yes Yes Yes yesMark changes yes yes yes yes
License modified files within the work under the same terms (“weak copyleft”)
yes yes yes
License larger derived works under the same terms (“strong copyleft”)
yes Yes
If you distribute you are prohibited to use the names of original authors or contributors in advertising without permission
yes yes
© COPYRIGHT 2015, LAKSHMI KUMARAN & SRIDHARAN
GPL-V3 LGPL-V3 APACHE-V2.0 BSD-3 MIT
Release Commercial Works?
Yes, but ALL source code must be distributed under GPL (viral).
Yes Yes Yes Yes
Create Derivative Works?
Yes, but ALL source code must be distributed under GPL(viral).
Yes, but any derivative software must be released under a LGPL license and allow reverse engineering for client modifications and debugging.
Yes Yes Yes
Attribution? Must be included in your source code and distribution.
Must be included in your source code and distribution.
Must be included with your source code, and you may be required to include it in your distribution if your licensor requires.
Must be included in your source code and any documentation that you include with the release of your software.
Must be included with your source code.
© COPYRIGHT 2015, LAKSHMI KUMARAN & SRIDHARAN
This presentation is informational purpose only and does not purport to
be advice or opinion, legal or otherwise, whatsoever. The information
provided is not intended to create an attorney-client relationship and is
not for advertising or soliciting. Lakshmikumaran & Sridharan or its
associates are not responsible for any error or omission in this
presentation or for any action taken based on its contents.