understanding open source

41
Jody Garnett and Anthony Calamito Understanding Open Source

Upload: jody-garnett

Post on 12-Apr-2017

291 views

Category:

Software


2 download

TRANSCRIPT

Jody Garnett and Anthony Calamito

Understanding Open Source

2

Anthony CalamitoBoundless VP [email protected]@GeoCalamito

Community Roles & ResponsibilitiesLocationTech Steering CommitteeAmerican Geographical Society FellowAdjunct Instructor at George Mason UniversityUGSIF Certification Exam Writer2016 FOSS4G NA Program Committee2016 LocationTech Tour Program Committee

Introduction

3

Jody GarnettCommunity [email protected]@jodygarnett

Open Source Geospatial FoundationBoard MemberOSGeo Incubation ChairGeoTools Project Officer

Eclipse FoundationLocationTech Project Steering CommitteeLocationTech Technology Project

Open Source ProjectsGeoToolsGeoServeruDig

Introduction

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

5

Everything you Need to be Successful

Software Services Training Support

6

Open Source continues to Grow

Source: https://www.google.com/trends/explore?q=qgis,arcgis

12/87 37/74

7

Approving Open Source Use

http://dodcio.defense.gov/Portals/0/Documents/FOSS/2009OSS.pdf https://sourcecode.cio.gov

8

Approving Open Source Use

TonyScott,U.S.ChiefInformationOfficer.

https://obamawhitehouse.archives.gov/blog/2016/03/09/leveraging-american-ingenuity-through-reusable-and-open-source-software

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

10

The Boundless Open Source Ecosystem

Open Source Licensing Explained

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.

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.

13

1.Redistributionsofsourcecode mustretaintheabovecopyrightnotice,thislistofconditionsandthefollowingdisclaimer.2.Redistributionsinbinaryformmustreproducetheabovecopyrightnotice,thislistofconditionsandthefollowingdisclaimerinthedocumentationand/orothermaterialsprovidedwiththedistribution.

14

How to include the copyright/conditions/disclaimer?

15

How to include the copyright/conditions/disclaimer?

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

17

Key differences between licenses

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

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

http://choosealicense.com/

20

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

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

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

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

How can I mix open sourceand proprietary code?

25

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

27

Boundless Suite Components

OpenLayers

GeoServer

GeoWebCache

PostGIS

GeoTools

Web SDK

28

Building on Open Source Projects

QGIS

GDAL / OGR

GEOS

PgAdmin

QT Designer

PostgreSQL

/

/

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

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

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

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

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

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

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.)

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

37

QGIS Trademark

http://www.qgis.org/en/site/getinvolved/governance/trademark/index.html

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.

39

Documentation Licensehttps://creativecommons.org/licenses/by-sa/3.0/us/

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

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