Open jacques-n opened 7 months ago
Some thoughts on each question:
50% is arbitrary but the specific benchmark doesn't matter as much the relative number across projects. The same pattern can be seen at 50%, 75% and 90% coverage where the Iceberg project has less people involved in each group.
The bus factor analysis isn't really interested in diversity of initiative as much as ownership of core code. As mentioned in the analysis, core code is often owned by people most instrumental in the project whereas things like connectors, language bindings and catalog implementations might be very tangential to the project. As noted elsewhere, all three projects have several hundred committers who have made at least one contribution. The vast majority of those people could disappear and it wouldn't be problematic to the project. This calculation isn't really interested in the long tail and thus it is helpful to focus on the core impetus of the project (in Iceberg's case, spec and the core library)
The speed of change isn't really considered in the bus factor calculation. If only one person worked on code and that code is really important, the exposure is much the same whether they worked on the code recently or a long time ago. Further, I don't believe there is substantial difference between the maturity of the three projects analyzed. (For example, I think in many cases Iceberg is actively adding features already in Hudi and/or Deltalake.)
This is definitely a problem. In a perfect world, it'd be nice to look at code touch ignoring cosmetic changes but it wasn't clear how to do this. Open to ideas for a better analysis of this.
There are surely other ways. A couple that would be great to look at:
Intuitively, the two things that seem a big awry talking to a bunch of people is:
If you review the PMC member's list, a large portion of those people are not actively involved in the project and may have done zero or near zero contributions ever. PMC lists are often initially populated with people who might help and it takes years for them to be primarily people who do help. As an example, of the first 20 PMC members on Apache Arrow, I believe that only 1 or 2 are actually involved in the project at any level.
No. Iceberg is too important to too many organizations to be destroyed by the loss of any developer. However, the purpose of the metric is to provide directional guidance. In that, it seems helpful to identify that ownership and top-karma is potentially held amongst fewer people than ideal.
I've gotten pushback from several people privately about the statement that Iceberg has a bus factor of two people.
Some common complaints: