2. •Q1Q1
•What Is GNU GPL ?
•Different Versions Of GNU GPL
•GNU LGPL
•MsPL
•Comparison And Contrast
•Business Models That Can Be Explained
•Q2
•Combining License Types
•Similar Practical Cases
•Q3Q3
•About Group Project
•CC License
•Why Add CC License To Web Site ?
•Attributions And Why Are They ?
3. What is GNU GeneralWhat is GNU General
Public License (GPL) ?Public License (GPL) ?
• A free, copy-left license for software and other kinds of
works
• Is intended to guarantee your freedom to share and change all
versions of a program to make sure it remains free software
for all its users
4. Developers that use the GNU GPL protect your rights with
TWO steps:
(1) Assert copyright on the software
(2) Offer you this license giving you legal permission to copy,
distribute and/or modify it
What is GNU General Public License (GPL) ?What is GNU General Public License (GPL) ?
contd...contd...
5. What is GNU General Public License (GPL) ?What is GNU General Public License (GPL) ?
contd...contd...
You have the freedom to distribute copies of free software
(and charge for them if you wish), that you receive source
code or can get it if you want it, that you can change the
software or use pieces of it in new free programs
You have certain responsibilities if you distribute copies of
the software, or if you modify it: responsibilities to respect
the freedom of others
6. What is GNU General Public License (GPL) ?What is GNU General Public License (GPL) ?
contd...contd...
7. Different Versions Of GNUDifferent Versions Of GNU
GPLGPL
Version 1 - GPLv1
Released on 25 February 1989
The first problem was that distributors may publish binary files only-
executable, but not readable or modifiable by humans
To prevent this, GPLv1 said that any vendor distributing binaries must
also make the human-readable source code available under the same
licensing terms
The second problem was the distributors might add additional restrictions
To prevent this, GPLv1 said that modified versions, as a whole, had to
be distributed under the terms in GPLv1 (sections 2b and 4 of the
license)
8. Different Versions Of GNU GPL contd...Different Versions Of GNU GPL contd...
Version 2 - GPLv2
Released in June 1991
According to Richard Stallman, the major change in GPLv2 was the
"liberty or death" clause
This section says that if somebody has restrictions imposed that prevent him
or her from distributing GPL-covered software in a way that respects other
users' freedom, he or she cannot distribute it at all. The hope is, that this will
make it less tempting for companies to use patent threats to require a fee from
the free software developers
When version 2 of the GPL (GPLv2) was released therefore, a second
license - the Library General Public License was introduced at the same
time and numbered with version 2 to show that both were complementary
9. Different Versions Of GNU GPLDifferent Versions Of GNU GPL contd...contd...
Version 3 - GPLv3
Released by FSF on 29 June 2007 - Written by Richard Stallman
According to Stallman, the most important changes are in relation to :
Software Patents
Free Software License Compatibility
Definition Of "Source Code"
Hardware Restrictions On Software Modification ("Tivoization")
Other changes relate to internationalization, how license violations are
handled, and how additional permissions can be granted by the copyright
holder
11. GNU Lesser GeneralGNU Lesser General
Public License (LGPL)Public License (LGPL)
This accompanies some open source software that details
how the software and its accompany source code can be
freely copied, distributed and modified
The author of this license asks that you only use this
license if you are licensing functionality already commonly
available
A LGPL is used to license free software so that it can be
incorporated into both free software and proprietary
software, and is often referred to as the weaker sibling of
12. GNU Lesser General Public License (LGPL)GNU Lesser General Public License (LGPL)
contd...contd...
Provides copyright protection: True
Can be used in commercial applications: True
Bug fixes / extensions must be released to the public
domain: True
Provides an explicit patent license: False
Can be used in proprietary (closed source) applications: True
Is a viral licence: True
13. GNU Lesser General Public License (LGPL)GNU Lesser General Public License (LGPL)
contd...contd...
14. Microsoft PublicMicrosoft Public
License (MsPL)License (MsPL)
Used by Microsoft
This license governs use of the accompanying software
If you use the software, you accept this license
If you do not accept the license, do not use the software
Does not grant permission to the contributor’s name, logo
or trademark
Incompatible with GPL
15. Microsoft Public License (MsPL) contd...Microsoft Public License (MsPL) contd...
Provides copyright protection: True
Can be used in commercial applications: True
Bug fixes / extensions must be released to the public
domain: False
Provides an explicit patent license: True
Can be used in proprietary (closed source)
applications: True
Is a viral licence: False
16. Comparison And ContrastComparison And Contrast
The LGPL and
GPL licenses
differ with one
major
exception; with
LGPL the
requirement that
you open up the
source code to
your own
extensions to
the software is
removed
17. Comparison And Contrast contd...Comparison And Contrast contd...
Comparison GPL LGPL MsPL
Must distribute licence with binary or source √ ☺ √ ☺ √ ☺
Cannot use contributors name to endorse √ ☺
There has to be A notification to changed files √ ☺ √ ☺
Any change must distributed in source form √ ☺ √ ☺
Lets you explicitly charge for providing warranty/ guarantee
or transfer of code
√ ☺ √ ☺
All derivate work must be under the same license √ ☺
Must show license when run from command line √ ☺
Non derivate works can have different license √ ☺ √ ☺
May exclude countries where there is A contradiction with
patent in that country
√ ☺ √ ☺
19. Business Models ThatBusiness Models That
Can Be ExplainedCan Be Explained
1. Dual (twin) licensing: Companies distributing software with both a GPL-like license and a
commercial (i.e. fee-based) license. (For those wondering. Ex:
MySQL/SUN (MySQL as in LAMP )
TrollTech/NOKIA (Mobile Platform)
1. Split (mixed) model: usually companies distributing interesting commercial (fee-based) plug-
ins on a FOSS success (e.g. Firefox) with a liberal license (e.g. Mozilla MPL). Thin line to
walk since plug-in can always be developed / reverse engineered by FOSS developers. Ex:
Zimbra/Yahoo (messaging / groupware)
1. Badgeware: Basically a makeover of the idea behind the original BSD license related to
advertising and visibility clauses. In short: you can use it but you’ve got to advertise us. Ex:
SocialText (Enterprise Wiki)
20. Business Models That Can Be ExplainedBusiness Models That Can Be Explained
contd...contd...
21. Business Models That Can Be Explained contd...Business Models That Can Be Explained contd...
8. Search engines: How to find the right source code and its license? And yes, Google is here too and
also a few VC-backed companies thinking in the worst case they can always turn into FOSS
management companies. Ex:
Google code search (Labs)
8. Community/Resources: The traditional repositories but also various and large forums/discussion
boards. Ex:
SourceForge/SourceForge Inc.
The Code Project
10. FOSS management/Compliance: The idea here is really to play on people’s fear that their
proprietary software might have been contaminated by a GNU-like license. Hence products and
services geared towards cleansing, identification and Open Source compliance enforcement.
8. Black Duck the leader
Obviously "Free" in "Free Open Source developer" does mean "Free" as in
"Free beer"!
22. Business Models That Can Be ExplainedBusiness Models That Can Be Explained
contd...contd...
23. Business Models That Can Be Explained contd...Business Models That Can Be Explained contd...
The mission of
Third Party Service
Providers is simple.
They don’t care
where you got the
code or where you
got the product. If
the product you are
using meets a broad
set of criteria, they
will fully support it.
They have one
single revenue
stream- service.
Their business
model is here.
24. Business Models That Can Be Explained contd...Business Models That Can Be Explained contd...
How can a company add value?
First, it can choose a version of the product that is stable and that is most suited to
its users' needs
Second, it can create a suite of products that are well integrated. These products may
come from different sources- some open-source, some commercial
The value addition is in creating one package that works well together
For many software sellers, they already have a
relationship with enterprise customers.
They can benefit most by up-selling
i.e., selling more to existing corporate customers.
Selling service then becomes a logical conclusion
26. Many of the most common free software licenses, such as the:
original MIT/X license
BSD licenses (in the 3-clause and 2-clause forms, though not the
original 4-clause form)
MPL 2.0
LGPL
are "GPL-compatible".
That is, their code can be combined with a program under the GPL without
conflict (the new combination would have the GPL applied to
the whole).
When it comes to copy-left software licenses, they are not inherently GPL-
compatible, even the GPLv2 is, by itself, not compatible with GPLv3
27. “Registration” License
Type
“AccountType” License
Type
What will the CoreBank
License type?
GPL LGPL GPL
GPL, LGPL both are created by the GNU Project
The GPL and LGPL prohibit covered software and all
derivative work from having its source code hidden from the
public
Assumption: GPL and LGPL refer to their latest versions
The latest version of the LGPL: a free software license, but
not a strong copy-left license, because it permits linking with
non-free modules
So it is compatible with GPLv3 → CoreBank can get GPL License
28. GPL + LGPL contd...GPL + LGPL contd...
Problems
A side-effect of the strong copy-left terms of the GPL is
that even many free and open source software projects are
prohibited from using GPLed libraries
29. “Registration” License
Type
“AccountType” License
Type
What will the CoreBank
License type?
GPL BSD GPL
Assumption: GPL refers to latest version and BSD refer to
original BSD (3-clause BSD)
3-clause BSD license has no form of copy-left, so you are well
within your rights to rebrand it, as long as you maintain its
notice
In other words : BSD is a lax, permissive , non-copyleft , free
software license
So it is compatible with the GPL
So to distribute the complete CoreBank package, the release
must be under the more restrictive license, which, obviously,
is the GPL
30. GPL + BSD contd...GPL + BSD contd...
CoreBank module will end up with two kinds of files:
Originally BSD files: needs to have both headers, order isn't
important to my knowledge, just that they are there
Your files and originally GPL files: need to have the GPL
header
Authors of AccountType module are clearly free to release their
own work under BSD even inside such a GPL-licensed
compilation, and if someone takes out all GPL code
(Registration module), the result can be distributed under BSD
license
31. “Registration” License
Type
“AccountType” License
Type
What will the CoreBank
License type?
GPL Apache GPL
Assumption: GPL and Apache refer to latest versions
APLv2_Lib + GPLv3_Lib => Combined lib as GPLv3 is
okay
BUT Apache Software Foundation does not allow its own
projects to distribute software under licenses more restrictive
than the Apache License, and the Free Software Foundation
does not distribute software under the Apache License
So Apache AccountType module can therefore be included in
GPL CoreBank module, because the GPLv3 license accepts
our software into GPLv3 works
32. GPL + Apache contd...GPL + Apache contd...
Problems
However, GPLv3 modules cannot be included in
Apache projects. The licenses are compatible in one
direction only
33. “Registration” License
Type
“AccountType” License
Type
What will the CoreBank
License type?
LGPL Apache LGPL/GPL
Assumption: LGPL and Apache refer to latest versions
Apache 2.0 licensed components can be used in GPL v3
and LGPL v3 licensed products while Apache 2.0
licensed products cannot use (L)GPL components
So obviously final CoreBank can’t be Apache
Therefore Corebank can be either LGPL v3 or GPL v3
34. LGPL + Apache contd...LGPL + Apache contd...
The Apache License does not place any restrictions on
software that links to a plug-in or library that is distributed
under the Apache license
The LGPL on the other hand has the requirement that either
the LGPL library links dynamically (and can be replaced by a
user) or the entire work must be released under a GPL-
compatible open-source license
35. “Registration” License
Type
“AccountType” License
Type
What will the CoreBank
License type?
Apache MsPL MsPL
Assumption: Registration and AccountType components are
dependent on each other. Registration component is a derivate
work of the MsPL part the AccountType
I would take this to mean that:
If distribute source versions, then the parts of the work that are
modified forms of the MsPL (here AccountType module) project
(here CoreBank) must also be MsPL licensed
BUT if additional code that is not a derivative work of the MsPL, project
may be under the license of our choosing
36. Apache + MsPL contd...Apache + MsPL contd...
Possibilities:
If include MsPL component in binary form then we are not
obliged to include the full source code
The MsPL does require that if we distribute the source of a
derivative work then it must also be under the MsPL (the same
requirement does not apply to distribution of binary / object
code)
If distribute any portion of the software in source code form,
we may do so only under this license by including a complete
copy of this license with our distribution
37. Similar Practical CasesSimilar Practical Cases
BSD → Netdude framework, DNS caching library
GPL → IRC Services, JOELib computational chemistry
library
Apache → Apache Tomcat, Apache Ant
LGPL → Vstr string library, Razor! Gaming Engine
MsPL → Only some of the Microsoft products
39. About Group ProjectAbout Group Project
Agro Disease Management System (ADMS)
Web Site – Multilingual (English/ Sinhala/ Tamil)
Register Users (General User/ Special User)
Users submit agricultural diseases related problems with
images
Agriculture field experts reply with solutions
41. Why add CC License toWhy add CC License to
Website ?Website ?
Anyone on the Internet can find our website
But what if someone wants to download content, reuse
images, or copy documents we have published online ?
By adding a Creative Commons license, can encourage
others to reuse, remix, and redistribute our content
Can professionally share our work with the world !
43. Attribution - NonCommercialAttribution - NonCommercial
-ShareAlike 4.0 International-ShareAlike 4.0 International
(CC BY-NC-SA 4.0)(CC BY-NC-SA 4.0)
Why this ?
Because the ATTRIBUTIONSATTRIBUTIONS of this license
well satisfy the needs / requirements of the selected
project
What are
they ?
We’ll see
45. ATTRIBUTIONSATTRIBUTIONS andand
Why are they ?Why are they ?Attribution
To Let others remix, tweak and build upon our web site. I let to
do so because this project is a non-profit social work by itself to
ease the famers’ agriculture problems solving. So if anyone can
improve this it’s great.
NonCommercial
To let them know that their new works must also acknowledge us
and be non-commercial, otherwise it will break the quality and
social value of our work. contd...
46. ATTRIBUTIONSATTRIBUTIONS and Why are they ? contd...and Why are they ? contd...
ShareAlike
All new works based on ours will carry the same license. In other words
anyone who work on our project can license their new creations under
the identical terms. Otherwise it can be misused and destroy the quality
and purpose behind the product by having restricted licences.
So finally others can download and redistribute your work, but they
can also translate, make remixes, and produce new materials based
on your work. All new work based on yours will carry the same
license, so any derivatives will also be noncommercial in nature.
A derivative of the GPL that was intended to allow non-GPL code to work with, and call GPL code.
Compiled derived code can be distributed, for both commercial and non-commercial use.
If the source code is to be redistributed then a complete copy of this license must be included in the redistribution.
However, most software released under GPLv2 allows you to use the terms of later versions of the GPL as well but some have exception clauses that allow combining them with software that is under different licenses or license versions.
Please note that LGPLv3 is not compatible with GPLv2 by itself. However, most software released under GPLv2 allows you to use the terms of later versions of the GPL as well. When this is the case, you can use the code under GPLv3 to make the desired combination.
That’s why the assumption is made here above.
If you pull out the BSD bits, those may be distributed under the BSD license. However if someone goes and modifies the BSD bits, the modifications may happen to be only GPL licensed.
When a combined work including both GPL and BSD content is distributed under the GPL, the entire work is considered a GPL licensed work
For simplicity, it is probably best to release the entire thing under GPL.
The Free Software Foundation considers the Apache License, Version 2.0 to be a free software license, compatible with version 3 of the GPL.
No, you may not distribute the combined daemon using GPLv2 and APLv2 licensed material.FSF explicitly calls out that combination as not allowable for public distribution.
using the ordinary GPL for a library makes it available only for free programs.
LGPL permits use of the library in proprietary programs
if libraries were modified then CoreBank must release under the LGPLv3 (or GPLv3) license
The LGPL is ineligible primarily due to the restrictions it places on larger works, violating the third license criterion. Therefore, LGPL-licensed works must not be included in Apache products.
For Resolver One, which includes (amongst other things) IronPython, we install a 'Licenses' directory along with the application and put the licenses in there. Our about dialog also mentions the open-source components we use and their licenses.