SlideShare a Scribd company logo
OSGeo Incubation 
Putting the Software in our Foundation
Welcome 
• Jody Garnett 
• Senior Software Engineer 
• Boundless 
• @jodygarnett 
• how2map.com 
• Projects: 
• GeoTools 
• GeoServer 
• uDig 
• OSGeo 
• Incubation Chair 
• GeoTools Officer 
• Eclipse Foundation 
• LocationTech PSC 
• Technology Project
TLDR 
• Incubation: the welcome wagon for projects entering 
OSGeo 
1. Published as Open Source 
2. Check where the code came from 
3. Project willing to accept new people 
• We have a slightly longer checklist we are quite proud 
of! 
• http://www.osgeo.org/incubator/process/project_gradu 
ation_checklist.html
Programming in Public 
How to be safe 
(and not be embarrassing)
This is About Public Safety 
• If you are programming in public please play safely: 
• Safe for you 
• Safe for users of your software
Open Source 
Geospatial Foundation 
We are here to help and we are not alone!
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
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
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
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?
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
Who Pays?
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
We are not alone 
• Eclipse Foundation 
• LocationTech 
Working Group 
• locationtech.org 
• Apache Foundation 
• Spatial Information 
System 
• sis.apache.org
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..
Brand OSGeo
Users! 
• What “OSGeo Project” means for you: 
• 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)
Developers! 
• “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)
Foundation! 
• 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
Open 
Project has open, active and healthy user and developer 
community
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 
• (Not a "dictatorship" of one)
(Small Rant) 
• You do not have to form a steering committee! 
• as long as what you are doing 
welcomes new participants we are cool
Community 
• Active 
• Community of users and developers 
• Support each other 
• Example: Collaboration during release 
• Healthy 
• Long term viability 
• Example: Participation from range of developers / 
organisations
Copyright and License 
Check a project has obtained the ability to release
Open Source 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)
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
Sanity Check 
• We ask for a Provenance Review 
• Check source code 
• Check documentation 
• Check data 
• Do you know who gave it to you?
(Small Rant) 
• This is a CHECK not a FIX 
• projects can graduate with known problems 
• we just want your customers to know what they are 
getting 
• If they care they may help/fund fixes!
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 
• Update: GeoServer OpenPlans --> OSGeo
(Small Rant) 
• If you are using GitHub "Pull Requests": 
• Your project is in danger of "drive buy" commits! 
• Add "guidelines for contributing" to your repository: 
• Shown to contributors when they make a pull request 
• Let them know they are giving you the code :) 
• GeoTools Example CONTRIBUTING.md 
• Changes to one file committed by the person doing the 
review 
• Larger? Email a signed contributors license to OSGeo
Process 
Version control, issue tracker, decisions
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”)
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) 
• Sounds like Board is de-emphasising hosting
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)
Documentation 
Looking for a basic quickstart 
(and enough for a volunteer to help out)
User Documentation 
• Basic Quickstart 
• Guide new user through performing “core 
functionality” 
• Tip: That was not so bad was it?
Developer Documentation 
• Checkout and build instructions 
• Code documentation 
• Publish API if possible (Javadocs, Sphinx, etc...) 
• Comments!
(Small Rant) 
• Q: How to submit a patch or fix? 
• Q: How to contribute a new feature?
Release 
"Real artists ship" - Steve Jobs
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
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” 
• It it compiles we ship it? (ie user-list testing)
(Small Rant) 
• 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?
Community & Collaboration 
OSGeo groups who want to help you
Board 
• Who: The OSGeo Board is responsible for running the 
foundation, they are elected by the Charter Members 
annually. 
• What they want: 
• Project Officer: volunteer contact point 
(Can change officer as needed)
Marketting Committee 
• Who: The Marketting Committee is very active, getting 
information out to the public, helping prep material for 
conferences and taking charge of publicity. 
• What they want: 
• Application Overview (name, logo, etc...) 
• Application Quickstart 
• Graphic Image (screen snap or layer diagram) 
• Recommend: 
• Stable release they can point users at 
(DebianGIS, OSGeo-Live, osgeo4w, website...)
Sys Admin Committee 
• Who: That is “sudo” to you and me, the System Admin 
Committee is responsible for foundation infrastructure. 
• Link on the OSGeo Home Page 
• Optional infrastructure: 
• OSGeo issue tracker 
• OSGeo mailing list 
• OSGeo svn 
• http://downloads.osgeo.org
Other Projects 
• Who: OSGeo projects have graduated - play nice 
together! 
• Some communication and collaboration is expected 
(often around release or data QA issues) 
• Example: PostGIS release procedure checks 
functionality with MapServer and GeoServer 
• Example: MetaCRS "project" is a meeting place to 
discuss location accuracy issues (so the data is 
aligned correctly)
Other Stuff 
• Who: The following groups are around, but have not asked 
anything from the projects yet! 
• Public Geospatial Data Committee 
• Education and Curriculum Committee 
• Website Committee 
• Conference Committee 
• Local Chapters: 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.
Incubation Committee
Graduated! 
• Marble Virtual Globe (2012-2013)
Hatching 
• rasdaman (2013-present) 
- code review and checklist good 
- stuck on how to do open development 
- coordinating with mentor 
• pycsw (2013-present) 
- stuck demonstrating devel/user collaboration 
- UPDATE: Good Q&A at FOSS4G AGM and 
CodeSprint 
• OTB (2013-present) 
- status update in March
Busy 
• gvSIG (2007-present) 
- Really close - mentor needed! 
• MetaCRS (2008-present) 
- a bit stuck on how to handle PROJ and friends 
- may need to relax our requirements? 
• Opticks (2012-present) 
• ZOO-Project (2012-present) 
•
Missing 
• TEAM Engine (2012-present) 
- OGC Project very much in the spirit of OSGeo. 
- No communication ... ever 
- UPDATE: Caught up with Luis and Justin at OGC TC 
Calgary
Question and Answer
Q&A 
• Q: How do you know that the download matches the 
source 
A: We don't! 
(The Apache foundation makes a clean room build of 
each release and keeps tight control of downloads. This 
is not very common.) 
A: The code is open for review. 
(GeoServer gets a couple of external security audits a 
year. Sometimes they go away quietly, sometimes we 
get an issue report, sometimes we explain the 
difference between CQL and SQL (Hint CQL is not 
vulnerable to SQL Injection)
Q&A 
• Q: Well how about GeoServer/ 
(does build binary match source) 
A: No direct proof, each build is build on Boundless 
infrastructure, and the log of the build process is public 
and has a public log) 
• Q: Where can I sign up? 
A: There is a form you can fill in and attach to a Trac 
ticket. 
http://www.osgeo.org/incubator/process/application.html 
(I should of put that in the presentation)
Q&A 
• Q: We are pretty close to everything on your list, but we 
are all in Finland. How could we do "open 
development"? 
A: Ask on your email list if anyone wants to join, and 
give them a conference call number. Send meeting 
minuets to your email list after. 
GeoServer meets on Skype, ask to join on IRC, 
meetings posted to email list afterwards
Show some Love 
• OSGeo is a Software Foundation 
• Many of our incubation projects are stuck 
• How can you help?

More Related Content

OSGeo Incubation 2014

  • 1. OSGeo Incubation Putting the Software in our Foundation
  • 2. Welcome • Jody Garnett • Senior Software Engineer • Boundless • @jodygarnett • how2map.com • Projects: • GeoTools • GeoServer • uDig • OSGeo • Incubation Chair • GeoTools Officer • Eclipse Foundation • LocationTech PSC • Technology Project
  • 3. TLDR • Incubation: the welcome wagon for projects entering OSGeo 1. Published as Open Source 2. Check where the code came from 3. Project willing to accept new people • We have a slightly longer checklist we are quite proud of! • http://www.osgeo.org/incubator/process/project_gradu ation_checklist.html
  • 4. Programming in Public How to be safe (and not be embarrassing)
  • 5. This is About Public Safety • If you are programming in public please play safely: • Safe for you • Safe for users of your software
  • 6. Open Source Geospatial Foundation We are here to help and we are not alone!
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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?
  • 11. 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
  • 13. 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
  • 14. We are not alone • Eclipse Foundation • LocationTech Working Group • locationtech.org • Apache Foundation • Spatial Information System • sis.apache.org
  • 15. 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..
  • 17. Users! • What “OSGeo Project” means for you: • 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)
  • 18. Developers! • “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)
  • 19. Foundation! • 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
  • 20. Open Project has open, active and healthy user and developer community
  • 21. 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 • (Not a "dictatorship" of one)
  • 22. (Small Rant) • You do not have to form a steering committee! • as long as what you are doing welcomes new participants we are cool
  • 23. Community • Active • Community of users and developers • Support each other • Example: Collaboration during release • Healthy • Long term viability • Example: Participation from range of developers / organisations
  • 24. Copyright and License Check a project has obtained the ability to release
  • 25. Open Source 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)
  • 26. 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
  • 27. Sanity Check • We ask for a Provenance Review • Check source code • Check documentation • Check data • Do you know who gave it to you?
  • 28. (Small Rant) • This is a CHECK not a FIX • projects can graduate with known problems • we just want your customers to know what they are getting • If they care they may help/fund fixes!
  • 29. 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 • Update: GeoServer OpenPlans --> OSGeo
  • 30. (Small Rant) • If you are using GitHub "Pull Requests": • Your project is in danger of "drive buy" commits! • Add "guidelines for contributing" to your repository: • Shown to contributors when they make a pull request • Let them know they are giving you the code :) • GeoTools Example CONTRIBUTING.md • Changes to one file committed by the person doing the review • Larger? Email a signed contributors license to OSGeo
  • 31. Process Version control, issue tracker, decisions
  • 32. 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”)
  • 33. 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) • Sounds like Board is de-emphasising hosting
  • 34. 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)
  • 35. Documentation Looking for a basic quickstart (and enough for a volunteer to help out)
  • 36. User Documentation • Basic Quickstart • Guide new user through performing “core functionality” • Tip: That was not so bad was it?
  • 37. Developer Documentation • Checkout and build instructions • Code documentation • Publish API if possible (Javadocs, Sphinx, etc...) • Comments!
  • 38. (Small Rant) • Q: How to submit a patch or fix? • Q: How to contribute a new feature?
  • 39. Release "Real artists ship" - Steve Jobs
  • 40. 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
  • 41. 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” • It it compiles we ship it? (ie user-list testing)
  • 42. (Small Rant) • 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?
  • 43. Community & Collaboration OSGeo groups who want to help you
  • 44. Board • Who: The OSGeo Board is responsible for running the foundation, they are elected by the Charter Members annually. • What they want: • Project Officer: volunteer contact point (Can change officer as needed)
  • 45. Marketting Committee • Who: The Marketting Committee is very active, getting information out to the public, helping prep material for conferences and taking charge of publicity. • What they want: • Application Overview (name, logo, etc...) • Application Quickstart • Graphic Image (screen snap or layer diagram) • Recommend: • Stable release they can point users at (DebianGIS, OSGeo-Live, osgeo4w, website...)
  • 46. Sys Admin Committee • Who: That is “sudo” to you and me, the System Admin Committee is responsible for foundation infrastructure. • Link on the OSGeo Home Page • Optional infrastructure: • OSGeo issue tracker • OSGeo mailing list • OSGeo svn • http://downloads.osgeo.org
  • 47. Other Projects • Who: OSGeo projects have graduated - play nice together! • Some communication and collaboration is expected (often around release or data QA issues) • Example: PostGIS release procedure checks functionality with MapServer and GeoServer • Example: MetaCRS "project" is a meeting place to discuss location accuracy issues (so the data is aligned correctly)
  • 48. Other Stuff • Who: The following groups are around, but have not asked anything from the projects yet! • Public Geospatial Data Committee • Education and Curriculum Committee • Website Committee • Conference Committee • Local Chapters: 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.
  • 50. Graduated! • Marble Virtual Globe (2012-2013)
  • 51. Hatching • rasdaman (2013-present) - code review and checklist good - stuck on how to do open development - coordinating with mentor • pycsw (2013-present) - stuck demonstrating devel/user collaboration - UPDATE: Good Q&A at FOSS4G AGM and CodeSprint • OTB (2013-present) - status update in March
  • 52. Busy • gvSIG (2007-present) - Really close - mentor needed! • MetaCRS (2008-present) - a bit stuck on how to handle PROJ and friends - may need to relax our requirements? • Opticks (2012-present) • ZOO-Project (2012-present) •
  • 53. Missing • TEAM Engine (2012-present) - OGC Project very much in the spirit of OSGeo. - No communication ... ever - UPDATE: Caught up with Luis and Justin at OGC TC Calgary
  • 55. Q&A • Q: How do you know that the download matches the source A: We don't! (The Apache foundation makes a clean room build of each release and keeps tight control of downloads. This is not very common.) A: The code is open for review. (GeoServer gets a couple of external security audits a year. Sometimes they go away quietly, sometimes we get an issue report, sometimes we explain the difference between CQL and SQL (Hint CQL is not vulnerable to SQL Injection)
  • 56. Q&A • Q: Well how about GeoServer/ (does build binary match source) A: No direct proof, each build is build on Boundless infrastructure, and the log of the build process is public and has a public log) • Q: Where can I sign up? A: There is a form you can fill in and attach to a Trac ticket. http://www.osgeo.org/incubator/process/application.html (I should of put that in the presentation)
  • 57. Q&A • Q: We are pretty close to everything on your list, but we are all in Finland. How could we do "open development"? A: Ask on your email list if anyone wants to join, and give them a conference call number. Send meeting minuets to your email list after. GeoServer meets on Skype, ask to join on IRC, meetings posted to email list afterwards
  • 58. Show some Love • OSGeo is a Software Foundation • Many of our incubation projects are stuck • How can you help?

Editor's Notes

  1. The Open Source Geospatial Foundation does much more than hold FOSS4G each year. This talk will look into what makes OSGeo a software foundation. What software foundations have to offer members, software projects and developers. This talk is structured around the “incubation” process by which new software projects join the OSGeo. If you are new to open source take this is a great chance to see how OSGeo evaluates software projects and how these checks protect you! For managers it is especially important to understand the risks associated with the use of open source. Understand what assurances OSGeo incubation offers, how to double check the results, and what factors are left for your own risk assessment. If you are a developer considering getting involved in OSGeo this is great talk to learn what is involved, how much work it will be, and how you can start! Come see what makes OSGeo more than a user group!
  2. Alternate Title Slide :)