OSGeo Incubation 2014
- 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
- 5. This is About Public Safety
• If you are programming in public please play safely:
• Safe for you
• Safe for users of your software
- 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
- 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
- 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
- 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)
- 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?
- 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?
- 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.
- 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
- 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!
- Alternate Title Slide :)