In July 2021, the core BitClout devs implemented a feature that the platform’s community of builders had been requesting for months: Clout Improvement Proposals, or CIPs. Maebeam announced the repository first.
If you’re a newer user or someone without much experience in cryptocurrency, it may not be clear why there has been such a clamor for CIPs among the dev community. In fact, the introduction of Clout Improvement Proposals is an important step towards making BitClout a truly decentralized social media platform run by users.
In this beginner’s guide, we’ll discuss what CIPs are and how users can create one. We’ll also provide a brief history of this feature and improvement documents of other protocols.
Clout Improvement Proposal Basics
BitClout is a decentralized social media platform built on blockchain technology, without any corporation behind it calling the shots. As such, any user should be empowered to make suggestions to improve it. A Clout Improvement Proposal or CIP is a type of document describing a change to BitClout's code.
BitClout users can create CIPs through the platform's GitHub repository, following the template posted by the core devs. Other community members and developers are welcome to discuss the proposal and provide feedback. If the idea and proposal are deemed solid, core devs can approve the CIP, and the author/s can begin working on implementing it.
CIPs in the BitClout GitHub repo are divided into small, medium, and large proposals based on the resources it would take to implement them. The core devs drafted guidelines on categorizing and initiating CIPs.
Small. These changes don't actually require a formal CIP document. Minor proposals like introducing a new color theme for the user interface or fixing bugs only require devs to submit a pull request. Pull requests are essentially snippets of code developers submit to a larger repository that can be approved and incorporated into the project's main code base.
Medium. These CIPs require community members to start a discussion in the GitHub forum section. After explaining your proposed change, the rationale behind it, and your plans for making it happen, as well as following community discussion, a core dev can approve the idea.
Large. Bigger changes take additional steps to propose as outlined in the core devs' readme document. These include creating a discussion post to garner approval from the community and at least one core dev, drafting a pull request describing the proposal in detail, and eventually securing the approval of two core devs.
A Brief History of Improvement Proposals
Improvement proposals are an important feature of other cryptocurrencies as well, including Bitcoin and Ethereum. Documents like this are also commonplace among programming languages and other protocols like Python. You can also trace the origins of these documents back to publications by the Internet Society and its Internet Engineering Task Force called Requests for Comments, which proposed or communicated changes to the world wide web.
It might help to understand CIPs better by taking a closer look at an older sibling of sorts, the Bitcoin Improvement Proposal (BIP). The first BIP was published by Amir Taaki, an early Bitcoin developer, in 2011. In delightfully meta fashion, BIP 1 defined BIPs, outlined the different types of proposals users could submit, and identified the important components of future BIPs. Taaki wrote that proposals should contain both a rationale behind proposing a feature as well as a "concise technical specification."
BIPs can be submitted by one or more community members and are often drafted after lengthy discussion and debate within the community. Likewise, it can take months to finalize a BIP after taking into account all the feedback it received. A proposal is considered final once it reaches a community consensus.
How can the average user contribute to CIPs?
If you are a BitClout user without a background in development, it might seem impractical to draft CIPs on GitHub. This is especially true since larger changes encourage CIP authors to provide pull requests for the eventual approval and implementation of core developers. In fact, one major point of improvement we can recommend is for the core developers to enable CIP submission through the BitClout.com node.
But this doesn't mean that people who want to make BitClout better can't get involved in this decentralized process. Here are several ways you can participate in the process:
Join the discussion and provide feedback on existing CIPs. Even if you don't know how to code, you can log in to GitHub and comment on the proposals currently under the scrutiny of the community. The perspective of a social media user without coding experience could be valuable in gauging how the proposed change will be received by the larger community.
Partner with builders to propose changes together. If you have a great idea for a CIP but don't have the technical background to implement it, you might be able to find someone to share your vision with. For example, the BitClout Discord is home to a helpful community of developers who are passionate about improving the platform. The server has a collaborations channel where you can propose your idea and find likeminded builders to work with you.
Help communicate CIPs on GitHub to a wider audience. BitClout has always been about growing the community and connecting people of different backgrounds. With the introduction of CIPs, we see an opportunity for technical people to communicate these proposals effectively to the widest possible audience. This way, anyone with access to BitClout.com's feed can provide their perspectives and contribute to the long-term success of the platform.
Thanks to BitClout builder and community member @Addanus for help getting the technical details of this article correct!