Replies: 2 comments 2 replies
-
It may or may not be worth stipulating some sort of soft policy on response times, though I'm sure that response time will vary greatly depending on the complexity of the HIP.
Sort of implicitly covers that intent, but perhaps could be made more explicit by saying The HIP aligns to the technical direction, scope and goals of Hiero, allowing for rejection of HIPs that may be in line with Hiero's goals but are not low level enough to warrant being a HIP in the repo's. |
Beta Was this translation helpful? Give feedback.
-
Great overview @Reccetech :) Question: Will step 2 "Write and Submit HIP that provides high level outline of proposal with technical validation" contain the public API of the HIP (like the protobuf)?
Question: What will be the right place to discuss the groups and especially the names. I believe that "Application" as name is missleading especially for new community members. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
This discussion covers improvements to the HIero HIP (Hiero Improvement Proposal) process.
Background:
The HIP process has recently moved from the Hashgraph repo to Hiero. As part of the move to Hiero we have added a step where the Hiero TSC approves HIPs. With these changes this proposal explores some improvements to the HIP flow, and explores questions specific to HIPs within Hiero.
Problem Statement:

In the current HIP process as shown in the below diagram there is the expectation that the HIP presented to the TSC for approval in Step 2 contains the complete technical specification. However, in practice creating a full and accurate technical specification takes time, and is often only finalized as we go through the development process and testing. The end result that we are seeing is that often when the HIP is finalized, and then we get time in front of the TSC, much of the actual engineering work has already been completed. A great example of this would be the recently approved HIP-1056 (Blockstreams) where by the time we got TSC approval much of the core engineering work was already done. Obviously in an ideal world we would be bringing HIPs to the TSC before Engineering work had started.
Proposed Solution:

Per the below diagram it’s important to note that within the Hiero HIP process we actually have two places where approvals occur; Step 3 with the TSC approval, and then Step 7 where maintainers will review and approve a PR.
So our proposal. as seen in the below diagram, is that in Step 2 HIP authors provide all of the major components of the HIP template. The major delta from the process today is that the Step 2 HIP will provide a vetted High Level Design, but not a complete lower level detailed design/specification.
After the TSC has provided approval then the HIP authors will work out the detailed design, add it to the HIP, and begin engineering work ending in a PR to the relevant HIero repo. At that time in Step 7 the maintainers of the repo while reviewing the code will use the full Step 4 HIP in their review looking for adherence to the written design/specification. This change makes more sense when you consider that creating a detailed design takes a great deal of effort and time. So it would be painful if that time was invested just for the TSC to reject the HIP in Step 3.
Looking at the above process we can also try to address some questions about the HIP process raised in recent TSC meetings.
What is the role of the TSC HIP Approval?
In my mind the goals of the TSC HIP Approval in Stage 3 is confirming:
The TSC approval in Step 3 then acts as a checkbox for Maintainers to approve PRs related to the HIP in Step 7. Visa Versa if a Hiero contributor proposes a major improvement directly in a PR - then the maintainers should see there is no approved HIP associated with the work, and can ask the contributor to provide a HIP for TSC approval before they can approve the PR.
What new features/capabilities need a HIP?
I feel that this is one of those questions akin to asking how long is a piece of string.
My suggestion is that we base this question on precedence. We have lots of examples of HIPs at hips.hedera.com covering a wide range of improvements that can be used as reference on what should be a HIP. If contributors still have confusion they are welcome to come to the TSC or to Hashgraph employees with questions to see if a specific proposal should be a HIP. Finally we always have the guardrail of Step 7, wherein if a PR has significant improvements that the maintainers feel need a HIP, then they can request a HIP be written and approved by TSC before they will approve the PR.
What is the role of the Application HIP?
Currently within the Hiero HIP process we have different types of HIPs. Under the Standards Track we have Core, Service, Mirror, and Application HIPs. As well we have Informational and Process HIPs. Currently work on SDKs falls within Application HIPs, and there is an active discussion if Application HIPs are still needed for major SDK improvements.
To answer this question I think we should examine the purpose of the HIP process. In my mind they are:
So if we believe that all 4 elements above are important then to me it makes sense we just leverage the HIP process instead of trying to invent something with a different name - but essentially does the same thing.
How do we increase the throughput of TSC HIP Approvals?
In the short time that the TSC has existed we have had trouble getting timely approvals on HIPs. This is of course in large part because the TSC/Hiero are new organizations and we have lots to talk about - but I think there will always be lots to talk about 🙂
I would like to suggest some improvements to help the TSC more efficiently approve HIPs. One problem we have faced is that often when a HIP is brought to the TSC the membership is seeing the HIP for the first time, so there are lots of questions, and it’s hard to get to a vote. Second, we have HIPs like HIP-1064 where there are lots of questions, and sometimes we don’t have the right people in the meeting to answer those questions.
So what I would like to propose is that we break HIP approvals into two meetings. In the first meeting that we’ll try to time box to around 10min - the HIP presenter can quickly introduce the HIP, and then provide the links. In the week that follows the TSC can read the HIP and leave questions in Github which the team can work to answer. Then in the 2nd meeting the HIP presenter can return and hopefully the TSC leadership understands the HIP, has had their questions answered, so the discussion can focus on whether it should be approved or denied ending with a vote.
Feedback and comments welcomed.
Beta Was this translation helpful? Give feedback.
All reactions