Process compliance in open source software development - A study of Python Enhancement Proposals (PEPS)
Decision-making processes in proprietary software development are often well-captured. In contrast, stakeholders participating in open source software development (OSSD) projects often do not understand the decision-making processes at work, as these are either captured poorly or remain hidden. Using Python as the case study of an OSS project where the processes are well-documented, this work 'mined' the decision-making processes used to develop Python Enhancement Proposals (PEPs), to study whether the extracted process complied with the publicly advertised process for decision-making (i.e., the prescribed process). In doing so we investigate whether the previously observed normative-descriptive dichotomy in proprietary software development, between the two theories - normative decision theory (i.e., what is expected) and descriptive decision theory (i.e., what is done) applies to the domain of OSSD. We also investigate whether the decision-making processes are provided at the right level of granularity (fine vs. coarse) for different stakeholders. Our findings confirm the lack of process compliance in Python, thus confirming dichotomy. Thus, it validates the relevance of using decision-theory to study decision-making processes in OSSD. Additionally, it confirms the inadequacy of the granularity-level of the available process. We also discuss the implication for decision-making practice and processes in the Python community.