Code stewardship
This page is currently a draft.
|
Overview
Code stewards are ultimately responsible for the development policies, support, and overall health of the code in question. As MediaWiki and supporting services continue to grow and become further depended on by millions of users, it has become increasingly important that the holistic code-base remains healthy and enables the continued evolution of its capabilities.
As a Free and open source code base, MediaWiki and all its extensions, skins, services, and apps have many potential contributors including both paid (eg staff members of Wikimedia Foundation or Wikimedia Deutschland) and volunteer contributors. Code stewardship provides the direction and guidance necessary to ensure all disparate projects have a similar level of code health.
Code stewardship is a layer on top of the Developer/Maintainers list which defines some of the expectations associated with being a code steward.
Stewardship
Code stewardship covers several different areas, included are:
Code Reviews
Reviews are a critical part of the development process, but can be one of the most challenging due to the dependence on others. It is not uncommon to find many patches waiting to be deployed that are being delayed due to a review bottleneck. This can be not only detrimental to the health of the code, but also frustrating for those trying to contribute.
Code stewards are responsible for adopting common review approaches (see Code review), augmenting them if necessary, as well as defining responsiveness SLAs (Service Level Agreements).
Bug Resolution
Bugs (aka Defects), especially a lengthy backlog, can be seemingly insurmountable. Managing that backlog, insuring timely resolutions, and applying lessons learned to future development are challenging at best without strong code stewardship.
Code stewards are responsible for following established bug management policies (see Bug management) as well as defining bug responsiveness SLAs.
Code Health
Whether creating development policies, removing technical debt, or simply ensuring that a code base is easy to work with, it can be challenging to maintain high code health without code stewardship. Code stewards play a critical role in ensuring that those that are contributing to the code are enabled to do so in ways that improve overall code health. Included here are coding standards, testing guidelines, and design patterns.
Stewards
In order to be considered a steward for a component, the person or group needs to commit to meet or exceed the Base Service Level Agreements and agree to be responsible for its overall code health.
Please refer to the Developers/Maintainers page for a listing of existing stewards in addition to component level SLAs.
Base Service Level Agreements (SLA)
Below are the guidelines for the SLA levels.
Production
| Activity | Unbreak Now | High | Normal | Low | Lowest |
|---|---|---|---|---|---|
| Code Review | 1 day | 3 days | 7 days | 14 days | 14 days |
| Bug Fixed | 7 days | 14 days | 30 days | NONE | NONE |
Non-Production
| Activity | Unbreak Now | High | Normal | Low | Lowest |
|---|---|---|---|---|---|
| Code Review | 7 days | 14 days | 21 days | 30 days | 30 days |
| Bug Fixed | 14 days | 30 days | 60 days | NONE | NONE |