Code ownership explained

In software engineering, code ownership is a term used to describe control of an individual software developer or a development team over source code modifications of a module or a product.

Definitions

While the term is very popular, there is no universally accepted definition of it. Koana et al., in their 2024 literature review, found 28 different definitions, and classified them as follows:

Authorship

Some researchers also use the term to describe the authorship of software (identifying who wrote a particular line of software). Koana et al. state that this is a different, although related, meaning, as the code owner might not be original author of the software piece.

Influence upon quality

It is generally accepted that the lack of clear code ownership (usually in the form of many developers freely applying small changes to a shared piece of code) is causing errors to be introduced. At the same time, with no code owner, the knowledge about an artifact can be lost. This is confirmed by large-scale studies, for example, involving Windows 7 and Windows Vista.

Code owners in version control

Modern version control systems allow explicit designation of code owners for particular files or directories (cf. GitHub CODEOWNERS feature). Typically, the code owner is either receiving notifications for all the changes in the owned code or is required to approve each change.[1]

Sources

Notes and References

  1. Web site: About code owners . GitHub.