Open development processes and reddit charms



Summary:

The open source development process can be reviewed periodically to provide a case study and an introduction of OSS processes for newbies. Openness is the default practice in open source development, which means it is normal to air dirty laundry in public. Transparency also means that engineers who are employed by different organizations with different strategies and motivations will sponsor work they find beneficial. However, this competing interest often leads to conspiracy theories about Bitcoin Foundation, Blockstream, BitPay, various altcoin developers, and more. In terms of technical debt, cosmetic patches such as code movement can disrupt developers working on non-trivial features that take longer to develop before going upstream. Each upstream breakage incurs social debt, which discourages developers from working on the tree. A steady flow of code movement and cosmetic breakage into the tree may be a net gain, but it also incurs a lot of social debt. Bitcoin Core is pulled in opposite directions, as the codebase needs further refactoring yet for non-trivial projects, refactoring is always anti-social in the short term. Finding the right balance is key, much like "feature freeze" in other software projects. Developing a policy that opens and closes windows for code movement and major disruptive changes seems prudent, part of open source parallel development is social signaling. Recent code movement commits themselves are individually ACK-worthy, professionally executed, and moving towards a positive goal. However, the project could strike a better balance when it comes to disruptive cosmetic changes, a balance that better encourages developers to work on more involved Bitcoin Core projects.


Updated on: 2023-06-09T14:53:08.716526+00:00