Jump to content

Code stewardship

From mediawiki.org
Revision as of 22:22, 11 September 2020 by 2601:902:4280:1480:7167:25f3:8dbd:1004 (talk) (Related: Robert.kimbe)

Overview

Code Stewards are ultimately responsible for the development policies, support, and overall health of the code in question. Despite this responsibility, Code Stewards are not expected to do all the work themselves, instead they should engage with staff and volunteer technical contributors in the collaborative effort. As MediaWiki and its 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 (e.g., 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. The Code Stewardship model was reviewed and ratified by the Wikimedia Foundation's Chief Product Officer (CPO) and Chief Technology Officer (CTO) in early 2018.

Code Stewardship

Code stewardship covers several different areas, included are:

Technical Community Engagement

Although much of what is included in Code Stewardship is focused on technical topics, a Code Steward is also in a great position to help foster a strong technical community for the code in question. A vibrant and engaged technical community is a key success factor for just about any component, extension, or service. To a large extent, areas such as code reviews and code health are directly related to building and supporting technical community engagement.

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 SLOs (Service Level Objectives).

Bug Resolution

Bugs (aka Defects), especially a lengthy backlog, can be seemingly insurmountable. Managing that backlog, ensuring timely resolutions, and applying lessons learned to future development are challenging at best without strong code stewardship.

Code Stewards are responsible for promoting established bug management policies (see Phabricator/Project management) as well as defining bug responsiveness SLOs.

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.

Code storage resate

the code of f thwe dale to 3 point n the ten 20