SME / Contribs.org Draft Constitution Proposal - v0.1.3 in progress (05/03/13)
Goals
This draft will form the basis for discussion and ultimately the appoval of a leadership structure for the SME server project. This draft is living document and once initially approved will be frozen once a year until reaffirmed in the next annual election. A scratchpad version of this document will be freely available in the Contribs.org wiki section for group input and revisions.
In this organizational structure, the community is given an opportunity to provide input into the future of the SME project via the polling mechanism. The developers group will ultimately control the actual direction of the project (as they are doing the work)! It is left to the judgement of the developers group to determine the fair balance between including what they want vs what the community would like to see in future releases. At least the community will now have a method of prioritizing their suggestions.
An effort is made to describe how a Corporate Steward(s) should be linked to the SME community at large. This effort is made to safeguard past and present contributions and to clearly define boundaries and ownership issues.
Top Level Organization
The SME server organization will comprise (or be composed of, take your pick) three primary groups:
- Developers (people who actually work on the code, develop releases and evaluate security issues).
- Communications (people who collect, update and publish documentation. The contribs.org site is included in this group.
- Administrative (people who deal with legal and monetary issues {if any}, deal with the organizational and reporting structure issues, domain and trademark registration, resolve intergroup disputes, etc.)
The standard language of written, IM, teleconference, etc. communications between officers shall be English.
Main Organizational Structure
The SME organizational structure will be defined as follows
Leadership committee
This committee will comprise the group leaders from each group (3 total). The duties of this committee are
- to establish and update the release timeline for the next twelve months (once a month)
- set annual election dates, arbitrate and decide issues between groups
- organize any voting and polling required for group buy-in of any major organizational changes
This group shall meet once a month by either an IM / teleconference / in-person chat on an agreed upon day OR shall correspond over the period of one week (the last week of the month) if email communications are to be employed.
Developers Group
Development Project Manager (DPM)
This person will lead the volunteers in the development group. The duties of this office include:
- Making the final decision of what will be in each release following the prescribed procedures
- Working with the group to see that volunteers are assigned to the tasks needed for each release
- Polling the developers to establish potential successors (preferably two or more candidates) for the next election.
- Coordinating with the Communications group to see that appropriate documentation is prepared to accompany each release prior to the release.
- Communicate to the Administrative Group who is on the team initially and update the Administrative Group as changes occur.
- Resolve disputes within the developers group to avoid any hard feelings and potential forks in the project.
- Accept the recommendations of the Communications group as to what the community would like to see in each release
- Poll the Developers as to what THEY want to see in the next release. These suggestions should generally come from the Communications group list (see above) but can and should include items that the developers feel are important. These additional items should be suggested due to technical, security or stability reasons. The DPM shall include any items suggested by the Security Subteam in the earliest possible release
As there are a number of administrative duties in this position, it is possible that the volunteer needn't be a programming guru.
Security Subteam Leader (SSL)
This person shall lead the volunteers associated with security issues for the SME server. This group is apparently in existance already and the first SSL should be selected from within this group.
- The SSL skillset should be one of an experienced software engineer.
- The SSL will determine who is included in this group.
- The SSL will organize any review of potential candidates prior to their acceptance into this group.
Security Subteam Volunteers
This group is the only closed group in the organization for security purposes.
- The number of members is at the discretion of the SSL.
- People who volunteer will be reviewed by the SSL and/or other team members prior to acceptance using the common judgement and standards established by the security team.
- The terms for the volunteers is unspecified, but new recruits should always be encouraged to keep the team at a minimum staffing level (set by the SSL).
Release Leader(s) (RL)
This/these position(s) shall exist at the discrection of the DPM to offload the work of developing releases.
- The RL's shall oversee the development of the release assigned to them by the DPM to the extent agreed upon between them. An example of this in action might be to have the DPM oversee minor releases while an RL is assigned to oversee an upcoming major release.
- RL's could also be used to develop candidates for the next DPM election.
- The RL's and/or DPM shall have the responsibility to establish testing procedures and scenarios for each release.
- If the DPM is more administratively inclined, the RL's should be experienced programmers.
Developers
This group comprises people who wish to contribute code to the core development of the SME server.
- This is purely a volunteer post.
- People shall be assigned the task that they either volunteer for or are capable of doing and are assigned to do.
- The skillset of this group shall be coding experience at a level set by the DPM.
- The DPM shall be free to establish classes of coders at their discretion to be used to qualify people for coding tasks (example - a junior class to include new programmers that might need additional peer review).
Beta Testers
This group of volunteers comprises people who have the resources to load and test upcoming releases.
- The skillset of this group shall be an experienced user level or above.
- The beta testers shall (at a minimum) run through any test scripts developed by the RL or DPM
- The ability to document and report errors clearly is necessary.
Communications Group
Communications Project Manager (CPM)
This person will lead the volunteers in the communications group. The duties of this office include:
- Making the final decision of what documentation will be in issed for each release following prescribed procedures
- Working with the group to see that volunteers are assigned to the tasks needed for each release
- Polling the volunteers to establish potential successors (preferably two or more candidates) for the next election.
- Coordinating with the Developers group to see that appropriate documentation is prepared to accompany each release prior to its release.
- Communicate to the Administrative Group who is on the team initially and update the Administrative Group as changes occur.
- Resolve disputes within the communications group to avoid any hard feelings and potential forks in the project.
- Plan and execute a polling procedure with the SME community to establish what features and changes they would like to see in upcoming releases.
- Present the Developers group with the results of this polling. The results shall be publicly posted as well.
- Will oversee the development and maintenance of a contributions matrix that lists verified (see below) contributions and which SME versions that they have been verified against.
- The CPM (or DL's {see below}) shall establish a procedure with the Beta Testers to evaluate the ACCURACY of contributed how-to's, etc. Any such procedure must include the original author for the purposes of feedback and syncronization with external websites. Upon completion of said review, the how-to, etc. shall be granted a designation of verified.
- The CPM (or DL's {see below}) shall establish a procedure with the Beta Testers to evaluate the compatability of contributed how-to's, etc. with legacy versions of SME server. Any such procedure must include the original author for the purposes of feedback and syncronization with external websites. Upon completion of said review, the contribution shall be granted a designation of verified.
- The CPM shall designate DL's to oversee the translation of SME documentation into the language of interest to the designated DL.
Webmaster
This position will assume responsibility for the CONTENT and STYLE of the contribs.org website. The Corporate Steward shall be responsible for the hosting and legal issues of the community website. This person may / may not be associated with the Corporate Steward. The duties of this position include:
- Planning and executing any changes to the contibs.org website.
- Coordinating with the Corporate Steward to make arrangements for issues regarding server moves / upgrades, mirroring, backups and other administrative duties.
- Maintaining the subscriber lists and assigning permission / priviledge to volunteers who request the same on an as needed basis.
- Developing and posting (after group approval) the 'terms of usage' for the site. Any changes must be approved by the community. Options for the licensing of content will be presented here.
- Developing and posting (after group approval) the 'privacy policy' for the site. Any changes must be approved by the community.
- Developing and posting a current 'contact us' section for the site. This section will be reviewed and updated on a monthly basis.
- Monitor (or delegate the monitoring of) the generic contact email addresses associated with the contribs.org website. The security contact email address will be monitored by the SSL directly.
- Coordinate with the development group if assistance in 'hacking' the site / modules is required.
- Delegate the responsibility for various sections of the website to other volunteers as duties and / or workloads dictate.
- Arbitrate disputes and make the final decision on content and style issues.
Docuware Leader(s) (DL)
This/these position(s) shall exist at the discrection of the CPM OR Webmaster to offload the work of developing documentation OR maintaining sections of the website.
- The DL's shall oversee the development of the documentation for the release assigned to them by the CPM to the extent agreed upon between them. An example of this in action might be to have the DL work with an RL to develop the docuware that is to accompany an upcoming release.
- DL's could also be used to develop candidates for the next CPM election.
- The DL's should review all documentation for grammar, format and spelling prior to posting / publication.
- The DL's (or CPM) should review all freely contributed documentation for grammar, format and spelling after its posting for website style consistency.
Documentation team
This group comprises people who wish to contribute written or graphical documentation to the core development of the SME server. This group can be extended to provided assistance to the developers of contributions that either contribute their own documentation or ask for documentation assistance.
- This is purely a volunteer post.
- People shall be assigned the task that they either volunteer for or are capable of doing and are assigned to do.
- The skillset of this group shall be the ability to edit the wiki at a minimum.
- No volunteer contributions will be turned away, but submission of documentation should be subject to a minimal review by a DL or CPM.
Administrative Group
This group will oversee legal, monitary, group membership and contact information, and the interface with any Corporate Steward(s). It is envisioned that a Corporate Steward will be associated with the community owned SME project to provide hosting services and oversee the legal and monetary footing for the community. Past and current (at this time of writing) honorees would include Mitel, Resource Strategies, Lycoris, and Ruffdogs.
Corporate Steward
This organization will be a bona-fide business registered with the appropriate governmental authorities. The organization will assume control of the contribs.org content and trademarks, act as guardian of any monetary and intellectual assets, and otherwise act in the best interests of the community IN THE CAPACITY OF A TRUSTEE. The corporate steward shall donate the following services:
- Oversee the provision of, and server administrative functions for, the hosting of the contibs.org website.
- Investigate and pursue the creation of an appropriate legal construct for the SME community. This construct should allow us to obtain a non-profit designation from the IRS. For the sake of argument, in this document, the envisioned construct will be that of a trust. The results of these inquiries will be presented to the community in the form of a recommendation explaining the rational, pro's and con's of said structure via news, forum and mail list postings directing the community to said document. After a suitable evaluation period (four weeks?), follow-up questions will be answered in the same location and a vote notification period of at least two weeks will be given. At the conclusion of the notification period, a vote will be taken over the period of one week. A simple majority of registered contribs.org members will be required to adopt and create said corporate structure on behalf of the community.
- Initially issue and / or follow a pre-existing social contract with the SME server community that describes (but is not limited to)
- The specifics of ownership of the content of the SME server website, core releases and contributions.
- The duties of the community to the Corporate Steward
- The duties of the Corporate Steward to the community
- The procedure and requirements for the selection of a successor to the current steward
- The extent to which it will defend and safeguard intellectual and monetary assests of the community
- Establish and maintain a unique checking account for any SME community monetary funds. The Steward shall be entrusted to provide an annual review of the accuracy of the accounting methods employed by the business agent (an audit). The responsibility and accountability for any fund usage shall lie with the Business Agent. The results of this review shall be communicated to the community.
- If any methods are developed in the future for fund raising / voluntary (by donation) licensing, the steward shall be responsible only for the direct deposit of said funds into the account mentioned above and the generation of receipts and records. No co-mingling of funds will be permitted. Any financial gain from said accounts will be the property of the SME community trust. If any fundraising / voluntary (by donation) licensing mechanisms are developed that involve direct deposit (e-commerce), the Corporate Steward shall establish and maintain any business accounts (Paypal, Visa, Mastercard, etc.) on behalf of the community to offload some of the labor involved in manually handling community funds.
- In recognition of the donation of tangible and intangible services to the SME community, the Corporate Steward shall receive
- The designation as the primary sponsor of the SME server project.
- The right to use the contribs.org (or whatever logo's or IP that contribs owns) in their marketing materials on a non-exclusive basis. This does not include the rights to resell, or represent as their own, any of the content or IP of the SME server / contribs.org community.
- The right to include a "Sponsored by XXXXX" overlay on the contribs.org logo in the SME distributions during the sponsorship period.
These rights will end when Corporate Steward sponsorship is withdrawn. A 120 day notification period before withdrawing Corporate Steward sponsorship will be agreed upon to allow time to develop a transition plan.
Corporate Steward Liason
This position will be an employee, and act as an agent of, the Corporate Steward organization. This person shall be the contact person that the Business Agent and the Leadership Committee will go to with questions and concerns that relate to the Corporate Steward's duties and responsibilities. The Liason will make the arrangements for the annual financial audit between the Business Agent and the designee of the Corporate Steward.
Business Agent
This person will lead the Administrative Group and will assume responsibility for the business affairs of the SME community. This person may / may not be associated with the Corporate Steward. If the Business Agent is associated with the Corporate Steward, this person may assume both the Business Agent and Corporate Steward Liason titles. The duties of this position include:
- Act as the agent for the community when legal documents must be completed / signed.
- Oversee the completion of any tax and / or corporate documents as required by law.
- Creation and maintenance of a database(s) of volunteers and contribs.org members. Data collection will be limited to only relevant items (as determined by the three group leaders). Said items may include names, aliases, contact information, volunteering interests and/or technical talents.
- The adhearance to any privacy policy developed for this data.
- Develop and maintain accounting mechanisms sufficient to describe our financial position as required by law.
- Prepare a quarterly report of our financial position to be posted on the website.
- Prepare an annual report of our financial position for submission to the relevant tax authorities and for the annual audit with the Corporate Steward Liason.
- Shall collect and present the legal, business and other relevant concerns / issues of the other group leaders and present them to the Corporate Steward (via the Liason) for resolution.
- Shall document and file any correspondence, vote / polling results, internal communications and approvals or any other document needed to document, record and prove valid procedural processes have been followed in the conduct of our business affairs.
- The Business Agent may create the posts of Administrative Leader (AL's) as needed to offload tasks and delegate responsibility for different functions as needed due to time and workload issues. The Business Agent MAY NOT delegate responsibilities for any legal matters as the Business Agent is the sole agent for community legal affairs.
- If the group develops any fund-raising / voluntary (by donation) licensing mechanisms in the future, the Business Agent shall
- Collect and record any transactions from the Corporate Steward Liason collected on behalf of the contribs community.
- Collect and record any transactions from any business accounts that have been setup on behalf of the community.
- Issue any receipts for donations to the donors for tax purposes.
- Be responsible for, or delegate the responsibility for, the procurement or generation of any merchandise, shipments of the same, and resulting adjustments for, any fundraising endevours.
- The Business Agent does NOT have the following authorities
- The Business Agent may not spend, encumber or obligate the organization for any bill, fee or other liability that amounts to more than 50% of the available account balance without the prior approval of a majority of the leadership committee.
- The Business Agent may not spend, encumber or obligate the organization for any bill, fee or other liability that amounts to more than 100% of the available account balance (indebt us) without the prior approval of a majority of the registered contribs members that vote on the issue. Standard voting / polling procedures will apply.
- The Business Agent may not transfer any rights, intellectual property, or other assets of the community or transfer said items on an exclusive basis without the prior approval of a majority of the registered contribs members that vote on the issue. Standard voting / polling procedures will apply.
- The Business Agent may not make changes to the organization structure in a de-facto manner, or legally obligate the organization in any way that affects our relationship with our Corporate Steward without consulting and obtaining the approval of the Corporate Steward Liason.
Administrative Team
This group comprises people who wish to contribute to the organizational activities or the conduct of our financial affairs to the advancement of the contribs community.
Terms Of Service
Elected Posts
The elected posts in this organization shall run for a duration of one calendar year. The posts are:
- The Development Project Manager (DPM)
- The Communications Project Manager (CPM)
- The Business Manager
- These terms shall run in sync with our fiscal year used for tax and accounting purposes. It is proposed that the fiscal year follows the calendar year (Jan 1 - Dec 31)
- In the special case of the initial election, the terms shall run for one calendar year PLUS the number of months required to get in sync with the fiscal year. In other words, the first term will run for more than one year.
The office holders may run for re-election once and then must run for a different position or sit-out one term. Four weeks notice is requested if a leader must step down from their position.
Delegated Posts
The terms for delegated posts (RL's, DL's, AL's) shall run for one year OR until the completion of their project, whichever comes first. Upon the completion of a task, the leader may petition for another leadership role. Appointment to another leadership role is at the discretion of the group project manager. In this way, group leadership may change while continutity is maintained for project initiatives. Four weeks notice is requested if a leader must step down from their position.
Group Volunteers
The terms for these volunteer posts is on-going. The volunteers are free to change group memberships, join more than one group, or quit at their discretion. Membership in all groups would cease upon appointment to a delegated post (to allow the proper focus on the new task(s)). Upon the completion of a leadership role, membership in the previous groups would resume. Membership in any group may be terminated for good cause by the relevant group project manager without appeal. This would most likely take the form of removing access to web modules, etc...
Corporate Steward
The term for the Corporate Steward shall be two years, renewable by petition during the bi-annual election. It is possible for other sponsors to petition for the steward position during the bi-annual election.
In the event of dissatisfaction in the community with the current Corporate Steward, the leadership committee shall meet with the Corporate Steward Liason in a timely manner to try to amicably resolve any issues. In the event that a resolution cannot be reached, a confidence vote will be called by the committee to vote on the replacement of the current Steward. The Corporate Steward agrees to abide by the results of this vote and turn over the assets and other IP of the community back to the community after a 60 day notification period.
Standard Voting / Polling Procedures
In order to obtain the pulse of our community in a standardized fashion, standard procedures will be followed in order to:
- Hold elections
- Poll the community for opinions on which direction to follow on contentious issues
- Poll the community and the volunteer groups on what to include in the next release(s)
- Etc.
Election Procedure
The standard procedure for a standard or impromptu poll or election is a follows:
- Announce via postings in the devlist, the general discussion forum and the news section of the website that an initiative will be voted on. This posting will describe the issue and the rational for the proposed changes. If the proposal is lengthy, a link will be inserted that points to the description of the initiative.
- Allow minimum of two weeks before polling starts to allow enough time for all but the most casual visitors to contribs.org to become aware of the vote/poll.
- Open the polling for a period of one week.
- Post the results immediately thereafter and either follow-up on any new issues raised and possibly call for a new vote OR act on the results of the vote.
A simple majority of REGISTERED contribs.org members will be required for a poll to be binding. A minimum response of half of the REGISTERED contribs.org members shall be required for any vote that changes the structure of the organization or changes our constitution.
Polling Procedure
When soliciting input from the community on which features to include in upcoming releases, the following procedure shall be followed:
- The Communications Project Manager (CPM) shall initiate a poll two weeks after the most recent SME release OR when asked to do so by the Development Project Manager. The two week period should allow those unfamiliar with the latest release to read the changelog.
- The CPM shall refer to the Suggestions forum to obtain candidates for upcoming releases. All community members shall be encourage to make their submissions in this forum (or to an alternate location of the CPM's choosing) to eliminate the need to search the entire site for ideas. The number of, and content of responses to, the posts for each suggestion may be used as a guide for which ideas to include.
- The CPM will then select an arbitrary number of ideas (10-20) for inclusion in a poll. The results of the poll will be used to rank order the suggestions submitted to the Developers Group.
- The results of this poll will be presented to the Development Project Manager (DPM). As stated above, the DPM will then merge these ideas with those of the developers group, and they will then decide on what to include in the upcoming releases. They will base their judgement on what is achievable, necessary and useful in the available time period.