diff --git a/Documentation/Community/Units/RulesForTypo3Units.rst b/Documentation/Community/Units/RulesForTypo3Units.rst new file mode 100644 index 0000000..177e113 --- /dev/null +++ b/Documentation/Community/Units/RulesForTypo3Units.rst @@ -0,0 +1,759 @@ +.. include:: /Includes.rst.txt +.. _unit-rules: + +===================== +Rules for TYPO3 Units +===================== + +.. contents:: Table of Contents + :local: + :depth: 2 + +**Note on imperatives:** The keywords must, must not, required, shall, +shall not, should, should not, recommended, may, and optional in this +document are to be interpreted as described in `RFC +2119 `__. + +.. _unit-rules-definition: + +1 Definition +============ + +Units are self-managed groups of TYPO3 contributors working together to +deliver value to the TYPO3 Product within a specific responsibility +domain. Under the leadership of a Unit Coordinator and governed by the +TYPO3 Association, the Units aim to be consensus-driven implementers of +the TYPO3 Product Roadmap and TYPO3 Product Strategy (that is itself +created through input from the Units in the Unit Cooperation Panel) and +the TYPO3 Association Strategy. + +.. _unit-rules-constitution-charter: + +2 Constitution and Charter +========================== + +.. _unit-rules-governing-authority: + +2.1 Governing Authority +----------------------- + +A Unit is created, modified, and terminated as defined in the TYPO3 +Association Bylaws. Where nothing else is defined in the TYPO3 +Association Bylaws, Units shall be considered equal to committees. + +.. _unit-rules-charter: + +2.2 Charter +----------- + +The Unit must have a charter defined by the TYPO3 Association Board. The +charter must define at least: + +1. The Unit’s name +2. Responsibility domain +3. Scope of the Unit’s delegated decision-making authority +4. Names of at least five initial Members + +.. _unit-rules-name: + +2.3 Name +-------- + +A Unit’s name must be the word “TYPO3” followed by a noun or a short +list of nouns describing the responsibility domain followed by the word +“Unit”. Unit names can contain commas and the word “and” to separate +nouns in a list. (Examples: *TYPO3 Knowledge Unit* or *TYPO3 Maintenance +and Security Unit*) + +.. _unit-rules-delegated-decision-authority: + +2.4 Delegated Decision-Making Authority +--------------------------------------- + +The Charter must define and clearly limit which decision-making powers +are delegated to the Unit, represented by the Unit Coordinator. A Unit +can only be delegated powers for operational decisions. + +.. _unit-rules-petitioning: + +2.5 Petitioning +--------------- + +Other TYPO3 Association bodies may petition a Unit. Petitions must be +addressed to the Unit Coordinator. + +.. _unit-rules-size: + +2.6 Minimum Size +---------------- + +A Unit must have five Members including Unit Coordinator and Deputy +Coordinator. + +.. _unit-rules-non-compliance: + +2.7 Non-Compliance +------------------ + +If a Unit cannot comply with the requirements of its Charter or these +Rules, the TYPO3 Association Board must take appropriate action to +rectify it. + +.. _unit-rules-structure: + +3 Structure +=========== + +.. _unit-rules-required-roles: + +3.1 Required Roles +------------------ + +The following roles must be present in all Units. + +.. _unit-rules-coordinator: + +3.1.1 Coordinator +~~~~~~~~~~~~~~~~~ + +.. _unit-rules-coordinator-a: + +a. Tasks +"""""""" + +The Unit Coordinator reports on, prioritizes, delegates, and monitors +the execution of mandated tasks within the Unit and its compliance with +the Unit’s Charter and other applicable rules set forth by the TYPO3 +Association. + +.. _unit-rules-coordinator-b: + +b. Final Say +"""""""""""" + +The Unit Coordinator has final say in all matters concerning the Unit’s +mandated tasks and day-to-day operation. They are expected to emphasize +a consensus-driven approach and should involve the Unit Council in all +major decisions. + +.. _unit-rules-coordinator-c: + +c. Accountability +""""""""""""""""" + +The Unit Coordinator is answerable to the TYPO3 Association Board. + +.. _unit-rules-deputy-coordinator: + +3.1.2 Deputy Coordinator +~~~~~~~~~~~~~~~~~~~~~~~~ + +.. _unit-rules-deputy-coordinator-a: + +a. Tasks +"""""""" + +The Deputy Unit Coordinator’s primary task is to support the Unit +Coordinator and execute tasks as delegated by the Unit Coordinator. + +.. _unit-rules-deputy-coordinator-b: + +b. Acting Unit Coordinator +"""""""""""""""""""""""""" + +If the Unit Coordinator is indisposed or while the Unit Coordinator +position is unfilled, the Deputy Unit Coordinator serves as the acting +Unit Coordinator, taking over all related tasks and responsibilities. + +.. _unit-rules-deputy-coordinator-c: + +c. Rights and Obligations +""""""""""""""""""""""""" + +Unless stated otherwise, the Deputy Unit Coordinator’s rights and +obligations are equal to those of a Unit Member. + +.. _unit-rules-member: + +3.1.3 Member +~~~~~~~~~~~~ + +.. _unit-rules-member-a: + +a. Definition +""""""""""""" + +Unit Members are individuals with relevant knowledge and expertise that +are permanent and consistent contributors to the fulfillment of tasks +under the Unit’s Charter. + +.. _unit-rules-member-b: + +b. Accountability +""""""""""""""""" + +Though Unit Members should be awarded a large degree of freedom in task +selection, Unit Members answer to the Unit Coordinator and must fulfill +delegated tasks promptly and to the best of their ability. + +.. _unit-rules-member-c: + +c. Reporting +"""""""""""" + +Unit Members must keep the Unit Coordinator informed about task status +and must without undue delay report any factor that may affect their +ability to complete a task. + +.. _unit-rules-member-d: + +d. Recruitment +"""""""""""""" + +The Unit Coordinator must define a contact point for prospective Unit +Members and respond to enquiries in a timely and welcoming manner. + +.. _unit-rules-member-e: + +e. Expiry +""""""""" + +Unless the Unit Coordinator decides otherwise, a Unit Member role +automatically expires when a person has had no assigned task or no +activity in the Unit for six months. + +.. _unit-rules-supporter: + +3.1.4 Supporter +~~~~~~~~~~~~~~~ + +.. _unit-rules-supporter-a: + +a. Definition +""""""""""""" + +Unit Supporters are individuals with relevant knowledge and expertise +who intermittently contribute to the fulfillment of tasks under the +Unit’s Charter, as assigned by the Unit Coordinator or their delegate. + +.. _unit-rules-supporter-b: + +b. Commencement and Expiry +"""""""""""""""""""""""""" + +A person attains the Unit Supporter role when a task is formally +assigned to them by the Unit Coordinator or their delegate. Unless the +Unit Coordinator decides otherwise, a Unit Supporter role automatically +expires when a person has had no assigned task in the Unit for three +months. + +.. _unit-rules-supporter-c: + +c. Unfilled Role +"""""""""""""""" + +The role of Supporter may be temporarily unfilled due to recruitment +issues. + +.. _unit-rules-supporter-d: + +d. Recruitment +"""""""""""""" + +The Unit Coordinator must define a contact point for prospective Unit +Supporters and respond to enquiries in a timely and welcoming manner. + +A Unit Supporter should fulfill delegated tasks and meet the +expectations of a Unit Member for at least six months before they may +become a Unit Member. The Unit Coordinator decides on new Unit Members +in consultation with the Unit Council. + +.. _unit-rules-supporter-e: + +e. Accountability +""""""""""""""""" + +The Unit Supporter is free to decline assigned tasks at any time, but +should fulfill any accepted tasks to the best of their ability. + +.. _unit-rules-supporter-f: + +f. Reporting +"""""""""""" + +The Unit Supporter must keep the Unit Coordinator or their delegate +informed about task status and must without undue delay report any +factor that may affect their ability to complete a task. + +.. _unit-rules-council: + +3.1.5 Unit Council +~~~~~~~~~~~~~~~~~~ + +.. _unit-rules-council-a: + +a. Definition +""""""""""""" + +The Unit Coordinator, Deputy Unit Coordinator, and Unit Members +constitute the Unit Council. + +.. _unit-rules-council-b: + +b. Coordinator Eligibility +"""""""""""""""""""""""""" + +Only the Unit’s own Members are eligible to be elected as Coordinator +and Deputy Coordinator of their Unit. + +.. _unit-rules-council-c: + +c. Meeting Frequency +"""""""""""""""""""" + +The Unit Council meets whenever the Unit Coordinator or at least 50% of +all eligible Unit Council members desire it. Meetings should take place +at least once every month. A meeting date and time must be announced at +least seven days in advance, unless 50% of all eligible Unit Council +members agree to disregard this rule. + +.. _unit-rules-council-d: + +d. Meeting Chair +"""""""""""""""" + +The Council meeting is chaired by the Unit Coordinator or their +delegate. + +.. _unit-rules-council-e: + +e. Quorum +""""""""" + +The Unit Council reaches a quorum when half of all its members, along +with either the Unit Coordinator or Deputy Unit Coordinator, are +present. + +.. _unit-rules-council-f: + +f. Majority +""""""""""" + +All Unit Council decisions require a simple majority of the votes cast. + +.. _unit-rules-council-g: + +g. Coordinator Term and Re-Election +""""""""""""""""""""""""""""""""""" + +The Unit Council elects the Unit Coordinator and Deputy Unit Coordinator +for a term of one year and may re-elect incumbents indefinitely. +Elections for a scheduled new term in office must take place 1–3 months +before that term is due to begin. If the office is vacant, including +when the Unit is first established, the Unit Council must elect the role +as soon as practicable, and the elected role’s term begins immediately +upon election. + +.. _unit-rules-council-h: + +h. Coordinator Removal +"""""""""""""""""""""" + +The Unit Council can petition the TYPO3 Association Board to remove the +Unit Coordinator or Deputy Unit Coordinator. For this petition only, a +quorum may be reached without the Coordinator or Deputy present. + +.. _unit-rules-council-i: + +i. Coordinator Petitioning and Council Consultation +""""""""""""""""""""""""""""""""""""""""""""""""""" + +The Unit Council can petition the Unit Coordinator on and should be +consulted in decisions concerning at least these areas: + +1. Appointment of new Unit Members +2. Removal of Unit Members +3. Long-Term Task Prioritization +4. Budgetary Policy +5. Creation and removal of optional structures (see 3.2) +6. Contribution Rules and Acceptance Criteria +7. Petitions by other TYPO3 Association bodies + +.. _unit-rules-council-j: + +j. Supporters’ Rights +""""""""""""""""""""" + +Unit Supporters have no voting rights, but may attend Unit Council +meetings, unless otherwise decided by the Unit Coordinator, Unit Deputy +Coordinator, or Unit Council. + +.. _unit-rules-optional-structure: + +3.2 Optional Structure +---------------------- + +.. _unit-rules-optional-types: + +3.2.1 Types +~~~~~~~~~~~ + +The Unit Coordinator may choose to add the optional internal structures +mentioned in this section to the Unit and delegate tasks to the Optional +Structure’s Coordinator. + +* **Initiative:** A Unit Initiative is a group responsible for + executing a specific task with a clearly specified deliverable and + deadline. The group dissolves when the task is completed. +* **Working Group:** A Unit Working Group is a group responsible for a + specific topic within the Unit’s responsibility domain. The group + exists until it is removed by the Unit Coordinator. + +.. _unit-rules-optional-roles: + +3.2.2 Roles +~~~~~~~~~~~ + +.. _unit-rules-optional-roles-a: + +a. Definition +""""""""""""" + +Optional Structures must have roles that correspond to the required Unit +roles (see 1.2.2) and share similar responsibilities within their +respective contexts. + +* Coordinator, answerable to the Unit Coordinator, etc. +* Deputy Coordinator +* Members +* Council +* Supporters + +.. _unit-rules-optional-roles-b: + +b. Size +""""""" + +Optional Structures must consist of at least two people. Coordinator and +Deputy Coordinator are required roles. + +.. _unit-rules-optional-roles-c: + +c. Inability to Elect Coordinator +""""""""""""""""""""""""""""""""" + +If an Optional Structure consists of fewer than five people and it is +unable to select Coordinator and Deputy, the Unit Coordinator must +disband the Optional Structure. + +.. _unit-rules-optional-roles-d: + +d. Role Elegibility +""""""""""""""""""" + +Unit Members can be Coordinators, Deputy Coordinators, and Members +within an Optional Structure. Unit Supporters can only hold a Supporter +role within an Optional Structure. + +.. _unit-rules-external-affiliation: + +3.3 External Affiliation +------------------------ + +.. _unit-rules-t3a-membership: + +3.3.1 Membership in the TYPO3 Association +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. _unit-rules-t3a-membership-a: + +a. Required Association Membership +"""""""""""""""""""""""""""""""""" + +The role of Coordinator, Deputy Coordinator, and Member in a Unit +requires active personal memberships in the TYPO3 Association. + +.. _unit-rules-t3a-membership-b: + +b. Association Membership Expiry +"""""""""""""""""""""""""""""""" + +If a person’s membership lapses, the membership must be renewed within +30 days. If the person fails to renew the membership within this time, +they lose their role with immediate effect. + +.. _unit-rules-other-membership: + +3.3.2 Membership in other Units +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. _unit-rules-other-membership-a: + +a. Right to Combine +""""""""""""""""""" + +Any role in a Unit may be combined with any role in another Unit. + +.. _unit-rules-other-membership-b: + +b. Duty to Inform +""""""""""""""""" + +Any person with such combined roles must declare them in writing to the +affected Unit Coordinators. Unit Coordinators must declare their +combined roles to the TYPO3 Association Board. + +.. _unit-rules-transparency-reporting: + +4 Transparency and Reporting +============================ + +.. _unit-rules-documentation: + +4.1 Documentation of Decisions, Structures, Authority, and Roles +---------------------------------------------------------------- + +.. _unit-rules-documentation-a: + +a. Type and Platform +"""""""""""""""""""" + +The Unit Coordinator and their delegates must maintain documentation of +all tasks, decisions, structures, delegated authority, roles, and role +assignments. This information must be made publicly available on a +suitable platform, unless the TYPO3 Association Board makes exceptions +to this rule in the Unit Charter. + +.. _unit-rules-documentation-b: + +b. Further Guidelines +""""""""""""""""""""" + +The TYPO3 Association Board may provide further guidelines and +requirements for the information and publication platform. + +.. _unit-rules-reporting: + +4.2 Regular Reporting +--------------------- + +.. _unit-rules-reporting-a: + +a. Regularity +""""""""""""" + +The Unit Coordinator must regularly publish overview reports on the +Unit’s activities and budget status to the TYPO3 Association Members. + +.. _unit-rules-reporting-b: + +b. Report Contents +"""""""""""""""""" + +The report must contain information on active and completed tasks for +the reporting period, as well as a forecast of expected active and +completed tasks for the following period. + +.. _unit-rules-reporting-c: + +c. Publication Platform +""""""""""""""""""""""" + +The report must be published on +`news.typo3.com `__ every three months, unless +otherwise stated in the Unit Charter. + +.. _unit-rules-criteria: + +4.3 Contribution Rules and Acceptance Criteria +---------------------------------------------- + +.. _unit-rules-criteria-a: + +a. Publication and Platform +""""""""""""""""""""""""""" + +In consultation with the Unit Council, the Unit Coordinator must publish +rules and objective acceptance criteria for contributions on a suitable +platform, as specified by the TYPO3 Association Board or the Unit +Charter. + +.. _unit-rules-criteria-b: + +b. Cross-Unit Compatibility +""""""""""""""""""""""""""" + +The rules and criteria should to the largest possible extent be the same +or compatible with the rules and criteria of other Units. + +.. _unit-rules-criteria-c: + +c. Override +""""""""""" + +The Unit Coordinator may choose to override the contribution rules and +acceptance criteria in cases where: + +1. Rules or criteria are obviously lacking coverage for the topic at + hand. +2. The contribution does not comply with the Unit’s Charter or other + applicable rules set forth by the TYPO3 Association. + +.. _unit-rules-criteria-d: + +d. Missing Coverage Handling +"""""""""""""""""""""""""""" + +Where coverage is found to be missing, the Unit Coordinator must amend +the Contribution Rules and Acceptance Criteria without undue delay. + +.. _unit-rules-faq: + +Frequently Asked Questions +========================== + +**1. What role is the Coordinator really?** + It may be good to think of the Coordinator as a project manager, + like what you find in a web agency. A leader with organizing and + delegating as their main task. + +**2. It looks like a Coordinator carries a lot of responsibility and a lot of tasks. How is this realistically achievable?** + It is important to note that one of the Coordinator’s main + responsibilities is to delegate tasks away from themselves. The + workload will differ from unit to unit, but some kind of + compensation will be necessary, either as time donated + individually, from an employer, or as a budget decision by the + TYPO3 Association Board. + +**3. It may be a question of definition exactly what lies within the responsibility of a unit. Who makes decisions in these cases, for example what is defined as a feature or that code should be backported?** + It is the Unit Cooperation Panel’s job to coordinate between the + units and resolve matters of jurisdiction or conflicts of interest + between Units. + +**4. I don’t want someone to decide what I should do. Do I have a place in a Unit?** + Yes, you can be a Unit Supporter. It will be difficult for you to + be a Unit Member because that level of commitment may require you + to fulfill tasks you do not want to do, but that are necessary for + the greater good of the project. + +**5. What happens if nobody wants to take on the Unit Coordinator or Deputy Unit Coordinator role?** + If a unit is without a coordinator because nobody wants to take on + the leadership, this would be a very serious problem. It is the + project’s problem and no longer something unit-internal. It will + have to be escalated to the TYPO3 Association Board and will + probably require re-chartering or re-establishing the Unit. + +**6. What does it mean that the Unit Coordinator is answerable to the TYPO3 Association Board?** + Though the Unit Coordinator is elected by the Unit Council, their + responsibility is to the TYPO3 Project, represented by the TYPO3 + Association. Responsibility for the Association’s day-to-day + operations is delegated to the TYPO3 Association Board by the + General Assembly. If the Unit Coordinator fails to meet the needs + and requirements of the Project, the TYPO3 Association Board may + ultimately remove the Unit Coordinator from the role, and the Unit + Council will have to elect a new Unit Coordinator. + +**7. Does a Unit Coordinator or other person in a Unit role have to be employed by the TYPO3 Association or TYPO3 Company?** + No. There is no rule either way and they may be employed by anyone + or no one, depending on what is the best solution for the + individual and the project. + +**8. What are good examples of a suitable platform for publication of decisions, structures, delegated authority, roles, and role assignments?** + For example, tasks may be made available in a project management + system, decisions in a Git repository, and structures and roles on + a web page. + +**9. Does the Deputy Unit Coordinator as acting Unit Coordinator also answer to the TYPO3 Association Board?** + Yes, since the acting Unit Coordinator takes over all tasks and + responsibilities of the Unit Coordinator, they are answerable to + the TYPO3 Association Board in the same way as any Unit + Coordinator. + +**10. That the membership role automatically expires feels very absolute. What about people taking a sabbatical, for example?** + The Unit Coordinator can make exceptions, but it’s good to have a + general rule with that possibility. The responsibility for + monitoring expiry is currently with the Member first, which is a + way to give people clear responsibilities and not overload the + Coordinator. + +**11. What if a task is too hard for someone to complete or problems show up during the work on a task?** + It is the responsibility of a task delegate to report about task + status and any factor that may affect their ability to complete a + task. Once such an issue has been reported, the person responsible + for delegating the task must try to solve the problem by providing + help, tasking others with providing the help, or delegating the + task to others. + +**12. What are good rules and objective acceptance criteria?** + This is an important topic, but it is beyond the scope of these + Rules to define philosophy. This is a topic for the Unit + Cooperation Panel. It should be a constant point of improvement + and a living discussion within the community at large. + +**13. What happens if multiple units need to have the same contribution rules and acceptance criteria?** + The Units already have a requirement to make their rules and + criteria compatible with other units to the largest possible + extent and the Unit Cooperation Panel is responsible for + coordinating and harmonizing rules. In addition, two or more units + may have a requirement to keep exactly the same rules and criteria + laid down in their respective Unit Charters. + +**14. Why doesn’t these rules define who is allowed to merge code?** + As not all units deal with code and use “merge” as the verb, these + rules use “acceptance” as a more generally applicable word. The + Unit Coordinator is required to publish rules and objective + acceptance criteria for contributions. Ultimately, the acceptance + (for code, the merge decision) is up to the Unit Coordinator, but + this person can also delegate such tasks. + +**15. Why do these rules not address occasional contributions that are made without a task assignment?** + This kind of ad hoc, informal contribution is warmly welcome, but + it comes from outside of the unit, so the rules don’t require them + to comply with any organizational requirements. However, the way + the Unit handles the contribution once it is submitted is covered + by these rules. + +**16. Could the Unit Charter define specific working groups within a Unit including its scope, authority, representation?** + Yes. The charter isn’t limited in scope. A Security Working Group + might need chartered exceptions from transparency and contribution + rules. However, since the Units are self-managed, a top-down + approach to defining the unit’s operational realm would be + unfortunate. Instead, the Charter could mention specific topics + within the unit’s responsibility domain, possibly with modifiers + like “emphasizing” or “ensuring.” Then, it’s up to the unit to + define its organization. + +**17. What is a petition?** + A petition is an instrument mentioned in the TYPO3 Association + bylaws. The word means a formal written request or complaint + requesting a particular action, commonly a change in policy or the + correction of a wrong. For Units, petitions also provide a single + point of contact through which requests can be made. + +**18. What are examples of TYPO3 Association bodies that can petition Units?** + Committees and units, but also the General Assembly, Board, or + Business Control Committee, can formally petition a Unit. Even + bodies that have decision-making power over Units may choose to + petition them instead. In that case, the wish is clear, but the + final decision is left up to the decision-making processes of the + Unit. + +**19. What happens if the Coordinator and Members do not allow new supporters to become a Member?** + Though hopefully avoidable through unit size, it is a potential + risk that the Unit decides to become closed to new members. Such a + unit would be dysfunctional, requiring the TYPO3 Association Board + to take action. If someone doesn’t feel welcomed into a unit, they + should contact the Ombudspersons or the TYPO3 Association Board. + +**20. How do we handle cross-concern initiatives, like today’s Stats Initiative?** + This could be an initiative under the Feature Unit, but people + from multiple units can participate in it. However, it would have + to be founded in one Unit, with a coordinator from that unit. + +**21. How can cross-cutting requirements, like accessibility, be applied in all Units, not just Stability & Compliance, where the accessibility topic belongs?** + Accessibility is a compliance topic, but the Stability & + Compliance and Feature units will have to work closely on this on + a bilateral level. Certain types of required cooperation should go + into their charters too. The Unit Cooperation Panel can also be + involved, but under a more general inclusivity umbrella that + includes the non-technical units too.