Who controls your project? Governance in the real world
Many FOSS projects have a carefully designed governance. But to which extent that governance fits the real inner life of the project? In this talk I will present some ways of measuring to which extent governance may be subverted (or not) by real practices, how that can be detected, and tracked. From this base, I will show how a continuous tracking of those behaviors can contribute to a more fair development community, and to increase the trust in the project. The discussion will be framed by the concept of "open development analytics".
Many FOSS projects have developed governance rules. Specially when companies are involved, those rules model the ethos of the project. They may try to avoid, for example, that a single company controls the main aspects of the development process. Or that independent developers are treated equal than those employed by companies. Or that the "old generation" doesn't have an overwhelming weight in decisions. Usually, those rules define governing bodies, how they are elected, and which binding rules those bodies may produce. Therefore, governance is enforced as a kind of "law" for the project.
But you have law, and you have reality. In the case of FOSS projects, you have bylaws, governing bodies, approved codes... and then you have tools, development practices, and developers. The fact that most of the development actions are mediated by tools allows for the examination of what is happening in the project. From there, you can learn to which extent that conforms with the governance envisioned. In other words, tools can be examined, to see to which extent the reality of the project fits what the project wanted them to be.
The talk will show how using simple software development analytics some specific areas can be analyzed from this point of view. For example, a good proxy for who soft-controls a project is who is contributing to it (authoring code, reviewing code, closing tickets, participating in discussions). A good proxy to how fair it is to developers is how they are treated in the code review process when they propose changes. And that way, several metrics can be defined to help understand what is really going on.
All of this will be framed using the concept of "open development analytics". Open development analytics can be understood as a step forward in project transparency and community openness. They can be used to provide useful about how the project is really behaving, so that anyone can detect problems and deviations from the intended behavior. I will explain how this makes the project more resilient, its supporting community more self-aware, and helps increase trust by third parties.
|Jesus M. Gonzalez-Barahona|