-
Notifications
You must be signed in to change notification settings - Fork 319
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CIP-35? | Plutus Core Evolution #215
CIP-35? | Plutus Core Evolution #215
Conversation
This CIP proposes a process for making CIP proposals to change Plutus Core or its interface to the ledger.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In general, I think it's a good idea to have a more specified and clear structure around modifying Plutus and the libraries it depends on. However, I am concerned at the degree of bureaucracy this adds, and what we actually gain by it. Consider, for example, this issue here. Based on the current write-up, I see the process looking like this:
- CIP for this gets sent. We await its approval, however long that takes, deal with whatever discussions and concerns arise, etc. This is complicated by the fact that we have to modify
cardano-base
as well, which by my reading, requires a separate CIP. - Once accepted, the process for getting to Draft must be completed. Some as-yet-unclear party decides when this goal is met, which may require more discussion, dealing with more concerns, etc.
- Once gotten to Draft, the process for Proposed must be completed. Assuming costing can be done at all (see my note), it's yet another round of the same.
- Once gotten to Proposed, the process for getting to Active must be completed. You get the idea by now.
This would take something that is already a lengthy and complex process, make it lengthier and more complex, while arguably as-written still failing to solve key issues (for example, see my statement regarding testing). Additionally, a document such as this should document proper practices and give specifics about what needs to be done (again, see my comment regarding testing): at the moment, it's not even clear who gets to decide when we can move, for example, to Draft. Additionally, if my reading is correct, for something like the linked task, this process might have to be completed twice.
In short, much more clarity is needed, and the amount of steps specified here need to be considered for usefulness: personally, they seem excessive, and fairly unclear, at this stage.
Partially, the bureaucracy is the point. I believe that the bar for changing the blockchain should be higher. We should be sure that many people in the community want the change, and that the change is well-specified. Moreover, the idea is for the development of Cardano to be increasingly driven by people other than IOG, and that includes the design work. It's an easier process for the community to say "we want X" and get IOG to do the design work, but we want the community to do the design work!
That's a great example. Let me sketch out what I think the process for that would have been:
I think this would have been not that much more onerous than what actually happened. The main differences would be:
Why do you think that? That wasn't the intention.
As I commented inline, it's the CIP editors, who are in general responsible for assessing the progression of CIPs.
Unfortunately, this document can't be as precise as I would like, since implementation is out of scope for CIPs. A lot of requirements are buried in "it is the responsibilty of the implementor to get their change accepted", such as testing. I agree that that makes it less helpful than it could be. When I realised this I considered not even making a CIP and just adding this to the At least, I'll try and clarify the text to make the implementation requirements more obvious. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is fine honestly.
Updated:
|
CIP Identifier clash with #137 |
My understanding is that the Editors are responsible for allocating a CIP number anyway: I've only picked one here because otherwise you can't put it in a logical subdirectory 🤷 We can change the number of whichever one doesn't get merged first ;) |
Given the lack of further comments and the approvals from the editors, I've changed the status to Active to represent that fact that we will be using this process going forwards. |
@michaelpj whatever you did, you might want to push it 😊 ? |
Wrong remote 🤦 Done. |
This CIP proposes a process for making CIP proposals to change Plutus
Core or its interface to the ledger.