Team,

I would like to discuss the future relationship of the NiFi and MiNiFi
projects, considering in particular whether MiNiFi should pursue
promotion to an independent Apache Top Level Project.

The NiFi and MiNiFi projects have had a long history of
interoperability through common contracts and shared implementation
strategies. The Java version of MiNiFi was merged into the primary
NiFi repository several years ago, but maintains a module structure
that is mostly decoupled from the NiFi framework. The C++ version of
MiNiFi has had an independent repository, issue tracking system, and
release cadence since its inception.

In terms of project governance, the NiFi Project Management Committee
is responsible for everything. In practice, however, responsibility
for MiNiFi, and the C++ version in particular, resides with a subset
of NiFi PMC members. The arrangement has worked more or less, but as
work continues on both projects, it is becoming increasingly clear
that knowledge of both projects is not common. This is a natural
result of independent languages, and distinct implementations. For
this reason, bringing on new members to the NiFi PMC does not
necessarily benefit both projects. Although issue tracking is
independent, it also means that project discussions generally skew in
the direction of NiFi. These are not problems in themselves, but these
realities highlight the functional independence of NiFi and MiNiFi.

There are technical questions to consider, in terms of API surfaces
like C2 protocol manifests and common Python Processors interfaces.
However, these technical questions can be addressed in various ways,
such as promoting certain shared elements to independent repositories
similar to the Apache NiFi API.

The real questions concern governance. As mentioned, the C++ version
of MiNiFi already has functional independence in several key areas.
Promotion to a TLP would clarify participation and qualification for
PMC membership in both NiFi and MiNiFi. As a TLP, MiNiFi would also
enjoy a more direct presence, rather than a project page under the
NiFi website.

This would not necessitate any changes to current NiFi PMC or
committer membership, as participation in multiple Apache projects is
common in places like the Iceberg ecosystem.

This would require both technical and procedural work, but having
clarity of governance should provide a better path forward for both
projects.

Regards,
David Handermann

Reply via email to