-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GNIP-54: GeoNode Project Steering Committee (PSC) #3699
Comments
Hi So I have a few comments based on my experiences with QGIS: PSC Size: We have had the PSC grow and shrink to different sizes. My feeling is that 5 is an optimal size for a PSC because:
Decisions: IMHO email and IRC chats with +1 / 0 / -1 are incredibly hard to keep track of. It's hard to go back and see when a decision was made and closed. Much better to use a tool like loomio to have a record of your decisions. There is still a place for +1 / 0 / -1 voting e.g. in a google doc containing meeting minutes where you are making quick small decisions, but any larger decisions are better recorded on a proper platform. Formation: Having the PSC vote for its own members is a bit self-selecting. At the least, it might be good to ask for nominations and votes for PSC members from within the user, developer and documentation community. Leanness Having a PSC is great but try to keep your project admin processes lean. Especially we try to follow the "principle of self-organisation" in QGIS. That is, if someone shows interest in a particular area of the project, give them mandate to run with it and let the PSC function as a facilitator - keeping the path clear for technical teams to develop organically, supplying them with resources (funding, git access, mandate etc.). Its great to see your plans for growing the governance of GeoNode! Regards Tim |
Oh it might also be good to define what constitutes a majority.... |
Thanks a lot @afabiani for this. A comment I have is about the duration of PSC membership in case of inactivity. In particular two months seems too short taking into consideration that non developers PSC members may do more long term work behind the scenes that might not be immediately visible on the mailing lists. |
+1 I have few questions/clarifications if i understand this GNIP correctly:
|
automatic droppingI like the automatic dropping of PSC status and think it is a key feature. For example, I have been mostly unactive during the past year and nobody had to have an awkward conversation, I was automatically dropped out of the PSC based on the past rules. In my opinion, it is better to quickly vote to bring the person back than the other way around. Also, notice that the dropping is not based on active contributions but missing the PSC meetings, a person may not have time to contribute a lot to the project for a while, let's say 6 months or even a year and that may be fine, but missing the meetings and breaking quorum is a different thing. One is lack of time, the other one is irresponsible behavior. sizeI agree with the suggestion to make it 5 and contacting osgeo if it drops below that number. votingI propose the following order:
LeannessI agree with Tim here. |
Another issue is that the current PSC must approve the new rules, and personally I would prefer 100% voting record from the current PSC if possible for this change. |
Thanks @afabiani for the draft of the new PSC rules.
Additionally, It seems to me that keeping bi-weekly meetings may be a too busy schedule. Perhaps a weekly or even twice a month schedule might be more appropriate? As for the bootstrapping, I agree with @ingenieroariel on having the current PSC choose a chair, then have the chair call for a wider vote from the community to form the new PSC. |
Thanks to everyone for contributing to this discussion. I'm also in favor of loomio if a dedicated platform is needed. Anyway a simpler approach (for PSC voting) could be employed using issues in a dedicated github repo (e.g. geonode-psc). I would start with a meeting schedule twice a month. In case it can be increased later. I also agree with @ingenieroariel on current PSC voting for agreement on this PSC and the election of the Chair. |
In addition to the already valid comments on leanness, size, voting schedule, community voting platform, meeting frequency, and automatic dropping, I would like to raise a question about that constitutes merit for PSC nomination. Can we define what could be the criteria, other than code and documentation contributions? For example, if someone if very active on the mailing list providing support for new users, would that be an acceptable merit? Or if an organization is sponsoring core development, would they be allowed to be nominated instead of the actual developer implementing the code? The proposed text is a good starting point, but would need some revisions on structure to clearly define what PSC members' roles and responsibilities are (keeping in mind the leanness recommendation), language to ensure consistency (e.g. Skype, Gitter, IRC, etc) and clarity (e.g. Finally, as discussed at the summit, we could include other ways to submit an improvement or a recommendation to the GeoNode project that is not through a GNIP or Github issue. The requirement for when to use a GNIP of Thanks @afabiani and everyone for this proposal - really excited to see the GeoNode community discussing a clear project governance model! |
Dear all, I tried to update the proposal accordingly to your comments. Please review. |
Hi @afabiani - thanks for incorporating all the feedback and for pushing this! I have several further comments and proposed edits, but I wasn't sure how to best track those changes here in Github, so I made a separate Google Doc, open for in-line comments: GeoNode PSC ToR Proposal My main goal was to simplify the structure of the document, clarify some points, and remove some IMHO unnecessary complexity in the policies and procedures. |
GNIP closed and updated accordingly to the Proposal https://github.com/GeoNode/geonode/wiki/Community-Bylaws#project-steering-committee |
Welcome to the GeoNode organizational system, as with any open source project we start with people.
Purpose
The goal to have more consistent and constant PSC (users nominated and voted into PSC) than current construct (rotating membership based on last 12 months of code contributions).
Summary
This document describes the role and responsibilities of the Project Steering Committee, as well as the process under which it operates. Much of the definition and inspiration for the GeoNode PSC is taken from the GeoServer Technical Steering Committee, MapServer Technical Steering Committee and the Plone foundation.
The committee is made up of individuals based on merit irrespective of organization ties.
Structure
The PSC is made up of individuals who are intended to represent the various communities which have a stake in GeoNode. An odd number is chosen to facilitate the voting process and help prevent ties. However, even with an odd number, the voting system may still allow for a tie in some cases. For this reason the PSC has an appointed Chair, whose sole responsibility is to break ties among the PSC.
Turnover is allowed and expected to accommodate people only able to become active on the project in intervals. A PSC member may step down at any time.
Current PSC
Accordingly to the current rules the current PSC is composed by the following people
PSC Membership
New PSC members
A new PSC member can be nominated at any time. Voting for a new PSC is done by the community. There is no hard limit to the number of PSC members, but we want a relatively active PSC. PSC nominations are generally given in recognition to very significant contributions to the project. Membership is open to non-technical people, for example if someone is to make huge advances to the documentation or marketing of GeoNode, for example.
Since we demand a fairly active PSC we expect turnover may be high compared to other projects, so initially we will aim to keep it around 5 PSC members. But given sufficient reason we will expand that.
Nominated PSC members must receive a majority of +1 vote’s from the PSC, and no -1’s.
PSC Chair is nominated following the same procedures as PSC members.
In order to start voting, the candidate must send his application to the GeoNode Users mailing lists. Given that, the community can start voting. One of the PSC members must keep track of voting on a adequate platform.
Stepping Down
If we do not hear from you for six months or more, we can assume you lost. A discussion and voting process will start to remove you from the PSC.
Other than on a time based fashion, one person could be signaled to be removed from the PSC due to irresponsible behavior. Again, any decision will be taken after a discussion involving the entire community.
Every motion must pass through the PSC evaluation in any case.
Bootstrapping
First a volunteer is chosen by the current group of “active” contributors (user, developer and documentation communities). Anyone can volunteer to cover this role.
The volunteer is then removed from the nominee list.
Everyone on the email lists must send his candidature to be part of the PSC in a period of 1 week at most. the volunteer collects those on a document.
After this period, the volunteer communicates the final list of candidates.
Once the list is accepted by those nominated, the volunteer will privately gather the votes posting the results.
The 5 nominees receiving the most 5 votes will be selected as the PSC.
Dissolution of PSC
If there are no suitable replacements, the PSC can decide to go down in number. If the number of active PSC members drops below 5, however, then we may wish to ask the OSGeo Board for assistance. For more information check out the OSGeo Governance FAQ.
Process
The primary role of the PSC is to make decisions relating to project management. The following decision making process is used. It is based on the “Proposal-Vote” system.
Leanness
We would try to follow the "principle of self-organisation" like in QGIS.
That is, if someone shows interest in a particular area of the project, give them mandate to run with it and let the PSC function as a facilitator - keeping the path clear for technical teams to develop organically, supplying them with resources (funding, git access, mandate etc.).
When not to use the GNIP
A GNIP is only needed for:
A GNIP is NOT needed for:
For minor decisions where feedback might be desired, the course of action to take is to consult the development list or raise it in an irc meeting. The GeoNode Project recognizes that it is run those who are actually doing the work, and thus we want to avoid high overhead for ‘getting things done’.
Status of the GNIPs
A GNIP can be proposed via the GitHub issue mechanism, by tagging it as GNIP.
It would be good to use a standard template for the GNIPs description, however a GNIP should contain at least:
The status of the GNIPs should be updated and reported here
Responsibilities
Responsibilities of PSC members fall into the following categories:
Operations
Day to day project management. Duties include:
Mailing List Participation
PSC members are expected to be active on both user and developer email lists, subject to open-source mailing list etiquette of course.
It is a requirement that all PSC members maintain good public visibility with respect to activity and management of the project. This cannot happen without a good frequency of email on the mailing lists.
Planning
Long term project management. Duties include:
Guiding Major Development Efforts
PSC members are expected to help guide the major development efforts of the project. This may include deciding which development efforts should receive priority when different efforts are in conflict.
The PSC has the right to veto any proposed development efforts.
A major development effort which is intended to become part of the core of GeoNode can be proposed by any interested party, PSC, or non PSC. However, the effort must be approved by the PSC before it can begin.
Project Policies
The PSC is responsible for defining project policies and practiced. Examples include:
Development Practices
Release Procedures
The text was updated successfully, but these errors were encountered: