Thanks for the write up, Mark. I am in favor of adopting your proposed changes to lower the bar for small changes. This is a nice refinement to process that reduces a real point of friction while maintaining the benefits of the NIP process
On Fri, May 8, 2026 at 12:44 AM David Handermann <[email protected]> wrote: > > Mark, > > Thanks for recommending a revised approach to NiFi Improvement Proposal > process. > > The proposed adjustments sound good, striking a balance between the > importance of review and the value of reduced friction. > > This revision retains the primary goal of the improvement proposal > process, which is thoughtful consideration of significant changes, > while providing a clearer path for adjustments that are not > complicated. > > Regards, > David Handermann > > On Wed, May 6, 2026 at 3:52 PM Mark Payne <[email protected]> wrote: > > > > 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 > >
