Skip to content

Community Governance Proposal

DeadSuperHero edited this page Aug 29, 2012 · 8 revisions

The current working stage is referred to as "Stage 1".

This document is not intended to explicity show a workflow; it is an overreaching proposal for how the community can work together to emerge into a much more democratic, community-driven project.

For Workflow-specific topics, check out our Developer Workflows.

The goal of this initiative is to turn Diaspora into the fully community-centric project that it was intended to be.

Stage 0

Stage 0 is largely a preparation stage. A number of things have been done to help facilitate movement into Stage 1.

  • The opening of our Pivotal Tracker.
  • JoinDiaspora.com has a new sign-in page to signify that there are other pods out there, and points to useful resources.
  • We released a simple deployer tool called Provisioner, which spins up a Diaspora instance on top of the Heroku service. We would like to improve this further, but this allows for a simple one-click installation of Diaspora on Heroku.

Stage 1

The logical next step is to gear up on our documentation. Our docs could cover different tips on configuration, for example. We need to get better docs that fullfill the needs of Developers and Podmins.

  • Surveys will be given to those that run their own pods over problems they've had in the past, what configurations they have, etc.
  • Needs will be put into the Community Documentation Team, which tends over the wiki to help improve it.
  • New developers will be pointed to specific pieces of the docs to help directly answer their questions, and better serve their needs.
  • A new workflow will be established to make it easier for Podmins to report their problems to the community, along with updating docs and better reporting of bugs.

Stage 2

Stage 2 is where we begin to get our hands dirty.

  • Start up Bug Mash Monday again. The point of BMM is to provide some low-hanging fruit to beginners that want to learn more about working with D*.
  • Developers will be encouraged to work with one another on features in teams. Features will be discussed openly on Diaspora-Dev, and community members are welcome to join a team and offer whatever help they can.
  • When a developer makes an announcement to begin work on a new feature, their announcement will be shared out through DiasporaHQ.
  • Community devs will be able to work on whatever they want to, so long as they keep in mind the needs of the other teams. Communication between these teams is absolutely crucial.

Stage 3

Eventually, these teams will gain more members, senior members will have seniority in their respective teams. Some infrastructure might need to be put in at some point for teams to be able to effectively communicate. Maybe we could just encourage them to talk on the mailing lists with group tags in messages.

  • Founding members from successful teams will be given the opportunity to serve on the first Community Council.
  • They will hand down smaller tasks of their own to the newbies on their teams.
  • Council members will sit down and hammer out what’s going to happen with the platform, and what they can realistically do to help get it there within whatever stated amount of time they want the cycle to be.
  • These people will ultimately make the bigger decisions for the things that they work on, but will also hold discussions with their team members and other teams to better direct feature direction and collaborate on needs.
  • A better roadmap will be hammered out by these people to help steer their respective teams to work more closely together.

Stage 4

Once these teams are actively giving PR with good tests, start holding discussions on a more community-centric version of the Diaspora frontend. Figure out what features are wanted, and collaborate with a Design Team to make a default UI that looks great, and works well with the existing featureset.

Stage 5

After there are enough active contributors and development spans multiple teams that have contributed much to Diaspora, have the community council run their first official election. Council positions will be temporary ones in which members can be reelected, with elections happening once a year.

Clone this wiki locally