Open source is gleefully rewriting the rules of IT development at all levels of industry and government. Adoption of open source in government is well underway, with success stories illustrating the benefits.
This decade we are going further - fostering a healthy, sustainable, working relationship between government and open source:
* This presentation digs into the flexibility of open source licensing and how government organizations can meet the challenges of developing with open source.
* We will look at the advantages of government participation in open source at the project, institutional, and foundation level.
Attend this talk to understand how your organization cannot only benefit from open source, but be open source.
2. 2
Introduction
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
Boundless
Boundless provides geospatial tools and
services for managing data and building
applications.
Open Source Projects
GeoTools
GeoServer
uDig
3. Tricky open source questions
• "I am new to open source - what do I have to do?"
• "How can I mix open source and proprietary code?"
• "How can I take part?"
3
4. Why this talk is important in 2016
• Actually we are always being asked about licensing
– 2012 Building closed-source applications with OpenGeo Suite
– 2010 Ext JS licensing Q&A
• But we do have a couple of reason to talk in 2016:
– Boundless promoting hybrid open source / proprietary solutions
– 2016 Licensing requirements for QGIS plugins (Tim Sutton)
4
5. Boundless is a true open source company
• We promote and practice open source development
• We actively collaborate on intellectual property
• We do not own all the intellectual property in our products
• Sorry we cannot offer customers a "dual license"
– Even if they ask nicely
– If pressed ask customer to consider our membership in the community as
a partnership - under the terms of this partnership (with companies,
individuals and organizations) we cannot offer them different terms
5
6. So why talk about proprietary code?
• Boundless is promoting "hybrid" architectures as a sales opportunity
– We have always integrated with proprietary formats and services
– Integration does not have to be part of a migration plan to open source
(hybrid architecture has value in its own right)
– Long term the open source excellence and economics should win out
6
7. I am new to open source
what do I have to do?
7
8. I am new to open source - what do I have to do?
• You are already using open source!
• New to distributing open source?
– If you have experience distributing software then
open source will be a bit easier then your usual contract
8
9. What do you need to do?
• The quick answer "it depends" is not helpful
– which project?
– what do you want to do with it?
• We are going to answer using examples
– For Open Layers you do not need to do much,
mostly include the copyright in your product
9
10. 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.
10
11. 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.
11
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.
14. 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
• We prefer to start new projects with permissive licenses
– permissive licenses place few restrictions on use
• We are 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
14
16. Aside: Choosing a Open Source License
• Play smart:
– Choose an appropriate license for the technology or market targeted.
• Permissive licenses focus on the 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.
16
17. 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
17
19. 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.
19
20. 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.
20
21. 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.
21
22. How can I mix open source
and proprietary code?
22
23. 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
23
24. 24
Boundless Suite Components
PostGIS GPL
GeoServer GPL
OpenLayers BSD
Suite App / GeoServer Extensions GPL
GeoWebCache LGPL
Boundless Web SDK Apache
WPS Builder Apache
Composer BSD
Dashboard BSD
GeoTools LGPL
JTS Topology Suite BSD/EPL
GDAL / OGR X11/MIT
PROJ MIT
Boundless Workshops CC-BY
26. 26
Change to GeoServer Application
Q My organization would like
to make changes to the
core GeoServer code
base. Am I obligated to
share those changes back
to the community?
A No.
You are obligated to share
these changes with your
customer, but not
necessarily the public.
27. 27
Extension to GeoServer Application
Q “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?”
A No you are not obligated
to share changes back to
the community.
You are required to share
the plugin with your
customer.
28. 28
OpenLayers Web Application
Q “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?”
A 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.
29. 29
Boundless Suite Integration
Q “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?”
A OpenLayers (BSD) is a
permissive license placing
no obligation to share your
work with website visitors.
30. 30
Boundless Suite Integration
Q “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?”
A GeoServer (GPL) terms
apply to your system
administrator running
GeoServer (and not the
website visitors).
Bonus: Website visitors
access process via WPS
31. 31
Boundless Suite Integration
Q “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?”
A GeoTools (LGPL) provides a
process API under a
weakly protective license
allowing integration with
the proprietary billing
system.
32. 32
Software as a Service
Q “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.”
A 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.
33. 33
QGIS Plugin
Q “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?”
A 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.
34. 34
Royalties
Q "If I create a closed
solution on top of Open
Source, am I required to
pay royalties back to the
Open Source Community?"
A 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.)
35. 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.
35
36. 36
Workshop material
Q “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?”
A Yes. The PostGIS
workshop is published with
a creative commons by
attribution license (CC-BY).
You will need to tell your
attendees that the course
material is written by
Boundless, and if you
made changes.
37. How to respect open source licenses
Product and customer contracts should note use of open source licenses:
Boundless End User License Agreement:
(a) OpenGeo Suite (consisting of Composer, 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 OpenGeo Suite.
37
39. Why take part?
• Keep in mind - an open source license:
– only describes how software is distributed,
for many the value is in increased transparency and control
– How the software was obtained (and how the project is managed)
are a matter of "Governance"
39
40. Project Participation
• Project participation (via individual staff members)
– communication: email, stack exchange, issue tracker
– code: fixes, reviews, documentation
– governance: responsibility, decision making, steer roadmap
• Why take part at the project level?
– control risk
– ensure project sustainability
– protects your investment
40
41. Organizational Participation
• Ensure staff have ability to contribute
– Many have polices to use open source, or procure open source solutions
– Double check policies to allow staff contribution
• Using open source as a tool
– To build relationships with partners in government, industry, academia
41
42. Foundation Participation
• A software foundation is standardize governance
– reduce the risk of using/developing open-source software
• Software Foundations are here to help
– neutral ground for industry, government and academia to collaborate
– can help with promotion, governance, intellectual property
– Great way to get started with open source
• Join LocationTech today :)
42
44. Open source questions
• "I am new to open source - what do I have to do?"
Choose an appropriate license,
each license provides guidance.
• "How can I mix open source and proprietary code?"
Each license provides a way forward
• "How can I take part?"
Dive in, projects are setup to welcome your staff.
Allow participation, consider joining Software Foundation
44