Introduction to the Open Source GeoSpatial Foundation. We review what software foundation (especially industry specific software foundations) are for and how they can help you as a developer. The OSGeo foundation is here to promote mapping, and collaborates with a range of organisations.
In addition to supporting *all* open source mapping, OSGeo recommends projects that have joined the foundation and gone through an incubation process. This process provides the project with an OSGeo badge and the presentation covers what that means to users, the project developers, and finally the foundation.
As an example check out the projects that have completed incubation.
We explore the incubation checklist, and talk about what the incubation committee is looking for at each stage. And have a list of projects currently in incubation.
Consider adding mapping to your next project we are here to help,
3. OSGeo
• Open Source Geospatial Foundation
• Mission: To support the collaborative
development of open source
geospatial software, and promote
its widespread use.
• Non-Profit, Vendor Neutral
• International
• Open Education, Open Data
http://osgeo.org OSGeo Incubation 3
4. Presentation Overview
• Foundation
• OSGeo Badge &
• Current OSGeo Projects
• Incubation Checklist
• Incubation Projects
• OSGeo Foundation
• Communication and Collaboration
http://osgeo.org OSGeo Incubation 4
5. Open Source Geospatial
Foundation
We are here to help and we are not alone!
http://osgeo.org OSGeo Incubation 5
6. Are you Lonely
• OSGeo Foundation offers
•A community of your peers
• People who understand you!
• Great cross project code sprints
• Assistance in building community
• Marketting to help you find users
• Incubation can help with Open Development
http://osgeo.org OSGeo Incubation 6
7. Are you threatened?
• Foundations offer some safety
• Incubation review to check your code is in the clear
• OSGeo has healthy body of prior art
• An area where we collaborate with other foundations:
• Our focus is on fostering spatial software and promoting use
• We are not a strict “IP” machine
http://osgeo.org OSGeo Incubation 7
8. Are you confused?
• OSGeo has a range of mapping experts
• Helpful, engaging and educational
• Great for collaboration on tough problems
• Do the mapping experts make you more confused?
• Wide range of developers can help translate “expert” advice
• If you are confused how do you know you are confused?
http://osgeo.org OSGeo Incubation 8
9. Are you broke?
• OSGeo participation is free
• Sign up to an email list or committee and get involved!
• Charter members are nominated yearly
• Board members are voted on by Charter members
http://osgeo.org OSGeo Incubation 9
10. Who Pays?
• We would like to thank our Sponsors!
http://osgeo.org OSGeo Incubation 10
11. Want to get back to coding?
• Perfect - Foundations are here to help with everything else
• Lonely: Community
• Threatened: Protection
• Confused: Experts available (and developers to translate)
• Broke: OSGeo Participation is free
• Funded: Through Sponsorship
http://osgeo.org OSGeo Incubation 11
12. We are not alone
• locationtech.org • incubator.apache.org/sis
• Eclipse Foundation • Apache Foundation Spatial
LocationTech Industry Information System
Working Group
• Currently in Incubation
• Announcement scheduled
for EclipseCon Europe 2012
http://osgeo.org OSGeo Incubation 12
13. Do I have to Choose?
• The OSGeo Foundation does not limit your options
• Our mandate is to help and promote
• OSGeo does not need control of the code
• Indeed we often work with other foundations
• As we do not want to be experts on license, trademarks,
intellectual property, etc...
http://osgeo.org OSGeo Incubation 13
14. The Badge
Seeing beyond Branding
http://osgeo.org OSGeo Incubation 14
15. User Benefits
• What “OSGeo Project” means for you: Trust!
• It is actually open source!
• There is documentation
• Open to your involvement and participation
• Code ownership has been checked
(so it is unlikely to be pulled suddenly)
• Project has a measure of legal protection
(unlikely to be pushed under)
http://osgeo.org OSGeo Incubation 15
16. Project Benefits
• “Community” - join your map making peers!
• Marketting: OSGeo badge / branding / OSGeo Live DVD
• Infrastructure: hosting, mailing lists, version control, etc..
• Collaboration: Education, Open Data, Standards, Code Sprint
• Other: Shelter, Communication, Outreach
• Tip: OSGeo Foundation has a mandate to promote open
source spatial (even before your project joins)
http://osgeo.org OSGeo Incubation 16
17. Foundation Benefits
• Mandate - to promote open source spatial
• Additional capabilities for open source mapping
• Additional prior art (safety in numbers)
• Communication
• Projects provide an “officer” as contact person
• Project name, branding, license, details are quickly available
http://osgeo.org OSGeo Incubation 17
18. OSGeo Projects
Amazing selection of great open source spatial software
http://osgeo.org OSGeo Incubation 18
19. PostGIS
• Spatial extension to
PostreSQL enabling it to be
used as a spatial database.
PostGIS is fast, standards
compliant and wildly used.
• postgis.refractions.net
• GPL version 2
• Windows, Linux, Mac
• Simple Features for SQL
http://osgeo.org OSGeo Incubation 19
20. PostGIS
• Hundreds of spatial functions: buffers,
unions, overlays, distance and more
• Raster (new!)
• ACID transactional integrity
• R-Tree spatial index
• Multi-user support
• Row-level locking
• Replication, Partitioning
• Role-based security
• Table-spaces, schemas
http://osgeo.org OSGeo Incubation 20
21. Geographic Resources Analysis Support System (GRASS)
• Powerful raster, vector, and
geospatial processing
engines in a single integrated
software suite
• OriginalOpen Source GIS in
development since the1980s
• grass.osgeo.org
• GPL version 2
• GNU/Linux, Mac OSX, MS
Windows
http://osgeo.org OSGeo Incubation 21
22. Geographic Resources Analysis Support System (GRASS)
• C, Python, Bourne Shell400
analysis modules
• 100 community modules
• 30 years development
• Oldest and Largest
• Desktop to supercomputer
http://osgeo.org OSGeo Incubation 22
23. Quantum GIS (QGIS)
• Desktop GIS client to
visualize, manage, edit,
analyse and print data,
• Popular Desktop GIS with
extensive community plugins
• www.qgis.org
• GPL
• Windows, Linux, Mac
•C with Python scripts
http://osgeo.org OSGeo Incubation 23
24. Quantum GIS (QGIS)
• Friendly user interface
• Easy Viewing of Vector and
Raster Formats
• Create, edit and export
spatial data
• Spatialanalysis using fTools
or GRASS plugins
• Extensible plugin
architecture
http://osgeo.org OSGeo Incubation 24
25. Open Source Software Image Map (OSSIM)
• High performance engine for
remote sensing, image
processing, GIS and
photogrammetry
• www.ossim.org
• GPL version 3
• C++
http://osgeo.org OSGeo Incubation 25
26. Open Source Software Image Map (OSSIM)
• Parallel processing capabilities
• Sensor modeling
• Non-destructive, parameter based
image chains
• Native file access
• Vector and shapelib support
• Precision Terrain correction and ortho-
rectification
• Compositing and fusions
• Elevation support
• Projection and resolution independent
http://osgeo.org OSGeo Incubation 26
27. Geographic Data Abstraction Library (GDAL/OGR)
• Command-line utilities to
translate and process raster
and vector geospatial data
formats
• Data access library
• www.gdal.org
• X/MIT
• Windows, Linux, Mac
• C, C++, Python, Java, C#,
Ruby, VB6 and Perl
http://osgeo.org OSGeo Incubation 27
28. Geographic Data Abstraction Library (GDAL/OGR)
• GDAL 50 raster formats
• OGR 20 vector formats
• Command-line data translation,
image warping, subsetting,...
• Efficient raster data access
• tiling and overviews
• large files (over 4GB)
• Coordinate system engine using
PROJ.4 and OGC WKT
http://osgeo.org OSGeo Incubation 28
29. MapServer
• The original MapServer with a
reputation for excellent
performance
• Rendering engine in C
• www.mapserver.org
• MIT-style license
• Windows, Linux, Mac
• C, PHP, Python, Perl, Ruby, Java,
and .NET
•
http://osgeo.org OSGeo Incubation 29
30. MapServer
• Advanced cartographic output
• Sophisticated spatial query
support
• Supports popular scripting
environments
• CGI/FastCGI
• multitude of raster & vector
data formats
• projection support
http://osgeo.org OSGeo Incubation 30
31. deegree
• Fast, stable and powerful web
integrated mapping solution
with deep standards
compliance.
• http://deegree.org
• LGPL
• Mac,Windows, Linux
• Java
• WMS, WFS, WCS, CSW,
WPVS, WCTS,WPS,SOS
http://osgeo.org OSGeo Incubation 31
32. deegree
• Web Map Service
• Web Feature Service
• On the fly coordinate
transformation
• Easilyenhanced to support
INSPIRE directive
• Web Coverage Service
• Catalogue Service
http://osgeo.org OSGeo Incubation 32
34. GeoNetwork
• Immediate search access to local and
distributed geospatial catalogues
• Up- and downloading of data,
graphics, docs, pdf files, etc..
• Interactive Map Viewer
• RSS news feeds and as GeoRSS.
• Online editing of metadata
• harvesting and synchronization
• Fine-grained access control
• Group and user management
• Multi-lingual user interface
http://osgeo.org OSGeo Incubation 34
35. MapGuide Open Source
• Web platform to develop
and deploy web mapping
apps and spatial services
• mapguide.osgeo.org
• Licence: GNU Lesser
General Public License
(LGPL)
• Software Version: 2.4.0 Pre-
Release
• Linux, Windows
http://osgeo.org OSGeo Incubation 35
36. MapGuide Open Source
• Interactive Map Viewing
• Quality Cartographic
Output
• Build-inResource Database
for Manageability
• Uniform Data Access
• Flexible Application
Development
• Extensive Server-Side APIs
http://osgeo.org OSGeo Incubation 36
37. OpenLayers
• OpenLayers makes it easy for web
developers to embed dynamic
maps, from a multitude of sources, in
any web page
• WMS, WMTS, WFS, GeoRS, GML
• Google, Bing
• OpenStreetMap (OSM), ArcGIS,
Images, MapGuide, MapServer,
TileCache
• openlayers.org
• BSD License
• JavaScript
http://osgeo.org OSGeo Incubation 37
38. OpenLayers
• Simple Javascript API, designed for
easy development of custom user
interfaces
• In-browser data rendering
(SVG, VML, or Canvas)
• Advanced in-browser maps
• Mobile (and touch) devices
• Use layers from many sources
• Parse vector data/metadata
(Atom, ArcXML, GeoJSON,
GeoRSS, KML, OSM, SLD, WMTS)
http://osgeo.org OSGeo Incubation 38
39. MapFish
• MapFish is framework for
building rich web-mapping
applications
• Extends Pylons with
geospatial-specific functionality
• www.mapfish.org
• BSD License
• Windows, Linux, Mac
• Python
http://osgeo.org OSGeo Incubation 39
41. Geometry Engine Open Source (GEOS)
• Port of the JTS Topology Suite
(JTS) implementation of Simple
Features for SQL.
• Most widely used geospatial C+
+ geometry library
• geos.osgeo.org/
• LGPL
• Windows, Linux, Mac
• C++, C (long term stability)
• WKT, WKB, SFSQL
http://osgeo.org OSGeo Incubation 41
42. Geometry Engine Open Source (GEOS)
• Geometry: Point, LineString, Polygon,
MultiPoint, MultiLineString,
MultiPolygon, GeometryCollection
• Predicates: Intersects, Touches,
Disjoint, Crosses, Within, Contains,
Overlaps, Equals, Covers
• Operations: Union, Distance,
Intersection, Symmetric Difference,
Convex Hull, Envelope, Buffer,
Simplify, Polygon Assembly, Valid, Area,
Length,
• OGC Well Known Text / Well Known
Binary encoders and decoders.
• Reentrant API
http://osgeo.org OSGeo Incubation 42
43. MapBender
• Geoportal framework
offering a Spatial Data
Infrastructure using standard
web browser
• www.mapbender.org
• GPL / Simplified BSD
• Windows, Linux, Mac
http://osgeo.org OSGeo Incubation 43
44. MapBender
• Easy setup from provided template applications
• Customize with jQuery widgets and jQuery
UI Themeroller
• Share WMS with Capabilities Caching
• WFS to search, find, highlight
• Bind WFS-T with WMS for online digitizing
• Security with users / groups access control
• WMC handling
• Remote catalogs
• Monitoring and status notification of OGC
services
• Deploy OpenLayers clients
• Print high-quality PDF maps
http://osgeo.org OSGeo Incubation 44
45. GeoTools
• The Java GIS Toolkit!
• Standards compliant data
structures and methods for
manipulating geospatial data
• geotools.org/
• LGPL
• Java Virtual Machine
• Java
• SLD, Filter, CQL, WFS, WMS, WPS,
General Feature Model, Simple
Feature, GridCoverage
http://osgeo.org OSGeo Incubation 45
46. GeoTools
• Interfaces for spatial data structures
• Use of JTS Geometry
• Attribute and spatial filters
• Feature access, transaction, locking
• Coordinate reference system,
projections, and transforms
• Stateless renderer allowing maps
with complex styling
• Schema assisted XML parsing
• Open plug-in system with
extensions for additional capabilities
http://osgeo.org OSGeo Incubation 46
47. GeoMajas
• Extensible web mapping
framework which seamlessly
integrates powerful server side
algorithms into the web browser.
• Strong server side focus allowing a
really thin client
• www.geomajas.org/
• AGPL
• Windows, Linux, Mac
• Java
• WMS, WFS
http://osgeo.org OSGeo Incubation 47
48. GeoMajas
• Integrated client-server
architecture
• Geometry/Attribute editing
• Custom attribute definitions
• Advanced CQL querying
• Out-of-the-box security
• Extensible with plug-ins
• Multiple front-end technologies
• Cross browser support, without
the need for browser plug-ins
http://osgeo.org OSGeo Incubation 48
50. Open
Project has open, active and healthy
user and developer community
http://osgeo.org OSGeo Incubation 50
51. Open and Public
• Open Source License
• Anything approved by the Open Source Initiative
• Open communication channels
• Email, Issue Tracker, Conference Call (with minuets)
• Open decision making process
• Example: Project Steering Committee
http://osgeo.org OSGeo Incubation 51
52. Community
• Active
• Community of users and developers
• Support each other
• Example: Collaboration during release
• Healthy
• Long term viability
• Participation from range of developers / organisations
http://osgeo.org OSGeo Incubation 52
53. Copyright and License
Check a project has obtained the ability to release
http://osgeo.org OSGeo Incubation 53
54. Source Code License
• Source code available under an open source license
• Any Open Source Initiative approved license is fine with us
(we are not the license police)
http://osgeo.org OSGeo Incubation 54
55. Documentation License
• Documentation available under an open license
• When Citation is not enough!
• Give authors the same ability to “remix” we enjoy as
developers - really helps when pulling together course packs
and training material.
• Example: Creative Commons
• Tip: Contact Regional OSGeo Chapters for help with
translation and internationalisation
http://osgeo.org OSGeo Incubation 55
56. Sanity Check
• We ask for a Provenance Review
• Check source code
• Check documentation
• Check data
• Do you know who gave it to you?
http://osgeo.org OSGeo Incubation 56
57. Contributors
• Do you know who gave you the code?
• List contributors:
• Either as copyright holders; or
• Ask for a “Code Contribution” agreement
• This is really handy if you ever have to change license!
• The Foundation can act as a legal entity if required
http://osgeo.org OSGeo Incubation 57
58. Process
Version control, issue tracker, decisions
http://osgeo.org OSGeo Incubation 58
59. Version Control
• Formally “Configuration Management”
• Anything will do: subversion, git, CVS
• Think of the users: If they run across a copy of your
application from three years ago - will you be able to help
them? Will they be able to help themselves?
• Tip: The OSGeo foundation is “relaxed” and asks projects to
choose the hosting option that best suits their community.
(Indeed some of our projects have migrated to “github”)
http://osgeo.org OSGeo Incubation 59
60. Issue Tracker
• Issue trackers are great for communicating, both problems, but
also the context (and eventual fix)
•I know: This is one step up from email
• OSGeo Foundation can offer “Trac” but our projects are all
over the map (from codehaus to github)
http://osgeo.org OSGeo Incubation 60
61. Management
• Not just “how to build” but also “how decisions are made”
• This is the key point of “open development” where we can
confidently recommend a project is open to participation
• Public communication channels
(Email, IRC, meeting with sponsors, breakfast ...)
• Many of our projects follow a variation of the Apache Process
(project steering committee and votes of +1, 0 and -1)
http://osgeo.org OSGeo Incubation 61
62. Documentation
Don’t be scared, looking for a basic quickstart
(and enough for a volunteer to help out)
http://osgeo.org OSGeo Incubation 62
63. User Documentation
• Basic Quickstart
• Guide new user through performing “core functionality”
• That was not so bad was it?
http://osgeo.org OSGeo Incubation 63
64. Developer Documentation
• Checkout and build instructions
• Code documentation
• Publish API if possible (Javadocs, Sphinx, etc...)
• Comments!
http://osgeo.org OSGeo Incubation 64
65. Documentation Questions
• Q: How to submit a patch or fix?
• Q: How to contribute a new feature?
http://osgeo.org OSGeo Incubation 65
66. Release
Real artists ship
http://osgeo.org OSGeo Incubation 66
67. Release Instructions
• Do you have some instructions on how to release?
(any automated or manual testing?)
• Informal:
• Verify nightly build passed tests and Tag
• Formal:
• Code freeze, release candidates, tag in version control
http://osgeo.org OSGeo Incubation 67
68. Testing Instructions
• Just tell us what you actually do :-)
• Automated “Jenkins” build server, with core modules at 80%
test coverage
• Make a Release Candidate, and it can still perform the
quickstart instructions it is “good to go”
http://osgeo.org OSGeo Incubation 68
69. Release Questions
• Q: Can a volunteer follow the instructions to make a release?
• Q: Are you sure?
• Q: Would you let them upload to the project site?
http://osgeo.org OSGeo Incubation 69
70. Incubation Projects
We are working on it!
http://osgeo.org OSGeo Incubation 70
71. Projects in Incubation
GeoServer gvSig GeoMoose
Opticks rasdaman MetaCRS
Marble Team Engine ZOO Project
http://live.osgeo.org OSGeo Live 71
72. OSGeo Foundation
Community and Collaboration
http://osgeo.org OSGeo Incubation 72
73. OSGeo Board
Elected, but they do run the show
http://osgeo.org OSGeo Incubation 73
74. OSGeo Board
• The OSGeo Board is responsible for running the foundation,
they are elected by the Charter Members annually.
• Charter members by public nomination annually
• Project Officer
• Volunteer contact point
• Can change officer as needed
http://osgeo.org OSGeo Incubation 74
75. Marketting Committee
Volunteers from all over the world
http://osgeo.org OSGeo Incubation 75
76. Marketting Committee
• The Marketting Committee is very active, getting information out to
the public, helping prep material for conferences and taking charge of
publicity.
• Some project details and documentation
• Application Overview
• Application Quickstart
• Logo
• Graphic Image (ie screen shot or layer diagram)
• Recommend: Stable release they can point users at
(DebianGIS, OSGeo-Live, osgeo4w, website...)
http://osgeo.org OSGeo Incubation 76
77. System Admin Committee
Infrastructure help if you need it
http://osgeo.org OSGeo Incubation 77
78. System Admin Committee
• That is “sudo” to you and me, the System Admin Committee
is responsible for foundation infrastructure.
• Link on the OSGeo Home page
• Can set you up with the following infrastructure
• OSGeo issue tracker
• OSGeo mailing list
• OSGeo svn
• http://downloads.osgeo.org
http://osgeo.org OSGeo Incubation 78
79. Other Projects
Play nice with others
http://osgeo.org OSGeo Incubation 79
80. Other Projects
• Some communication and collaboration is expected
(often around release or data QA issues)
• Example: PostGISrelease procedure checks functionality with
MapServer and GeoServer
• Example: MetaCRS project is a meeting place to discuss co-
ordinate reference system accuracy issues
(so the data is aligned correctly)
http://osgeo.org OSGeo Incubation 80
82. Committees
• The Foundation contains more committees, presently these
groups have not requested direct contact with software
projects.
• Public Geospatial Data Committee
• Education and Curriculum Committee
• Website Committee
• Conference Committee
http://osgeo.org OSGeo Incubation 82
83. Local Chapters
• Local Chapters have been set up all over the world, activities
range from talking shop at the pub, through to focused code
sprints or raising funds for the development of specific
features.
http://osgeo.org OSGeo Incubation 83