!!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 represent 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.