OSGeo Incubation 2014
-
Upload
jody-garnett -
Category
Software
-
view
1.080 -
download
0
description
Transcript of OSGeo Incubation 2014
OSGeo IncubationPutting 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_graduation_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 SourceGeospatial FoundationWe are here to help and we are not alone!
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
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
• LocationTechWorking 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
OpenProject 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 doingwelcomes 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 LicenseCheck 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
ProcessVersion 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)
DocumentationLooking 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 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)
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?