Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Understanding the Flexibility of Open Source

305 views

Published on

Open source is gleefully rewriting the rules of the GIS industry at all levels of industry and government. Adoption of open source in is well underway, with success stories illustrating the benefits. This decade we are going further - fostering a healthy, sustainable, working relationship between industry/government and open source.

This presentation digs into the flexibility of open source licensing and how organizations can meet the challenges of using and customizing open source. We will look at the advantages of participation in open source at the project, institutional, and foundation level. This is a talk using examples from open source geospatial software to illustrate how software can be used within your organization; and if you take the time to perform any customizations how they may be responsibly used within your organization.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Understanding the Flexibility of Open Source

  1. 1. Understanding Open Source
  2. 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 Open Source Projects GeoTools GeoServer uDig JTS
  3. 3. • 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 3 The Premiere Open Source GIS Ecosystem
  4. 4. 4 Everything you Need to be Successful Software Services Training Support
  5. 5. 5 Open Source continues to Grow Source: https://www.google.com/trends/explore?q=qgis,arcgis 12/87 37/74
  6. 6. 6 Approving Open Source Use http://dodcio.defense.gov/Portals/0/Documents/FOSS/2009OSS.pdf https://sourcecode.cio.gov
  7. 7. 7 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
  8. 8. • Shift from consulting and services, to complete products • Putting emphasis on usability and end user success 8 Shifting From Individual Projects to Products 2002 2006 2014 2016
  9. 9. 9 The Boundless Open Source Ecosystem
  10. 10. 10 Open Source Licensing Explained
  11. 11. 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 BSD license used by OpenLayers
  12. 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. 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.
  13. 13. 13 How to include the copyright/conditions/disclaimer?
  14. 14. 14 How to include the copyright/conditions/disclaimer?
  15. 15. • 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 15 What do I actually need to do?
  16. 16. 16 Key differences between licenses
  17. 17. • 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. 17 Aside: Choosing a Open Source License
  18. 18. • 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 18 Open Source Licenses
  19. 19. 19 For a guide tour visit choosealicense.com
  20. 20. • 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. 20 Berkley Software Distribution
  21. 21. • 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. 21 Apache License
  22. 22. • 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. 22 GNU Public License
  23. 23. • 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. 23 Lesser GNU Public License
  24. 24. 24 How can I mix open source and proprietary code?
  25. 25. • 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 à “pass it on” •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 25 How to mix open and proprietary code
  26. 26. Boundless Suite Components 26 OpenLayers GeoServer GeoWebCache PostGIS GeoTools Boundless SDK
  27. 27. Building on Open Source Projects 27 QGIS GDAL / OGR GEOS PgAdmin QT Designer PostgreSQL / /
  28. 28. • “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. 28 Change to GeoServer Application GeoServer
  29. 29. • “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. 29 OpenLayers Web Application OpenLayers
  30. 30. • “My organization would like to create a GeoServer WPS Process integrate our proprietary billing system for use by our OpenLayers powered web application. Am I obligated to share this website work with our website visitors?” OpenLayers (BSD) is a permissive license placing no obligation to share your work with website visitors. • Bonus: Website code accesses billing system via the open WPS standard. 30 Boundless Suite Integration OpenLayers
  31. 31. • “My organization would like to create a GeoServer WPS Process integrate our proprietary billing system for use by our OpenLayers powered web application. Am I obligated to share the billing integration process with website visitors or sys admin?” GeoServer (GPL) terms apply to your system administrator running GeoServer (and not the website visitors). • If you package the billing process with GeoServer you will need to provide the source code to the sys admin. 31 Boundless Suite Integration OpenLayers GeoServer
  32. 32. • “My organization would like to create a GeoServer WPS Process integrate our proprietary billing system for use by our OpenLayers powered web application. Am I obligated to share the billing integration process with website visitors or sys admin?” GeoTools (LGPL) provides a “Process API” under a weakly protective license for integration with proprietary systems. • If you provide the billing process as a separate extension using GeoTools API you do not need to share source code. 32 Boundless Suite Integration (cont.) OpenLayers GeoServer GeoTools
  33. 33. • “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. 33 Software-as-a-Service Deployments GeoServer
  34. 34. • “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. • License: You are obligated to share the source code with your customer. 34 QGIS Plugin QGIS
  35. 35. • "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.) 35 Royalties
  36. 36. • 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 Aside: Copyright, Patents and Trademarks
  37. 37. The QGIS community has taken out a trademark in order to better protect their name and branding. This provides the community a legal tool to prevent an organization selling a “QGIS Extended Dance Remix Edition”. 37 QGIS Trademark http://www.qgis.org/en/site/getinvolved/governance/trademark/index.html
  38. 38. • “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 share- alike license (CC-BY-SA). • Tell your attendees that the course material is written by Boundless (and if you made changes.) • Share-alike makes this a strongly protective license (so your work is also CC-BY-SA) 38 Workshop Material Workshops
  39. 39. 39 Documentation License https://creativecommons.org/licenses/by-sa/3.0/us/
  40. 40. 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. How to respect open source licenses
  41. 41. Thank you!
  42. 42. For More Information • For more information: •boundlessgeo.com/2016/06/understanding-the-flexibility-of-open-source- licensing •boundlessgeo.com/2016/11/boundless-open-source-report-card 42

×