Please describe your proposed solution.
What are CIPs, and why does Cardano needs a CIP process and editors?
Cardano Improvement Proposals (CIPs) fulfil the same role for Cardano as the standards of other blockchains, including BIPs for Bitcoin and EIPs for Ethereum. The success of a blockchain is demonstrated, at least in part, by how broad and useful to developers these document collections are.
Not only do CIPs document what official Cardano blockchain developers are doing to improve core technologies, they also expand the scope of what Cardano is attempting to deliver: through standards submitted by independent developers and architects. Once a standard is proposed through a CIP, it becomes a reference point upon which other developers and agencies can build: which promotes new applications and broadening markets for Cardano.
Each well defined standard promotes more rapid development since developers have an increasing number of CIP-based tools and methods to employ in their projects. The best example of this so far in Cardano has been the proliferation of NFTs which are built by third parties entirely according to CIPs coming from the community itself rather than from Cardano's core developers.
Any developer, engineer, scientist, entrepreneur, or user should have a means of proposing one of these standards. This process is documented in CIP-0001, which defined and created this process… a document which itself is regularly updated as editors continue to refine this process in practice.
CIP Editors (click for current members) are the only GitHub users with the permission to merge documents into the CIP repository. This happens after a period in which any concerned party can review the document to find faults and suggest changes. Often the most demanding reviews come from CIP editors and generally all potential flaws in a standard or its documentation are identified and fixed through GitHub comments and biweekly meeting discussions.
Therefore CIP Editors as a group must be familiar with all existing proposed standards documented in the CIP repository above, while remaining aware of all the pending CIP documents (submitted as GitHub "pull requests"): staying in communication with authors, developers and advocates until these documents are refined and "merged" or ultimately deprecated or abandoned.
How is the author involved? How can the impact of this involvement be observed?
All original members of the CIP Editors group were employees of the official Cardano sponsoring companies (IOG, Emurgo, and the Cardano Foundation). In keeping with open source tradition and to maintain an impartial process, the members have looked for membership outside those companies. I was the first (and so far the only one) of these "community" editors to be added (in Q3 2021).
The amount of time spent on CIP editing responsibilities varies widely from editor to editor. Current editors employed with the Cardano Foundation and IOG often must focus on CIPs of well defined commercial interest to their respective companies.
As I had hoped, my increased freedom from employee responsibilities (CIP and otherwise) has allowed me to respond to CIP postings and enquiries daily, rather than forcing them to wait for a historically bi-weekly review cycle.
For most of the last year I have been funded through a Catalyst Fund 9 budget (Community CIP Editor: 1 year budget) allocating a typical number of hours per week: in which to attend CIP review meetings, review and help authors with proposals, and confirm the viability of the CIP process as its interest to the Cardano community continues to grow.
The result has been an assured baseline of quality and responsiveness to the developer community. Proposal authors must often wait for a deeply technical review… of the kind one of our more highly technical CIP editors can provide… but often there are project team representatives in other Cardano companies or specialised developers who can review a proposal in the meantime. My work in this aspect of "developer relations" has helped assure a good turnaround time for CIPs even though our number of technical reviews on the editing team itself remains small.
Ever since my arrival into the CIP process based on community advocacy (through the CIP-0013 updates for stake pool links, intended for a better delegation experience) I have also helped build bridges to the CIP process for interested users: not just developers. This includes engagement on the CIP Discord and Matrix channels and the CIP category on the Cardano Forum (see [CAPABILITY/ FEASIBILITY] What is your capability... for such "profile" and membership links).
How can this be continued and improved upon, going forward into the next year?
Over the last few months, other editors and I have been spending more time on routine CIP issues (see "detailed budget breakdown" section for a list of reasons), and so must still ensure enough time exists in our personal or employee time allocations to handle the non-routine matters without delaying them indefinitely. Therefore the first requirement is an increase in time allocated to my own efforts.
Given sufficient time, the second challenge is to keep this time balanced over all open CIP submissions: with straightforward, documented GitHub comments and reviews to keep lines of developer communication open. We have seen some cases in point recently which resulted not from lack of time or attention but from not having enough resources to poll developers proactively, as in the following examples:
-
CIP versioning: A developer for a popular Cardano database aggregator would have preferred versioning for a popular token metadata standard, but was not vocal about their concerns until after the relevant CIP was updated without installing an explicit version number, so the problem had to be addressed retroactively (CIP-0068 versioning and similar cases: issue #520).
-
CIP writing and refinement support: Sometimes a CIP is developed with initial support from IOG and then requires additional work for it to meet practical requirements that emerged later (see CIP-0067 | add ADA Handles Virtual SubHandle: PR #504), so development of these standards may be stalled while the responsibility we look for in proposers and CIP authors cannot yet be supplied by editors or advocates due to time constraints.
The three regularly active CIP editors (from CF, IOG, and myself from the community) have been applying conscious effort in advance to address these new types of problems, for instance:
-
CIP translations: evolving a process that will work for all CIPs, even the most demanding, e.g. (CIP-1694 | Adding French translation: PR #539)
-
Support for community-mandated RSS (Reward Sharing Scheme) proposals (Update for CIP-0084 consequences to RSS proposals: PR #536)
… but employers (and in my case, Catalyst) will have to assure a balance of time to cover this expanding scope of work, as well as agree upon goals and metrics for the community to measure its visibility and value.
**Additional goal for next year: documentation with potential recruitment ** The CIP editing team currently (July 2023) has 3 routinely working editors (Bitcoin has 2 BIP editors and Ethereum has 7 EIP editors. We may not be in a position where additional editors must be designated from Cardano companies or the community… although logically the survival of the CIP process depends upon the ability for others to step in and expand the group of permissioned CIP Editors in case the group might contract in the future.
These possible changes make it clear to me that the overall process of CIP Editing must be documented far beyond what is currently included in the few Editor related paragraphs of CIP-0001 (beginning here). All current editors are following a process that they learned by observation over months: so, although the results are always visible on GitHub and other forums, most complexities and demands of our process are still only documented in our own habits and memories.
Unfortunately this does not help with the goal of inviting or even encouraging new CIP editors… even the decision about whether one would invest the time as a CIP reviewer is still lacking HOW-TO pages or any other documentation. Periodically potential CIP editors from the community have asked for such information, and although tempting to say (as we often have) "GitHub itself contains the documentation and the process", this does nothing to bridge the gap between the CIP editor workflow and the community's full understanding of this process.
I consider myself the logical choice for this effort, and have included it as the Q2 milestone for this project (see Milestone question below), because:
- Between my Fund 9 proposal and this one, I have already gone into more depth than any other Cardano writer about the actual work a CIP editor does.
- Purists on our current CIP Editor committee might resist the idea of popular documentation for a subject that should remain completely objective: but due to my experience working in both camps I am the best hope of bridging this gap.
Since this "CIP Editor's workflow" will logically take the form of a GitHub Wiki, it will also become a starting point for other editors to contribute documentation according to their own observations: including some tips after 2-3 years of learning experience about what it takes to write a "good" CIP. Most of all, this effort will satisfy the repeated but unmet demand from the Cardano community that we provide a "window" into the CIP process.
How does your proposed solution address the challenge and what benefits will this bring to the Cardano ecosystem?
Highlighted benefits from F10: Development & Infrastructure challenge page
-
Main statement: What research, tools or software can improve the developer ecosystem or infrastructure to make it easier to build and scale on the Cardano blockchain?
The CIP process is considered part of Cardano's developer infrastructure itself: repeatedly endorsed by Cardano agencies IOG and the Cardano Foundation. Project Catalyst representatives have declared that "standards" are part of the Development & Infrastructure effort, and the CIP process is the most definitive embodiment of Cardano standards. -
Proposal type Technical standards:
This defines an effort to "improve the overall quality of software deployed." The standards process of CIPs not only suggests new Cardano applications, it also identifies entirely new markets for Cardano when more than one agency (e.g. NFT services) implements these standards.
It also ensures that the rush to develop new commercial applications does not either a) waste developer time, money and credibility trying to reinvent something already done & documented in the public domain; or b) develop something only to find its commercial life is short-lived due to lack of interoperability with other Cardano products and services.
- Proposal type Technical documentation & education:
A good percentage of CIPs are documentation themselves: e.g. Cardano's protocol parameters (and the decisions behind them), wallet keys and addresses, and procedures to evolve languages like Plutus and data structures like the Ledger. Supporting the CIP framework also invests time in quality documentation that developers and new converts to Cardano can learn from quickly.
The corresponding success metric "Amount of people viewing resources, reduction in number of common questions for contributors due to better resources" has always been abundantly observable on the CIP Repository: with all Cardano's public-facing standards available as widely read, shared, and implemented documents.
- Consideration of Open source plan:
Not only are all CIPs open source (free to re-use themselves by open source license) but the methods they describe, being open to the public, also encourage the Cardano community to converge on open-source implementations, and to open-source their APIs and other interfaces even their products may use proprietary components internally.
- Key Metric Number or quality of standards:
Defined as "making it easier for node operators and developers to understand the ecosystem" … with community-based developers involved in the review process for nearly every published CIP, their feedback has always guaranteed this growing number of standards will be well received, understood, and maintained by the community going forward.
What impact will this project have for Cardano, and what value does it bring to the Cardano ecosystem?
By "this project" (language taken from more detailed proposal question) I have to point out that my status and funding as an editor is not the same as the whole of the CIP process itself… but also that my own deep time commitment and breadth of involvement has made me an essential part of the process since early 2022.
Therefore my continued funding through this proposal will have all the same benefits as supporting the Cardano standards process itself. Continued representation by a "community" CIP editor will help ensure that standards evolve in a decentralised manner not dependent on any company in particular.
The evolution of the Internet, followed by the emergence of astonishingly valuable blockchain assets, has shown us that robust open source standards in Cardano's design and governance will lead to:
- higher & more sustainable native asset values
- more & better interrelated business propositions
- increased adoption relative to other blockchains
- an anticipated freedom from regulation if claims of decentralised governance can be upheld.
How do you intend to measure the success of your project?
Answer:
1) Quantitative goals (KPIs / performance measurement)
A rough estimate of the CIP Editing total workload can be obtained through GitHub search URLs (statistics as of proposal final editing on 17 July 2023):
- Total number of CIP open PRs (currently 62)
- Total number of open CIP issues (currently 32)
The total number of open PRs can be compared with the number of merged CIPs on our front page: at this time still updated and tabulated manually (currently 68). To demonstrate efficiency of the CIP process, all editors should ensure the number of open PRs stays as small as possible relative to the number of active CIPs.
Whether this ratio is acceptable depends on how "normal" it is for a posted CIP draft to remain in the review process as a Pull Request before being "merged" as a Proposed (planned) or Active (already implemented) document.
- Editors often believe that most documents are waiting for legitimate reasons in this intermediate state: since we cannot force developers to respond to reviews of their posted documents, and can't assume responsibility for testing and documenting the ideas that come from developers' unique expertise.
- For my plan to qualify, quantify or challenge the conception that this queue is "understandably" large rather than "bloated" — by producing and maintaining a more detailed accounting of reasons for delay — see this project's Q3 milestone.
The contributions of individual CIP editors can also be checked manually by GitHub query on how many CIP PRs they have individually helped progress (open PRs at this time considered "current", and closed PRs "prior"; measured before proposal submission on 17 July 2023):
- PR search term commenter:rphair = 49 current, 220 prior
- PR search term commenter:KtorZ = 40 current, 267 prior
- PR search term commenter:sebastiengllmt = 21 current, 150 prior
- PR search term commenter:Ryun1 = 21 current, 36 prior
Note there is no "competition" between individual editors and that these total statistics don't reflect particular CIPs that editors have written and/or for which editors have spent extraordinary amounts of time on review, update, and community engagement.
- My own contributions have higher measurements because of my current and long-term focus on introductory submissions ("triage") and status responses/replies to ensure the CIP process never appears stalled nor partial to any particular interest.
2) Documentation and readable public statements
As promised in my Fund 9 proposal, I have produced monthly reports on GitHub with progress initially focused on progress at meetings as anchors into GitHub CIP PR discussion, and more recently including individual GitHub summaries of discussions outside the scope of meetings:
- CIP monthly report archive: https://github.com/rphair/cip-editing
- Most recent & representative monthly report (2023-07-15)
Note the links above are also included elsewhere in this proposal to illustrate goals, activities and project / community outputs. Specific content for monthly reports is inventoried in [CAPABILITY/ FEASIBILITY] Please provide a detailed breakdown of … main tasks or activities under "Monthly reporting".
The Q2 milestone will also produce a best effort to document the CIP process as it would concern new editors, reviewers, and the community at large (see [CAPABILITY/ FEASIBILITY] Please describe the deliverables, outputs and intended outcomes of each milestone section for planned content).
3) Community goals (engagement)
The initial main output of the CIP Editors team, at the time when I arrived as a regular observer, was in the recorded and eventually transcribed minutes of the biweekly CIP editors' meeting. These minutes were posted in the hope that interested members of the community would be able to find & reference items they were interested in by reading transcripts categorised by the CIP pull request under discussion.
This was outgrown over 2021-2022 for a number of reasons:
- nobody from the community seemed to read the verbose CIP meeting minutes
- transcriptions were horribly flawed, especially for foreign accents, and required more time to correct than the meeting itself
- discussions of current CIP PRs were disconnected from the discussions occurring in parallel on GitHub… the latter being where they really needed to be recorded and focused on resolutions & action items.
Therefore our primary community output has been though GitHub ever since, with our success demonstrated whenever developers and community advocates can follow GitHub threads for the CIP topics they are interested in, and get a complete picture of CIP developments simply by email subscription to all activity on the CIPs repository (as I & some other editors do).
Besides GitHub we have also had to evolve into other message streams to serve the following community needs:
- Non-developers often feel anxious about committing their thoughts to GitHub publicly and permanently, and so might only feel comfortable commenting on CIPs through social channels like Discord and Matrix or the more personal discussion format of the Cardano Forum.
- Non-KYC platforms like Matrix have served users unwilling to offer mobile number- or device-based identify verification as required on Discord.
Therefore CIP discussions sometimes span multiple channels for purposes of polling and temporary discussion. These are more fully inventoried in section [IMPACT] Please describe your plans to share the outputs and results of your project?) … with the often repeated understanding that only the discussions taking place in official GitHub PR threads are considered relevant to CIP review.
Successful effort in categories (2) and (3) above will be seen through reports of CIP social discussion and official GitHub activity occurring regularly across all progressive CIP pull requests, plus resources for the Cardano community as a whole to understand the CIP process itself, with confidence (especially for developers) that CIP discussions are taking place regularly and robustly.
4) Qualitative goals
A number of general, subjective goals have already been given in the section [IMPACT] How does your proposed solution address the challenge and what benefits will this bring to the Cardano ecosystem? particularly with respect to maintaining confidence and participation from both the developer and general Cardano communities.
I also elaborate in the section [CAPABILITY/ FEASIBILITY] What are the main goals for the project and how will you validate if your approach is feasible? a definition of how parts of our community will perceive whether the CIP process "is working" and how this can be defined by recent challenges, successes, and pathological cases.
Beyond these direct observations, I believe there are also two qualitative success measurements that can be observed indirectly from a successfully executed CIP process:
4a) The CIP process should be generally seen as sustainable. Particularly, communications and relationships between CIP editors, Cardano companies and official developers, community developers, and observers should be easygoing and without resentment.
This interaction should be frequent and comfortable enough that community members and Cardano employees alike should periodically express interest in joining the CIP process more officially as editors. Even if the CIP team doesn't always require new editors, maintaining a healthy interest in others joining should still be considered beneficial… as expressed more fully in this project's Q2 "Editor Wiki" documentation milestone.
4b) Cardano's standards model must be visible beyond the Cardano community.
A positively evolving CIP process — with a solid & growing CIP repository, plus documentation of positive experience & expectations in the Cardano community at large — would be attractively visible in the next year to developers, companies, writers, investors, and analysts encountering Cardano coming from other blockchains.
This will be especially important this year considering that Governance improvements are founded in the CIP process… and viable on-chain governance will be highly beneficial to demonstrate to Cardano's competitors and critics as well as blockchain regulators and legal / financial executives.
Please describe your plans to share the outputs and results of your project?
Answer:
This question is already answered in several other sections of this proposal: the CIP process is unique in that the entire process, except for certain conclave discussions among editors about logistic issues, is visible to the public.
I will try to enumerate these channels again here; please also refer to the routine tasks inventoried above and below for a complete list of public communications, including:
- primary activity on GitHub
- secondary activity on social channels: Discourse, Discord, Matrix, and occasionally Twitter
- regular reporting of CIP activity (for me, also on GitHub)
- occasional interaction with SPO and Dev communities through Marketing channels (none so far in 2023 yet)
The work is, by its nature, spread over a "reasonable timescale" (a phrase appearing in the more detailed form of the question above) because it manifests continuously in response to contributions, questions from unrelated parties.
CIP editors cannot control daily, weekly, monthly or quarterly how much work will come in: we can only commit to staying ahead of whatever must be done during each of these periods.
Finally the question above has a sub-question: How do you expect to use the results generated from the project in further research and development activities?
The work I am doing in the scope of this project, because it most generally supports communications with a broad spectrum of developers, will promote a "feedback" process:
- We have a growing number of CIPs, approaching a larger & more diverse body of standards such as seen on Ethereum's EIPs.
- Observers from other blockchains note that Cardano's standards process demonstrates growing functionality, interoperability, commercial application, etc. to support their current and upcoming projects.
- Developers migrate to Cardano from other blockchains and bring their ambitious applications and expectations with them.
- These in turn require new CIPs to define them, which feeds back into Step 1… continuing cyclically with more CIPs, containing better research and covering more applications, with more standards-driven adoption & developer engagement expanding the Cardano ecosystem.