57
OSGeo Incubation Putting the Software in our Foundation

Osgeo incubation-2014

Embed Size (px)

DESCRIPTION

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!

Citation preview

Page 1: Osgeo incubation-2014

OSGeo IncubationPutting the Software in our Foundation

Page 2: Osgeo incubation-2014

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

Page 3: Osgeo incubation-2014

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_graduation_checklist.html

Page 4: Osgeo incubation-2014

Programming in PublicHow to be safe

(and not be embarrassing)

Page 5: Osgeo incubation-2014

This is About Public Safety

• If you are programming in public please play safely:

• Safe for you

• Safe for users of your software

Page 6: Osgeo incubation-2014

Open Source Geospatial FoundationWe are here to help and we are not alone!

Page 7: Osgeo incubation-2014

OSGeoOpen Source Geospatial Foundation

Mission: To support the collaborative development of open source geospatial software, and promoteits widespread use.

• Non-Profit, Vendor Neutral

• International

• Open Education, Open Data

Page 8: Osgeo incubation-2014

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

Page 9: Osgeo incubation-2014

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

Page 10: Osgeo incubation-2014

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?

Page 11: Osgeo incubation-2014

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

Page 12: Osgeo incubation-2014

Who Pays?

Page 13: Osgeo incubation-2014

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

Page 14: Osgeo incubation-2014

We are not alone

• Eclipse Foundation

• LocationTech Working Group

• locationtech.org

• Apache Foundation

• Spatial Information System

• sis.apache.org

Page 15: Osgeo incubation-2014

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

Page 16: Osgeo incubation-2014

Brand OSGeo

Page 17: Osgeo incubation-2014

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)

Page 18: Osgeo incubation-2014

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)

Page 19: Osgeo incubation-2014

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

Page 20: Osgeo incubation-2014

Checklist: OpenProject has open, active and healthy user and developer community

Page 21: Osgeo incubation-2014

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)

Page 22: Osgeo incubation-2014

(Small Rant)

• You do not have to form a steering commit

• as long as what you are doingwelcomes new participants we are cool

Page 23: Osgeo incubation-2014

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

Page 24: Osgeo incubation-2014

Copyright and LicenseCheck a project has obtained the ability to release

Page 25: Osgeo incubation-2014

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)

Page 26: Osgeo incubation-2014

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

Page 27: Osgeo incubation-2014

Sanity Check

• We ask for a Provenance Review

• Check source code

• Check documentation

• Check data

• Do you know who gave it to you?

Page 28: Osgeo incubation-2014

(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!

Page 29: Osgeo incubation-2014

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

Page 30: Osgeo incubation-2014

ProcessVersion control, issue tracker, decisions

Page 31: Osgeo incubation-2014

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

Page 32: Osgeo incubation-2014

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

Page 33: Osgeo incubation-2014

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)

Page 34: Osgeo incubation-2014

DocumentationLooking for a basic quickstart

(and enough for a volunteer to help out)

Page 35: Osgeo incubation-2014

User Documentation

• Basic Quickstart

• Guide new user through performing “core functionality”

• Tip: That was not so bad was it?

Page 36: Osgeo incubation-2014

Developer Documentation

• Checkout and build instructions

• Code documentation

• Publish API if possible (Javadocs, Sphinx, etc...)

• Comments!

Page 37: Osgeo incubation-2014

(Small Rant)

• Q: How to submit a patch or fix?

• Q: How to contribute a new feature?

Page 38: Osgeo incubation-2014

Release"Real artists ship" - Steve Jobs

Page 39: Osgeo incubation-2014

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

Page 40: Osgeo incubation-2014

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)

Page 41: Osgeo incubation-2014

(Small Rant)

• Q: Can a volunteer follow the instructions to make a release?

• Q: Are you sure?

• Would you let them upload to the project site?

Page 42: Osgeo incubation-2014

Community & CollaborationOSGeo groups who want to help you

Page 43: Osgeo incubation-2014

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)

Page 44: Osgeo incubation-2014

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

Page 45: Osgeo incubation-2014

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

Page 46: Osgeo incubation-2014

Other Project • 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)

Page 47: Osgeo incubation-2014

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.

Page 48: Osgeo incubation-2014

Incubation Committee

Page 49: Osgeo incubation-2014

Graduated!

• Marble Virtual Globe (2012-2013)

Page 50: Osgeo incubation-2014

Hatching

• rasdaman (2013-present)- code review and checklist good- stuck on how to do open development

Page 51: Osgeo incubation-2014

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)

• pycsw (2013-present)

Page 52: Osgeo incubation-2014

Missing

• TEAM Engine (2012-present) - OGC Project very much in the spirit of OSGeo. - No communication ... ever

Page 53: Osgeo incubation-2014

Question and Answer

Page 54: Osgeo incubation-2014

Q&A

• Q: How do you know that the download matches the sourceA: 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)

Page 55: Osgeo incubation-2014

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)

Page 56: Osgeo incubation-2014

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

Page 57: Osgeo incubation-2014

Show some Love

• OSGeo is a Software Foundation

• Many of our incubation projects are stuck

• How can you help?