Introduction to open source licensing, using examples from Boundless Suite and Boundless Desktop to illustrate how to build your own software using open source components.
2. 2
Anthony Calamito
Boundless VP Product
acalamito@boundlessgeo.com
@GeoCalamito
Community Roles & Responsibilities
LocationTech Steering Committee
American Geographical Society Fellow
Adjunct Instructor at George Mason University
UGSIF Certification Exam Writer
2016 FOSS4G NA Program Committee
2016 LocationTech Tour Program Committee
Introduction
3. 3
Jody Garnett
Community Lead
jgarnett@boundlessgeo.com
@jodygarnett
Open Source Geospatial Foundation
Board Member
OSGeo Incubation Chair
GeoTools Project Officer
Eclipse Foundation
LocationTech Project Steering Committee
LocationTech Technology Project
Open Source Projects
GeoTools
GeoServer
uDig
Introduction
4. The Premiere Open Source GIS Ecosystem
• A complete GIS platform that exists on the Desktop, Server, on
Mobile devices, and in the cloud
• Powered by proven open source components
• Commercially supported to ensure quality and ease-of-use
• Designed for modern infrastructures
4
6. 6
Open Source continues to Grow
Source: https://www.google.com/trends/explore?q=qgis,arcgis
12/87 37/74
7. 7
Approving Open Source Use
http://dodcio.defense.gov/Portals/0/Documents/FOSS/2009OSS.pdf https://sourcecode.cio.gov
8. 8
Approving Open Source Use
Tony Scott,
U.S. Chief Information Officer.
https://obamawhitehouse.archives.gov/blog/2016/03/09/leveraging-american-ingenuity-through-reusable-and-open-source-software
9. Shifting From Individual Projects to Products
• Shift from consulting and services, to complete products
• Putting emphasis on usability and end user success
9
2002 2006 2014 2016
12. BSD license used by OpenLayers
Copyright 2005-2016 OpenLayers Contributors. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following
conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY OPENLAYERS CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted
as representing official policies, either expressed or implied, of OpenLayers Contributors.
12
13. BSD license used by OpenLayers
Copyright 2005-2016 OpenLayers Contributors. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following
conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY OPENLAYERS CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSEARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The views and conclusions contained in the software and documentation are those of the authors and should not be
interpreted as representing official policies, either expressed or implied, of OpenLayers Contributors.
13
1. Redistributions of source code must retain the above copyright notice, this list
of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this
list of conditions and the following disclaimer in the documentation and/or other
materials provided with the distribution.
16. What do I actually need to do?
• The answer actually does depend on:
– Which component of the boundless platform is extended; and
– if that component uses a permissive or protective license
• Boundless prefers to start new projects with permissive licenses
– permissive licenses place few restrictions on use
• Boundless is also happy to work with protective license
– Protective licenses have additional clauses
(to protect customer freedoms)
– Weakly protective: libraries that include source but can be
extended
– Strongly protective: require that extensions maintain license
16
18. Aside: Choosing a Open Source License
• Permissive licenses focus on long game for success
– get open source used everywhere and control the story
– if a user forks the extra pain of upgrades will bring them back
• Protective licenses focus on a short game for success
– state up front that the result needs to remain open source
– strongly protective licenses up the ante by being "sticky",
anything they touch is required to be open source.
• Play smart:
– Choose an appropriate license for the technology or market
targeted.
18
19. Open Source Licenses
• The Open Source Initiative maintains a list of
recognized open-source licenses.
• Licenses differ in how they balance
– the freedoms granted to users of software
– how they protect software developers
19
21. Berkley Software Distribution
• BSD
– The Berkeley Software Distribution license permits commercial
use, such as including the software in your own application or
website.
– The only restriction is the inclusion of a license and copyright
notice in the OpenLayers file you use.
– Your own work (that is, the website) remains unaffected.
– This ability to be freely mixed with your own work makes BSD
an excellent choice for OpenLayers.
21
22. Apache License
• Apache
– The Apache License is a permissive license similar to the MIT
and BSD licenses with some additional benefits.
– The Apache License provides additional language around
patents with clear pathways for both open and closed code
development.
– There is no obligation to make a contribution, and licensees
are free to take their "Derivative Work" and license it under a
different license.
22
23. GNU Public License
• GPL: The GNU General Public License
– is arguably the most popular open-source license
– Any modifications made to the original application must be
provided to those running the application.
• This is the license used for GeoServer
– It is especially appropriate, in that system administrators want
to be sure exactly what is running on their server, while
ensuring that any customizations made are available.
– The GPL license is also used by Oracle for the distribution of
the OpenJDK implementation of Java.
23
24. Lesser GNU Public License
• LGPL: The Lesser General Public License
– formerly the Library General Public License
– Allows the mix of open source and proprietary technology,
making it a little more relaxed than the GPL.
• This license is employed by the GeoTools library
– Pragmatic choice, allowing GeoServer to smoothly integrate
with proprietary systems such as Oracle Spatial and ArcSDE.
24
25. How can I mix open source
and proprietary code?
25
26. How to mix open and proprietary code
• Permissive licenses
– Proprietary code is fine
• Weakly Protective licenses
– Proprietary code is fine
– If you fix or modify the original library your customer needs the
patch
• Strongly Protective licenses
– Required to maintain license, person running the software needs
source
– Option: Run the code for on your own hardware, it will stay internal
– Option: Introduce client / server separation to allow you to run as
service
26
28. 28
Building on Open Source Projects
QGIS
GDAL / OGR
GEOS
PgAdmin
QT Designer
PostgreSQL
/
/
29. 29
Change to GeoServer Application
“My organization would
like to create a
plugin/extension to
GeoServer, but not make
any changes to the core
GeoServer code base. Am
I obligated to share those
back to the community?”
No you are not obligated
to share changes back to
the community.
You are required to share
the plugin with your
customer.
GeoServer
30. 30
OpenLayers Web Application
“My company would like
to make a closed web
application using open
source OpenLayers
library. Can I sell the
software we make for a
fee?”
Yes, this is especially easy
for “permissive” licenses
such as BSD.
You are welcome to
combine open libraries
with your own
proprietary/closed code,
and resell that solution for
a profit.
OpenLayers
31. 31
Boundless Suite Integration
“My organization would
like to create a GeoServer
process integrate our
billing system for use by
our OpenLayers powered
web application. Am I
obligated to share this
work with our website
visitors?”
OpenLayers (BSD) is a
permissive license placing no
obligation to share your work
with website visitors.
GeoServer (GPL) terms apply
to your system administrator
running GeoServer (and not
the website visitors).
Bonus: Website visitors
access process via WPSOpenLayers GeoServer
32. 32
Boundless Suite Integration (cont.)
“My organization would
like to create a GeoServer
process integrate our
billing system for use by
our OpenLayers powered
web application. Am I
obligated to share this
work with our website
visitors?”
GeoTools (LGPL) provides a
process API under a weakly
protective license allowing
integration with the
proprietary billing system
OpenLayers GeoServer GeoTools
33. 33
Software-as-a-Service Deployments
“My organization is
including GeoServer as
part of our software-as-a-
service offering, we have
added a monitoring
extension so our
customers can track layer
usage in the service
management console.”
Your software as a service
customers are in effect
website visitors (not running
GeoServer on their own
hardware). You are not
obligated to share your
monitoring extension with
website visitors.
GeoServer
34. 34
QGIS Plugin
“My organization created
a custom QGIS plugin for
a customer. Software
developed inside their
network cannot be shared
back to the general public.
Am I obligated to share
this custom plugin back to
the public?”
No, you are not required to
share the custom plugin, or its
source code, back to the
general public. You are
obligated to share the source
code with your customer.
QGIS
35. 35
Royalties
"If I create a closed
solution on top of Open
Source, am I required to
pay royalties back to the
Open Source
Community?"
No, there are no royalties or
payment of any kind due back
to the community.
(But the use of patents and
trademarks are not always
covered by an open source
license.)
36. Aside: Copyright, Patents and Trademarks
• Copyright: Tool we use to assert ownership over a codebase and
enforce our open source licenses.
• Patents: Many open source licenses are quiet about patents
opening you and your customers up to risk. Apache, EPL and GPL
provide some customer protection.
• Trademarks: Used to protect product branding. The QGIS project
took out a trademark to have another legal tool at their disposal.
LocationTech maintains trademarks on each project.
36
38. 38
Workshop Material
“My company would like
to run a training course
based on the PostGIS
workshop found on the
Boundless website. Can I
sell the course for a fee?”
Yes. The PostGIS workshop is
published with a creative
commons by attribution
license (CC-BY-SA). You will
need to tell your attendees
that the course material is
written by Boundless, and if
you made changes.
40. How to respect open source licenses
Product and customer contracts should note use of open source licenses:
Boundless End User License Agreement:
(a) Boundless Suite (consisting of GeoServer, GeoWebCache, PostGIS,
QGIS Plugin, and OpenLayers software) is available in source code form
under the terms of various open source licenses (collectively, the “Open
Source Licenses") at http://www.boundlessgeo.com/legal. Nothing in this
Agreement will be construed to limit any rights granted under the Open
Source Licenses and the terms of those Open Source Licenses take
precedence over any conflicting terms herein with respect to Boundless
Suite.
40
41. For More Information
• https://boundlessgeo.com/2016/06/understanding-the-flexibility-of-
open-source-licensing/
• https://boundlessgeo.com/2016/11/boundless-open-source-report-
card/
41