[oi-dev] Governing + Developer Councils + Teams
alasdairrr at gmail.com
Tue Sep 28 23:25:57 UTC 2010
One of the outstanding things we need to do as a project is set up the governing structure so the project is more democratic and inclusive.
Having discussed this with a few people, I'd like to propose the following structure:
1. OpenIndiana Governing Council (OIGC)
Consists of 5 people. Purpose is to make decisions regarding the strategic direction of the project, and generally guide the project in a forward direction. Would include resolving conflicts.
The OIGC should have regular meetings to discuss the progress of the project, probably once per month.
2. OpenIndiana Developer Council (OIDC)
Consists of 9 people. Purpose is to make decisions regarding the development of the project. This would consist of ensuring builds happen, making key decisions regarding development of the project, setting schedules, resolving development conflicts, etc. They will be responsible for managing the teams, appointing/firing team leaders, etc (see later on).
The OIDC should be in frequent communication, especially if we're to get twice-monthly builds done.
For the above two councils, we should obtain nominations and hold votes at some point in the near future (once oi_148 is complete seems a reasonable time schedule).
Then to manage the project, we will need a set of teams with well defined remits/responsibilities, providing accountability etc, so when schedules slip, we know who to go to to get the situation resolved and things back on track. Each team will consist of a team leader, and depending on the size of the team 1 or more assistant-team-leads (Who can fill in in the absence/unavailability of the team leader)
Here is the list of teams I came up with:
1. Infrastructure Team
Responsible for looking after the OpenIndiana infrastructure, including the build servers, LDAP+Kerberos servers, mercurial server(s), monitoring server(s), mirrors, pkg servers, etc.
This team will no doubt consist of a set of sub-teams for each of the above servers. We should aim to have at least 2 people familiar with the setup of each server, so we never/rarely get blocked waiting on someone who isn't around.
2. Release Engineering Team
This team will be responsible for getting builds produced each month. The team will almost certainly need a team leader and two assistant team leads, who will take responsibility for chasing the consolidation builders.
The RE team will distro-import, place the packages on our staging PKG server, and assemble LiveCD/AI CD/Text Installer CD ready for the QA Team to test. Once the test is done RE will deliver the build to the mirrors and production pkg server.
3. Consolidation Builders Team
This team will no doubt be the largest, and will include sub teams for each consolidation (although some of the smaller consolidations can be managed from a single team (eg vpanels/admin/sic_team)). There will be 1 consolidation team leader with 2 assistant team leaders. They will be responsible for ensuring that the consolidations get built on time and delivered to release engineering. If there are holdups with any consolidations they'll need to report this to the RE team (and probably the OIDC).
4. Website, Wiki & Marketing Team
This team will be responsible for looking after the website, ensuring content gets kept up to date. The team will also look after the wiki, Wikipedia page, and any other website related content. They will also be responsible for marketing the OS and evangelising.
They should also liaise with the various OSUG groups around the world to ensure OpenIndiana is represented worldwide.
5. Internationalisation & Translations Team
This team will be responsible for ensuring the distribution and web based materials/resources are internationalised, so OpenIndiana can be used by a worldwide audience.
The team will need a leader who can successfully manage quite a large number of people from around the world who want to contribute but don't necessarily have great technical skills. They will need to be good at delegating and assembling a team to take care of this.
6. Bugs & QA Team
This team will be responsible for triaging the bugs submitted to the bug tracker, including chasing these up with RE/Consolidation Builders. They will be responsible for testing each release before it is made publicly available, so that respins can be conducted.
7. Security Team
This team will be responsible for keeping up to date with the various security lists and notifying the consolidation builders when vulnerabilities are found. It would be advantageous if the security team could supply patches to the consolidation builders that fixes the issue, or supply as much info as possible.
This team will need a team leader and most likely one or more assistant team leaders, as this role is very important.
I think this just about covers it.
If anyone is interested in being a team lead, or joining any of the above teams, please reply to this email and I'll put you down on the Wiki. Please don't apply to be a team lead if you're time-poor and might not be around for whole weeks at a time (although feel free to say you're happy to be an assistant team lead).
Hopefully structuring things in this way will get things moving faster. At the moment most decisions/issues are sent directly to myself, and I am the biggest bottleneck for the project. I am hoping to devolve this to people more qualified than myself in the respective areas - its impossible with a project of this size for me to follow all areas in great depth. I will help in as many areas as I can but I will not be team-lead on any of the above teams. I will be a team member and I will apply to be voted into the OIGC and OIDC, but for the project to thrive, specialists in each specialist area are needed :)
Looking forward to a bright future working with you all!
More information about the oi-dev