We intend for XIPs to be the primary mechanisms for proposing new features, for collecting community technical input on an issue, and for documenting the design decisions that have gone into the XDC Network. Because the XIPs are maintained as text files in a versioned repository, their revision history is the historical record of the feature proposal.
The idea behind the XIP process is not unique or novel. XIPs are derived heavily from Ethereum Improvement Proposals (EIPs), which are in turn derived heavily from Bitcoin Improvement Proposals (BIPs), which were derived from Python Enhancement Proposals (PEPs).
While anyone can propose an XIP, the technical bar is quite high. Initially XIPs are reviewed by XIP editors, who ensure that XIP submissions adhere to formatting and style guidelines. For this program to be successful we need qualified members of the developer community to become XIP editors. XIP editors will be made collaborators on the XIPs GitHub repository.
Once uploaded to GitHub, XIPs are scrutinized by XDC community members who decide whether they are to be implemented in a future upgrade. This discussion can take place on the XDC.dev thread announcing the XIP. This post is an example, and the discussion related to this post will drive consensus for adoption of XIP-1, and as this is a decentralized process we will collectively need to define what "consensus" means to us.
In an effort to promote decentralization I have created a new XDC Community GitHub Organization that hosts the XIPs repository. In that organization you will find two other repositories; one is "xdc-community" and the other is "pm". I elected to create a brand new GitHub Organization unaffiliated with any other XDC Network entity so that it could be completely handed off to the community in the interest of true decentralization.
The "xdc-community" repository is the beginning of a GitHub pages hosted developer portal, which will hold documentation, sample code, tutorials, and more in a public repository that will enable a fork->update->pull request workflow so that anyone in the community can update the content of the developer portal. For those not comfortable updating the content an issue can be raised in the repositories GitHub issue tracker, or a comment can be made on the repositories GitHub discussion board. More on this in a future post as https://www.xdc.community/ is in a forkable but rough draft.
The "pm" repository is intended to act as a repository for protocol level discussions around protocol level XIPs so that all XDC Network protocol level decisions can be documented in a transparent fashion. The goal is for regular protocol level meetings to be held by protocol level developers, which will require buy-in and adoption by these developers. This change is prerequisite for true decentralization of the XDC Network.
This is a call to action to the XDC Community, XDC Network Developers, and XDC Network Core Protocol Developers to discuss adoption of XIP-1, and join in growing the decentralization of the XDC Network.