Why do we now have a BIP course of?
All concepts for Bitcoin clearly do not want and should not have a BIP. If a pockets developer has an concept to enhance say the graphical person interface (GUI) for the pockets they’re engaged on there is no such thing as a must formalize this concept within the BIP course of. Even when it was wildly profitable and each different pockets within the ecosystem ended up copying the characteristic there aren’t any cross compatibility points. Each pockets can independently select whether or not to implement the characteristic and make tweaks to the characteristic with out impacting the broader ecosystem. To encourage different wallets to implement the characteristic the developer may doc the characteristic of their pockets repo or a design repo like Bitcoin Design. Builders are free to experiment and implement the concepts with out interacting with the BIP course of.
Nevertheless, there are examples the place you both want the complete ecosystem to converge on a single normal/specification or no less than it might be strongly preferable that they do. Essentially the most excessive instance is consensus guidelines. In contrast to the pockets GUI instance, if two Bitcoin implementations experiment with completely different consensus guidelines on mainnet then they will break up the community and create two blockchains with a shared historical past. A formalized BIP course of brings further scrutiny and readability to an rising (and in the end finalized) proposal separate from any specific Bitcoin implementation.
It looks as if pointless centralization and introduces gatekeepers (BIP editors) and bottlenecks.
Agreed that these would usually be thought-about downsides. If the upsides of the BIP course of had been non-existent (or minimal) then there could be a robust argument to discontinue the BIP course of. I might argue although that the upsides mentioned above strongly outweigh the downsides. Not just for consensus guidelines however for any examples the place a single normal is preferable to each social gathering within the ecosystem implementing totally completely different approaches.
If one thing makes it into Bitcoin Core and/or different implementations and customers run that code then certainly whether or not it has a BIP or not is totally irrelevant.
There’s an argument for this however as mentioned right here we do not need to hitch Bitcoin’s safety and consensus guidelines to a single implementation completely. There isn’t any forged iron assure that Core maintainers and contributors will act in good religion and never unilaterally make (or resist) consensus guidelines modifications towards the desires of the broader group for the remainder of Bitcoin’s existence. (To be clear I do not assume this can be a present concern however stranger issues have occurred when you think about the complete course of human historical past.)
Equally why ought to proposals be saved in a single repo? If I need to suggest an concept for Bitcoin I might somewhat simply retailer that proposal in my very own repo than submit it to the BIPs repo.
As quickly as you introduce a number of repos you introduce the prospect of a number of sources of fact and a number of sources of reference. Some repos will disappear or not be maintained. They could retailer an outdated model of a selected BIP after which readers of that outdated model would get an inaccurate perspective of the present (or finalized) state of that proposal. The upsides of getting a BIP course of (focusing evaluation and scrutiny on a single doc in a single repo and providing readability to the readers of the finalized specification) are deserted.