Code ownership
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:- Psychological ownership is a feeling by the developer of ownership and pride in the particular element of the project;
- Corporeal ownership is a set of formal or informal rules defining responsibility for a particular software piece. The rules depend on the development approach taken by the team, but generally can be partitioned along the lines of "what is being owned?" / "who owns it?" / "what is the degree of control?":
- * while the answer to "what?" is typically some part of the source code, the ownership concept have been also applied to other artifacts of the software development as diverse as an entire project or a single software bug;
- * the owner might be an individual developer or a group that might include authors of the code, reviewers, and managers. The two extremes are represented by a dedicated ownership with just one developer responsible for any particular piece of code and a collective code ownership, where every member of the team owns all the code;
- * the degree of control by an owner can vary from a mandatory code review to responsibility for testing to a complete implementation.
Authorship