SME Server:Constitution
SME Server Community Constitution
Goals
The primary goals of formally organizing the SME Server Community are to
- Foster and support the activities of the SME Server community of users and developers
- To encourage communication and collaboration between community members
- To provide for the continued growth and viability of the SME Server distribution
In this constitution, the SME Server community will formally organize to provide support for the SME server developers as well as organize and participate in projects and initiatives to improve support, documentation, training, contributions, marketing and promotion of the distribution. It is hoped that the close level of cooperation between all parties will allow the community to have and provide input into the future of the SME Server.
To support these goals, we have tried to limit the amount of detail in this document to what we believe is necessary to provide structure and resolve conflict when organizational or procedural issues arise. Where possible, a minimalist approach will be taken, with specific details left to supporting documents.
All of the positions and roles described in this document are staffed by volunteers, who provide their time and skill for the benefit of us all. It is expected that due notice will be taken of this fact by all levels in the organization, and allowances made for conflicting duties and commitments.
In particular, production timelines should be in the form of goals rather than strict deadlines. It is hoped that volunteers will not make commitments here that they can't keep (and they will graciously accept help from others or offload some duties when it makes sense to do so).
Acknowledgments
A complete list of all the people to whom we are indebted, starting with GNU/Linux, would fill a book. However, it is especially important to acknowledge our debt and our gratitude to the following people/organizations:
- Joseph Morrison/e-Smith, Inc. - first he dreamed it, and then he made it happen
- Mitel Networks, Inc. - for saving it, then for setting it free. Mitel continues to support ongoing development of the SME server.
For providing the base distribution to the Linux community:
- Red Hat, Inc.
- Fedora Legacy
- CentOS
It is our intention to behave ethically and responsibly with these contributions, and to respect the licenses of all software included in the distribution.
Top Level Organizations
The SME Server community will operate as a non-profit corporation named SME Server, Inc., operating in the state of Colorado, U.S.A. The corporate sponsor shall provide the legally required minimum number of officers for the corporation. This / these officer(s) will report to, and may be part of, the Board of Directors. The duties of this / these officer(s) shall include, and not be limited to, adherence to all legal requirements on behalf of SME Server, Inc., prudent and transparent management of any funds, full disclosure (and prior agreement to proceed) of any legal encumbrances prior to their enactment, and shall file and maintain copies of any and all applications, registrations, tax forms, etc., as required by the laws of the United States and the state of Colorado.
The SME Server Organization
This organization shall be the sole guide of the activities of the members of the SME Server community in pursuit of the goals listed under the Goals section above. For the purposes of this document, the SME Server community shall be deemed to consist of any person who has registered on the SME community website and has obtained an account. Anyone may do this, and become a member of the SME Server Community, regardless of any organizational affiliation(s).
The SME server organization will be composed of three primary groups:
- Development Group (people who actually work on the code, develop releases or contributions and evaluate security issues).
- Communications Group (people who collect, update and publish documentation. The SME Server site is included in this group.
- Administrative Group (people who deal with legal and monetary issues {if any}, deal with the organizational and reporting structure issues, domain and trademark registration, resolve inter-group disputes, etc.).
The standard language of written, IM, teleconference, etc. communications between officers shall be English. All dates will be written with the month in words, e.g. 16 May 2005
Leadership committee
This committee will be composed of the group leaders from each of the three primary groups (3 total). The duties of this committee are:
- organize and conduct any voting and polling required for group buy-in of any major organizational or constitutional changes
- set annual election dates, arbitrate and decide issues between groups
- be the final arbiter of any disputes not resolved at a lower level.
Each member of the Leadership Committee shall have one vote on any committee decision. Any decision(s) made by the Leadership committee must be unanimous.
This group shall meet once a month, and is empowered to include a secretary, meeting facilitator, community member, corporate steward, or any other person that is deemed necessary, to attend the meetings as a non-voting member. Meeting minutes (or a summary) will be relayed to the community in a timely manner.
SME Server, Inc.
SME Server, Inc. will be governed by a Board of Directors, initially numbering five (5) directors in total, three (3) from the SME Server Leadership Committee and two (2) from the Corporate Sponsor. The Board may vote to increase the number of Directors, or add Advisers at its discretion.
The Board of Directors shall concern itself, broadly, with legal and organizational issues arising from the existence of SME Server, Inc., and the financial activities of this corporation. In particular, it shall be responsible for, or may delegate and review, receiving any community donations, establishing bank and investment accounts, paying any obligations, establishing funds for such purposes as bounties, and so forth.
The initial members of the Board of Directors shall be the three elected members of the Leadership Committee, and two members chosen by the Corporate Sponsor. The Board members will not be paid for their service by SME Server, Inc. Their areas of interest on the Board of Directors shall be related to their roles in the SME Server Organization, in the following manner:
Board of Directors Role | Leadership Committee Role |
---|---|
President | The Business Agent |
Vice-President of Development | The Development Group Manager |
Vice-President of Operations | The Corporate Sponsor Liaison |
Secretary | The Communications Group Manager |
Treasurer | The Corporate Sponsor appointed Treasurer |
These positions may be filled by corporate officers, but this is not a requirement.
If, for any reason, an elected member of the Leadership Committee is legally barred from becoming a Director of SME Server, Inc., the existing Board of Directors shall appoint a community member in good standing to serve in his or her place.
Because conflicts of interest are possible in this situation, each Board Member should declare any financial or any other relationships with any other Board Member, the Corporate Sponsor, any vendors, affiliates or customers of these, or any other conflicts of interest. The Board member must declare their conflict of interest at the time and should abstain from voting on any item(s) affected by this conflict while conducting SME Server Organization or SME Server Inc. business.
The Board of Directors will schedule meetings as needed, but in no case less than the minimum number required by law. This group shall meet by either an IM / teleconference / in-person chat on an agreed upon day OR shall correspond over the period of one week if email communications are to be employed. Every attempt will be made to accommodate board members that cannot be present in person due to geographical distances and time zone differences. If a synchronous meeting type is chosen, the time of this meeting will be rotated, as much as practical, to accommodate Board Members resident in various time zones, in a manner consistent with the percentage of members in each time zone.
Each board member present or remotely participating in, at any meeting shall have one (1) vote. A simple majority of voting directors will be required to enact any business. No quorum is required. To encourage free and open discussion, the outcome of any votes taken will be published as unanimous. The Board is empowered to include a secretary, meeting facilitator, community member, corporate steward, or any other person that is deemed necessary, to attend the meetings as a non-voting member.
The board may, at its discretion, choose to adopt operations rules such as Robert's Rules of Order, and/or create bylaws to guide to guide how operations are conducted, or choose to operate informally. Meeting minutes and records of any activities undertaken by the Board of Directors shall be kept. These documents, the financial records of SME Server, Inc., and any documents caused to be created by the board, or that are legally required, shall be made available to the public and posted on the website in a timely manner.
Developers Group
Overview
The developers group, supported by the Development Manager, can be split into four areas:
- Core Platform Developers
- Contrib Developers
- Maintenance Team
- Support Team
Note that any individual volunteer may hold more than one role on more than one team.
The Development Manager (DM) will strive to support the efforts of all groups.
Core Platform Developers
The Core Platform Developers are responsible for the development of the core packages that make up the SME Server and for alignment with any upstream releases upon which the server is based. The output of this group is a set of packages that can form a new release. One becomes a core developer by volunteering and demonstrating competence to the current developers.
Contrib Developers
The Contrib Developers are responsible for packages that add functionality to an SME Server release. These packages are not part of the release, but some may be included in future releases. Others will always be maintained as separate packages. The output of this group is a set of "contribs", each of which may be composed of multiple packages. One becomes a contrib developer by either volunteering or developing and announcing a package.
Maintenance Team
The Maintenance Team is responsible for releases after their release. The output of this team is a set of packages that should be applied to previous releases to maintain its functionality. The updates are not intended to extend the functionality of the release. The updates will include bug-fixes and security updates. One becomes a maintenance team member by volunteering.
There is also a closed sub-team, the Security Team, that will review security issues. It is expected that there will be some overlap between the core platform developers group and security sub-team. This group is the only closed group in the organization for security purposes. One becomes a member of the Security Team by application to the Development Manager, and approval by the existing Security Team members. The Development Manager will be a member of the Security Team.
Support Team
The purpose of the Support team is to help the other three teams as requested. The primary focus is on providing support services to developers, in any component category.
The Support team will be formed by the Development Manager.
Development Manager (DM)
This person will lead the volunteers in the support team. The DM is primarily a facilitator. The DM is an elected post, elected by the entire community, with a term of one year. The duties include:
- Facilitate the development of SME Server.
- Communication with all of the other groups and represents the Developers in these discussions.
- Communication with the teams within the Developers Group.
The Development Manager will also have the role of Vice-President of Development in SME Server, Inc., and will sit on the Board of Directors.
The Development Manager is specifically empowered to create and dissolve roles within the Support Team to delegate and accomplish the responsibilities listed above. These roles shall be carefully chosen and filled, based on the needs of the developers groups, the responsibilities listed above, and the available time and resources.
A non-binding list of these roles, titled "Developer Group Roles", is available in association with this constitution. This list is intended to be for reference only.
It is expected that each group will generate a living set of guidelines (similar to the "Guidance Document" associated with this constitution), for the practices and operation of that group. These guidelines will be maintained by the DM.
Communications Group
Overview
The communications group, supported by the Communications Manager, can be split into four areas
- SME Documentation Team
- Translations Team
- Web Site Team
- Org Support Team
Note that any individual volunteer may hold more than one role on more than one team. The Communications Manager (CM) will strive to support the efforts of all groups.
SME Documentation Team
The SME Documentation Team is responsible for all the documentation for SME Server and add-ons. This documentation should be available online and as downloadable files. The types of documentation include:
- Manuals, User Guides, Admin Guides
- Introduction to SME (Welcome, Download, Template system, etc.)
- SME Security Guide
- Feature Guides (mail subsystem, antivirus, etc.)
- Developer Guides (roll RPMs, contrib testing, any requested help with contrib documentation)
- Howtos (writing Howtos, and/or accepting submissions)
- Changelogs and Package Lists
It is not necessary to be a team member to write documentation - all documentation will be freely accepted. Documentation should be submitted to the CM so that it can be properly categorized and included in the website.
Any tools used for the purposes of SME Documentation are the responsibility of this team.
SME Translations Team
The SME Translations Team is responsible for making documentation available in all the languages for which there are sufficient interest and resources. The translations should be available online and as downloadable files. The primary sources for translations will be: - The developers group (server-manager panels, installation text, etc.) - The SME documentation team - Contributed Howtos
The primary goal of this team is to make SME Server usable to the international computing community. As time and resources permit, attention will also be paid toward making documents created in other languages available in English.
Any tools used for the purposes of translation are the responsibility of this team.
Web Site Team
The Web Site team is responsible for all the features and activities on the community website(s). This team is led by the Web Administrator, who shall have the ability to create roles in the team to carry out the duties of the post (monitor mailing lists, create sub webs, assist with contrib projects, etc.).
The community Web Site Team will follow the principle of least access: the members performing each role will have the access to any sections, sub webs, or virtual domains necessary to fulfill their duties, and no more. The Web Administrator will prepare a report listing all members with extraordinary access twice a year at a minimum. This report will be available to the public.
To guard against accident, at least three people will have full administrative access to the entire web site. This number will include any server administrators at the hosting provider that have the ability to grant full administrative access to the web site. Only one of these people, the Web Administrator, or delegate(s), will actively administer the site at any one time.
Org Support Team
The Org Support Team is responsible for any documents concerning the community. This is not intended to include SME documentation. The types of documents include:
- Policies, procedures, and process documentation
- Official community documents, such as the constitution, guidance's, etc.
- Community introduction, Guides
- Volunteering, How Do I get involved?
- Documents that explain legal or official business documents in understandable terms
The Org Support Team will maintain a repository of any legal documents, contracts, etc., make this repository available to the community, and keep it up to date.
The Org Support Team is not empowered to create or sign contracts, financial encumbrances, or other legally-binding documents. This is the responsibility of the Leadership Committee. The Org Support Team is to make up-to-date web copies of these documents available to the committee.
All policies, procedures, guidance documents, etc., shall be available to the public.
Communications Manager (CM)
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 issued for each release. The outgrowth of this work will be a documentation policy, such that everyone knows what documentation to expect and plan for on future releases.
- 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.
- Communicate to the Administrative Group who is on the team initially and update the Administrative Group as changes occur.
- Evaluating submissions for News items for the community.
- Making the final decisions on news releases about SME server that we distribute to the public at-large.
- Plan and execute a polling procedure with the SME community to make suggestions about what features and changes they would like to see in upcoming releases, contributions and/or how-to.
- The CM shall designate TM's to oversee the translation of SME documentation into the language of interest to the designated DL (please refer to the roles document).
- Ensure that a changelog and release notes are available to be included with any new release.
The Communications Manager will also have the role of Secretary in SME Server, Inc., and will sit on the Board of Directors. The Secretary, or delegate, shall be responsible for taking and keeping meeting minutes, and posting all board documents to the community website.
Web Administrator
This position will assume responsibility for the content and style of the community website, within the broad directives of the Leadership Committee, and the administration of the web applications used in the website, in association with the Hosting Provider, or representative. This position is to be filled by a suitable volunteer chosen by the Leadership Committee and the Corporate Steward. The duties of this position include:
- Planning and executing any changes to the community website. - Coordinating with the Corporate Steward/Hosting Provider to make arrangements for issues regarding server moves / upgrades, mirroring, backups and other administrative duties. - The Web Administrator is to be the single point of contact between the Hosting Provider and the community with regard to technical issues of server administration, and shall keep the Leadership Committee advised about such issues (backups, server utilization, server/site responsiveness, database optimization, etc.) - Maintaining the subscriber lists and assigning permission / privilege to volunteers who request the same on an as-needed basis. - 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 community website. The security contact email address will be monitored by the SSL directly. - 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 - Post news items approved by the Communications Manager.
Administrative Group
Overview This group will oversee legal, monetary, 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 or arrange for hosting services and oversee the legal and monetary footing for the community. The guidance for the relationship between the Corporate Steward and the community will be a Social Contract. The Administrative Group will be led by a Business Agent. The Business Agent (BA) will strive to support the efforts of all roles in the Administrative Group.
Business Agent
This person will lead the Administrative Group and will assume responsibility for the business affairs of the SME community. This person shall serve as Chairman of the Board of SME Server Inc. The duties of this position include: - Act as the agent for the community when legal documents must be completed / signed. - Oversee or delegate the completion of any tax and / or corporate documents as required by law. - 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 Liaison) for resolution. - 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) as needed to offload tasks and delegate responsibility for different functions as needed due to time and workload issues. This delegation may include financial activities, reporting, disbursement of funds, etc.
The Business Agent shall be responsible for monitoring license compliance for the community, ensuring both that the community adheres to the provisions of the licenses of the software that we use, and that any licenses applied to software created by community members are enforced.
The BA shall create a license enforcement team to carry out this directive. The team will broadly ensure that any material on the community website or in the community software distribution channels that is involved in any licensing or other IP dispute is promptly withdrawn. The material shall be withheld from the community until a resolution is reached that either allows its publication or mandates its deletion or modification. All community volunteers and members have a duty to make such issues known to the BA promptly so that legal problems can be avoided. The BA is given the authority to direct the CM and/or DM to remove the specified materials immediately. The BA will also function as the liaison with other external entities to promptly resolve these issues.
The team will: - Maintain a list of the licenses for all packages used in the SME Server OS. - Monitor these packages for compliance, and for any license changes by the originator or packager. - Maintain list of appropriate places within the SME Server distribution for copyright assertions. Work with any individual who contributes to SME Server to ensure that any code has a copyright notice in the appropriate place(s). Monitor any re releases from other groups for the appropriate copyright notices - Respond as quickly as possible to any license disputes. - Fully document any processes, contacts, procedures, etc., used for this purpose. - Engage the copyright holder as required to ensure complete understanding of the license(s) in question and arrange for the possibility of any enforcement action. - Contact any organization that is deemed to be in violation of our licenses, and work with them to achieve compliance. - Engage the Free Software Foundation (FSF) as required to address any questions concerning licensing, and to investigate any enforcement actions that may become necessary. Assemble all documents, contacts, test results, etc., prior to contacting the FSF, and follow the process(es) they have created for this purpose. - Contact any appropriate organizations to bring our licensing disputes into the public arena.
It is the specific intent of this section of the constitution to require that the SME Server community operate and remain in the strictest compliance with the licenses of others, and to attempt to resolve any dispute as quickly and amicably as possible. In particular, any enforcement actions or public notices of perceived license violations shall only occur after a thorough study of the issues involved, appropriate advice has been gathered, and multiple attempts to resolve any issue have failed.
Administrative Team
This group is comprised of people who wish to contribute to the organizational activities or the conduct of our financial affairs to the advancement of the community.
Corporate Steward
The Corporate Steward will be a bona-fide corporation registered with the appropriate governmental authorities. The corporate steward shall donate the following services:
- Oversee the hosting of the community website. - Provide the legal means for the existence of a non-profit organization to represent the SME Server community. This organization will be named SME Server, Inc., and will be registered with the appropriate government authorities. The non-profit organization will assume control of the community website content and trademarks, act as guardian of any monetary and intellectual assets, and fulfill any legal requirements for its existence. SME Server, Inc. will be controlled by a Board of Directors. - Provide services for the day-to-day operations of the SME Server Inc. These operations include, but are not limited to, collection of donations and/or revenues, collecting mail, setting up merchant accounts, payment of pre-approved expenses (domain renewals, etc.), file required reports and tax statements with the government, and so on. - 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 relationship of the community to the Corporate Steward and any duties pertaining thereto. - The relationship of the Corporate Steward to the community and any duties pertaining thereto. - The extent to which it will defend and safeguard intellectual and monetary assets of the community
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 name two of the five original members of the Board Of Directors of SME Server Inc. These members will be the Corporate Steward Liaison and the Treasurer. - The right to use the community logo and name in their marketing materials on a non-exclusive basis. This does not include the rights to represent as their own any of the content or IP of the SME server or the community. - The right to display their logo, name, or other branding material on the community website and on any community marketing materials for SME Server.
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. At a minimum, this transition plan will provide for the transfer of ownership of the non-profit organization, and the transfer of any assets with it, before the Corporate Steward can withdraw. Existing SME Server, Inc. personnel (if any) will work with the incoming personnel during and/or after this period to ensure a smooth transition.
Corporate Steward Liaison
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 Liaison will make the arrangements for the annual financial audit between the Business Agent and the designee of the Corporate Steward.
Hosting Provider
This is the organization that provides hosting services for the community website. This organization may or may not be the same organization that has the role of Corporate Steward. The duties of the Hosting Provider include, but are not limited to: - To provide hosting, and server administrative functions for, the community website. - To provide sufficient bandwidth to accommodate the average number of simultaneous users on the website. - To allow sufficient access to the server to maintain and extend the community website. - To work with any parties that wish to provide mirroring and/or site backup services for the community.