Thanks for putting this together Mark, that does seem reasonable to me.

Pierre

Le mer. 6 mai 2026 à 22:52, Mark Payne <[email protected]> a écrit :
>
> Team,
>
> In August of 2024, we introduced the notion of NiFi Improvement Proposals 
> (NIPs). The intent here was to
> "consider adopting a more formal process around changes that impact the 
> fundamental API contracts that
> NiFi provides.” Largely, this was a formalization of the less formal NiFi 
> Feature Proposals that had taken place
> prior.
>
> Since then, we have seen quite a few NIPs land and get approved. I believe 
> this was a step in the right direction
> and has been helpful to ensure that when someone contributes a new capability 
> that we will not encounter
> frustrating and awkward scenarios where the community decides to reject a 
> proposed feature after significant work
> has been put into developing in. It’s also helped in ensuring that we 
> adequately product the API from changes that
> cannot be easily undone later.
>
> On the other hand, it has created significant delays for very minor updates 
> to the APIs. For example, we recently
> introduced NiFi Connectors into the API as an experimental feature. There 
> have been numerous NIPs related to small
> tweaks to the Connector API such as NIP-28 [1] and NIP-29 [1]. The delays 
> come in that we need to create the NIP itself,
> then generally we create a DISCUSS thread. This typically is left open for a 
> few days at least. We then launch a lazy-consensus
> vote, which is open for 3 days. Upon approval of that, we can update the API, 
> get the PR merged, and then wait for the next
> minor release of the API, which may take a while. Once that release begins, 
> it again must wait for a 3-day voting period.
> Only after all of this has happened can we put up a Pull Request for the NiFi 
> feature (as the NiFi codebase will depend on a
> SNAPSHOT version of the API until this point). And of course that must then 
> go through the typical process.
>
> While I believe the NIP process is advantageous, I would like to propose some 
> updates to the process that we follow that
> would allow “low-risk” changes to move much more quickly by moving to a 
> 24-hour voting period and skipping the DISCUSS thread.
> The definition of “low-risk” is, however, subjective. So my proposal does not 
> attempt to define what is or is not low-risk but instead
> eave that determination up to the proposer.
>
> My proposal, then, is to update our process as follows:
>
>
>   *   For any NIP that is introduced, it is up to the person proposing it to 
> indicate whether it is a 24-hour or a 72-hour lazy consensus vote.
>   *   For any 24-hour vote, any PMC member can request that it be changed to 
> a 72-hour vote, to allow more time to consider it. Any request to do so 
> immediately changes it to a 72-hour vote. This must be done by replying to 
> the Vote thread and indicating that the vote is being changed to a 72-hour 
> vote.
>   *   There is no need for a NIP to have a DISCUSS thread, but it is strongly 
> encouraged for any proposal that is initiated with a 72-hour vote.
>   *   Updates to the API that qualify for a 24-hour lazy consensus vote also 
> qualify for being released in a dot-release of the API instead of a minor 
> release.
>   *   Ideally, we should get in the habit of creating dot-releases of the API 
> frequently when there are NIP-approved updates pending release.
>   *   Dot-releases of the API can be a 24-hour voting (not lazy consensus) 
> period, whereas minor or major should retain their 72-hour voting windows.
>   *   24-hour voting periods always exclude the weekend (i.e., if a 24-hour 
> vote starts at 10 am on Friday, it goes to 10 am Monday). 72-hour voting 
> periods do not have this restriction.
>
> Thanks
> -Mark
>
> [1] https://issues.apache.org/jira/browse/NIP-28
> [2] https://issues.apache.org/jira/browse/NIP-29
>

Reply via email to