= Principles of OSGeo Projects (The OSGeo Way) = * Projects should manage themselves, striving for consensus and encouraging participation from all contributors - from beginning users to advanced developers. * Contributors are the scarce resource and successful projects court and encourage them. * Projects are encouraged to adopt open standards and collaborate with other OSGeo projects. * Projects are responsible for reviewing and controlling their code bases to insure the integrity of the open source baselines. = Operating Principles = * Projects should document how they manage themselves. * Projects should maintain developer and user documentation. * Projects should maintain a source code management system. * Projects should maintain an issue tracking system. * Projects should maintain project mailing lists. * Projects should actively promote their participation in OSGeo. * Projects are encouraged to adopt OSGeo look and feel, branding, logos on their project sites. * Projects are encouraged to participate in OSGeo standardization efforts to present a common interface for OSGeo visitors and members. * Projects should have automated build and smoke test systems. = Open activities = == Format == Owner: Activity description * related links and status update Note: put in table format? Requires: * list of tasks that we need to get completed for incubation * the status of the tasks with links to relevant URLs where appropriate * contact person who has volunteered to coordinate the task * estimated date that the task will be completed by (indicative) == Project Steering Committee == A. Beccati: Definition of a PSC to define project direction and overall desired (and undesired) features to better direct development efforts by volounteer contributors. * Requirements collection ongoing, to open discussion and set up wiki page / tools / process for the PSC * example of PSC policy at http://geomoose.org/trunk/rfc/rfc-1.html?highlight=rfc = INCUBATION CHECKLIST = [[Image(http://upload.wikimedia.org/wikipedia/commons/1/1d/Icons-mini-icon_user.gif)]] (A. Beccati - a.beccati .at jacobs-university .dot de ) Overall process coordination. == Open == 1. Open: projects are expected to function in an open and public manner and include: a. [[Image(http://upload.wikimedia.org/wikipedia/commons/c/cc/Icons-mini-icon_accept.gif)]] Open source license(s): GPL for server, LGPL for client components (various other for dependency packages) a. [[Image(http://upload.wikimedia.org/wikipedia/commons/c/cc/Icons-mini-icon_accept.gif)]] Open communication channels: i. rasdaman-dev list: https://groups.google.com/forum/?fromgroups#!forum/rasdaman-dev i. rasdaman-user list: https://groups.google.com/forum/?fromgroups#!forum/rasdaman-usersras i. issue tracker (trac): http://rasdaman.eecs.jacobs-university.de/trac/rasdaman/report/1 a. [[Image(http://upload.wikimedia.org/wikipedia/commons/5/5a/Icons-mini-action_stop.gif)]] Open decision making process: TBD 1. Active and healthy community: a. [[Image(http://upload.wikimedia.org/wikipedia/commons/c/cc/Icons-mini-icon_accept.gif)]] The project should have a community of developers and users who actively collaborate and support each other in a healthy way. i. [[Image(http://upload.wikimedia.org/wikipedia/commons/1/11/Hourglass.png)]] List committers here? Would a link to oholo be sufficient? http://upload.wikimedia.org/wikipedia/commons/c/cc/Icons-mini-icon_accept.gif a. [[Image(http://upload.wikimedia.org/wikipedia/commons/c/cc/Icons-mini-icon_accept.gif)]] Long term viability of the project is demonstrated by showing participation and direction from multiple developers, who come from multiple organisations. i. [[Image(http://upload.wikimedia.org/wikipedia/commons/c/cc/Icons-mini-icon_accept.gif)]] As of early December 2012 five organizations are actively participating in code development: * Jacobs University Bremen - http://www.jacobs-university.de/ * Rasdaman - http://rasdaman.com/ * EOX IT Services - http://eox.at * Landcare Research New Zeland - http://www.landcareresearch.co.nz/home * Università degli Studi di Ferrara - http://www.unife.it/unife-en == Copyright and License == We need to ensure that the project owns or otherwise has obtained the ability to release the project code by completing the following steps: 1. [[Image(http://upload.wikimedia.org/wikipedia/commons/c/cc/Icons-mini-icon_accept.gif)]] All project source code is available under an Open Source license. 1. [[Image(http://upload.wikimedia.org/wikipedia/commons/1/11/Hourglass.png)]] Project documentation is available under an open license (Eg. Creative Commons) 1. [[Image(http://upload.wikimedia.org/wikipedia/commons/c/cc/Icons-mini-icon_accept.gif)]] The project code, documentation and data has been adequately vetted to assure it is all properly licensed, and a copyright notice included. a. Code Provenance Review: http://rasdaman.eecs.jacobs-university.de/trac/rasdaman/wiki/OSGeoCodeProvenance 1. [[Image(http://upload.wikimedia.org/wikipedia/commons/5/5a/Icons-mini-action_stop.gif)]] The project maintains a list of all copyright holders identified in the Provenance Review Document a. [[Image(http://upload.wikimedia.org/wikipedia/commons/1/11/Hourglass.png)]] List holders here? 1. [[Image(http://upload.wikimedia.org/wikipedia/commons/c/cc/Icons-mini-icon_accept.gif)]] All code contributors have agreed to abide by the project's license policy, and this agreement has been documented and archived a. Code contribution agreement: http://rasdaman.eecs.jacobs-university.de/trac/rasdaman/wiki/ContributorAgreement . *. In particular, from the contribution agreement: "Any contribution we make available under any license will also be made available under a suitable FSF (Free Software Foundation) or OSI (Open Source Initiative) approved license" == Processes == 1. [[Image(http://upload.wikimedia.org/wikipedia/commons/c/cc/Icons-mini-icon_accept.gif)]] The project has code under configuration management. a. Rasdaman git repository is established at git://kahlua.eecs.jacobs-university.de/rasdaman.git 1. [[Image(http://upload.wikimedia.org/wikipedia/commons/c/cc/Icons-mini-icon_accept.gif)]] The project uses an issue tracker and keeps the status of the issue tracker up to date a. Trac is used for that purpose and is constantly updated as issues are addressed. Ticket list is at http://rasdaman.eecs.jacobs-university.de/trac/rasdaman/report/1 1. [[Image(http://upload.wikimedia.org/wikipedia/commons/1/11/Hourglass.png)]] The project has documented its management processes. NOTE: This is typically done within a Developers Guide or Project Management Plan. a. [[Image(http://upload.wikimedia.org/wikipedia/commons/5/5a/Icons-mini-action_stop.gif)]] (looks like duplicate of "Open" item 3) The project has a suitable open governance policy ensuring decisions are made, documented and adhered to in a public manner. Note: This typically means a Project Management Committee has been established with a process for adding new members. A robust Project Management Committee will typically draw upon developers, users and key stakeholders from multiple organisations as there will be a greater variety of technical visions and the project is more resilient to a sponsor leaving. a. [[Image(http://upload.wikimedia.org/wikipedia/commons/c/cc/Icons-mini-icon_accept.gif)]] (duplicate of Open item 2) The project uses public communication channels for decision making to maintain transparency. E.g. archived email list(s), archived IRC channel(s), public issue tracker. == Documentation == 1. [[Image(http://upload.wikimedia.org/wikipedia/commons/c/cc/Icons-mini-icon_accept.gif)]] The project has user documentation: a. Including sufficient detail to guide a new user through performing the core functionality provided by the application. 1. [[Image(http://upload.wikimedia.org/wikipedia/commons/c/cc/Icons-mini-icon_accept.gif)]] The project has developer documentation: a. Including checkout and build instructions. a. Including commented code, ideally published for developer use. NOTE: Examples: javadocs for Java applications, or Sphinx documentation for Python applications. a. Providing sufficient detail for an experienced programmer to contribute patches or a new module in accordance with the project's programming conventions. == Release Procedure == In order to maintain a consistent level of quality, the project should follow defined release and testing processes. 1. [[Image(http://upload.wikimedia.org/wikipedia/commons/1/11/Hourglass.png)]], [[Image(http://upload.wikimedia.org/wikipedia/commons/9/90/Icons-mini-icon_alert.gif)]] The project follows a defined release process: (patch revision in place, release policy review ongoing) a. [[Image(http://upload.wikimedia.org/wikipedia/commons/1/11/Hourglass.png)]], [[Image(http://upload.wikimedia.org/wikipedia/commons/9/90/Icons-mini-icon_alert.gif)]] Which includes execution of the testing process before releasing a stable release. (ongoing effort) 1. [[Image(http://upload.wikimedia.org/wikipedia/commons/1/11/Hourglass.png)]], [[Image(http://upload.wikimedia.org/wikipedia/commons/9/90/Icons-mini-icon_alert.gif)]] The project follows a documented testing process. NOTE: Ideally, this includes both automated and manual testing. Ideally this includes documented conformance to set quality goals, such as reporting Percentage Code Coverage of Unit Tests 1. [[Image(http://upload.wikimedia.org/wikipedia/commons/1/11/Hourglass.png)]] Release and testing processes provide sufficient detail for an experienced programmer to follow. == OSGeo Committees and Community == The OSGeo Foundation is made up of a number of committees, projects and local chapters. This section gathers up information these groups have requested from OSGeo projects. These expectations are not mandatory requirements before graduation, but a project should be prepared to address them in order to be considered a good OSGeo citizen. === Board === The OSGeo Board holds ultimate responsibility for all OSGeo activities. The Board requests: 1. [[Image(http://upload.wikimedia.org/wikipedia/commons/5/5a/Icons-mini-action_stop.gif)]] A project provide a Project Officer as a contact point: (Note: the template at OSGeo states "contract point", mistake?) a. The Project Officer should be listed at Officers and Board of Directors and Contacts a. This person is established when the incubation committee recommends the project for graduation a. Your community can change the project officer as needed. Note: Add an agenda item to the next board meeting so they can recognize the change of officer. === Marketing === Access to OSGeo's [http://wiki.osgeo.org/wiki/Marketing_Committee Marketing_Committee] and associated [http://wiki.osgeo.org/wiki/Marketing_Pipeline Marketing_Pipeline] is one of the key benefits of joining the OSGeo foundation. The Marketing Committee requests: 1. [[Image(http://upload.wikimedia.org/wikipedia/commons/1/11/Hourglass.png)]] [[Image(http://upload.wikimedia.org/wikipedia/commons/c/cc/Icons-mini-icon_accept.gif)]] (should be available from OSGeo Live) Marketing artefacts have been created about the project in line with the incubation criteria listed in the OSGeo Marketing Committee's [http://wiki.osgeo.org/wiki/Marketing_Artefacts Marketing Artefacts]. This lists the documentation requirements for OSGeo-Live. Marketing Artefacts include: a. [[Image(http://upload.wikimedia.org/wikipedia/commons/1/11/Hourglass.png)]] Application Overview a. [[Image(http://upload.wikimedia.org/wikipedia/commons/1/11/Hourglass.png)]] Application Quick Start a. [[Image(http://upload.wikimedia.org/wikipedia/commons/1/11/Hourglass.png)]] Logo a. [[Image(http://upload.wikimedia.org/wikipedia/commons/1/11/Hourglass.png)]] Graphical Image 1. Ideally, stable version(s) of executable applications are bundled with appropriate distributions. Note: In most cases, this will at least include OSGeo-Live, but may also include DebianGIS, UbuntuGIS, and/or osgeo4w, ms4w, etc.) === Projects === Projects do not exist in isolation; and are expected to communicate and collaborate on key issues. As an example the PostGIS release procedure asks that the release be checked with MapServer, GeoServer and others. [[Image(http://upload.wikimedia.org/wikipedia/commons/1/11/Hourglass.png)]] List related projects here === SAC === The [http://wiki.osgeo.org/wiki/SAC System Administration Committee] is available to help infrastructure and facilities. Information for this committee is collected as part of the [http://wiki.osgeo.org/wiki/Project_Status_Template Project Status Template]. 1. The following should be set up: a. [[Image(http://upload.wikimedia.org/wikipedia/commons/5/5a/Icons-mini-action_stop.gif)]] A http://projectname.osgeo.org domain name 1. A project may optionally request SAC help to make use of: a. [[Image(http://upload.wikimedia.org/wikipedia/commons/c/cc/Icons-mini-icon_accept.gif)]] OSGeo issue tracker : not needed a. [[Image(http://upload.wikimedia.org/wikipedia/commons/c/cc/Icons-mini-icon_accept.gif)]] OSGeo mailing list : not needed a. [[Image(http://upload.wikimedia.org/wikipedia/commons/c/cc/Icons-mini-icon_accept.gif)]] OSGeo svn : not needed a. [[Image(http://upload.wikimedia.org/wikipedia/commons/c/cc/Icons-mini-icon_accept.gif)]] http://downloads.osgeo.org : not needed = Icon legend and media attribution = [[Image(http://upload.wikimedia.org/wikipedia/commons/1/11/Hourglass.png)]] Waiting for verification. From http://commons.wikimedia.org/wiki/File:Hourglass.png [[Image(http://upload.wikimedia.org/wikipedia/commons/c/cc/Icons-mini-icon_accept.gif)]] OK. From http://commons.wikimedia.org/wiki/File:Icons-mini-icon_accept.gif#file [[Image(http://upload.wikimedia.org/wikipedia/commons/9/90/Icons-mini-icon_alert.gif)]] Warning Note. From http://commons.wikimedia.org/wiki/File:Icons-mini-icon_alert.gif [[Image(http://upload.wikimedia.org/wikipedia/commons/5/5a/Icons-mini-action_stop.gif)]] Not met, yet. From http://commons.wikimedia.org/wiki/File:Icons-mini-action_stop.gif#file [[Image(http://upload.wikimedia.org/wikipedia/commons/1/1d/Icons-mini-icon_user.gif)]] Assigned and ongoing. From http://commons.wikimedia.org/wiki/File:Icons-mini-icon_user.gif#file