Re: Maintainer nominations


David Enyeart
 

I also feel that the 'default' position should be that docs reside with the code repo, and there would need to be a compelling reason to split them out. In my opinion given the recent changes, there are now compelling enough reasons to split the Fabric docs out as mentioned below, but not yet compelling enough reasons to split out the other repo's docs (we haven't seen the problems I mentioned in those repos). If you don't want to split Fabric docs, what is your alternate suggestion for handling doc translation and additional doc maintainers?

Concerning the requirement for 'majority' to approve fabric-rfcs, the fabric-rfcs proposal was out for review for several weeks. What is your alternate proposal?

Concerning the requirement for 'two mandatory reviews', the last time I informally polled the maintainers there was not support. But given the fact that you cannot self +2 in GitHub, I suspect views may be changing there as well.

In all three cases, I'd urge you to propose specific changes/solutions, and let's see if we can find some consensus on each.


Dave Enyeart

"Matthew Sykes" ---11/26/2019 09:29:15 AM---For the record, I am not in favor of extracting the documentation. I strongly feel that the doc and

From: "Matthew Sykes" <matthew.sykes@...>
To: fabric@...
Date: 11/26/2019 09:29 AM
Subject: [EXTERNAL] Re: [Hyperledger Fabric] Maintainer nominations
Sent by: fabric@...





For the record, I am not in favor of extracting the documentation. I strongly feel that the doc and the code should live together where feasible. My perspective is that lowering the barriers to contribute is far better than segmenting the ecosystem into a number of fiefdoms.

If we want doc changes to only require a single doc review, we should state that's the desired process and put a technology plan in place to make that happen.

With that, a few comments to Dave's note:

> As Fabric has grown the sets of maintainers has naturally diverged across the fabric-* repos. The core Fabric maintainers are naturally different from the Fabric CA maintainers, the Java SDK maintainers, the Node.js SDK maintainers, etc. 

The repositories were not separated because they had different maintainer pools; they were separated because, in most cases, they use fundamentally different implementation and CI processes. I'll also note that each of these contain their own documentation tree. (There's a docs folder in CA and API documentation is part of the code in node and Java.) Are you proposing we split all of these out as well?

> It has been challenging to get a majority of core Fabric maintainers to weigh in on decisions, since only about half of the maintainers are active day-to-day. This becomes more of an issue with the recent introduction of the fabric-rfcs process, which requires a majority of Fabric maintainers to agree before taking on new enhancements.

This is a problem of our own making. We have far too much process in place to make rapid forward movement. It's our choice to require a "majority" of maintainers and "2 mandatory reviews" to integrate things.

On Tue, Nov 26, 2019 at 7:11 AM David Enyeart <enyeart@...> wrote:
    The intent of my proposal was exactly as Yacov says - doc maintainers would be comprised of the core Fabric maintainers in addition to heavy doc contributors/reviewers.

    I do understand Brian's point, and we have been hesitant to split fabric code and fabric docs repos/maintainers up until now for the reasons Brian mentions. However in my opinion the time has come to split them for the following reasons:

    As Fabric has grown the sets of maintainers has naturally diverged across the fabric-* repos. The core Fabric maintainers are naturally different from the Fabric CA maintainers, the Java SDK maintainers, the Node.js SDK maintainers, etc. We've had good results with different maintainers for each of these repos.

    It has been challenging to get a majority of core Fabric maintainers to weigh in on decisions, since only about half of the maintainers are active day-to-day. This becomes more of an issue with the recent introduction of the fabric-rfcs process, which requires a majority of Fabric maintainers to agree before taking on new enhancements.

    With the transition to Azure Pipelines, there is not (yet) an easy way to suppress CI for doc-only PRs.

    With the transition to GitHub, we would like different branch protection rules for Fabric code and Fabric docs.


    Dave Enyeart

    "Yacov" ---11/26/2019 01:49:37 AM---I think the best solution for these 2 seemingly conflicting ideas is: All maintainers of code reposi

    From:
    "Yacov" <yacovm@...>
    To:
    "Brian Behlendorf" <bbehlendorf@...>
    Cc:
    fabric@...
    Date:
    11/26/2019 01:49 AM
    Subject:
    [EXTERNAL] Re: [Hyperledger Fabric] Maintainer nominations
    Sent by:
    fabric@...




    I think the best solution for these 2 seemingly conflicting ideas is:
          • All maintainers of code repositories should be able to merge documentation contributions
          • Maintainers of the documentation should not be able to merge code contributions.



    From:
    "Brian Behlendorf" <bbehlendorf@...>
    To:
    fabric@...
    Date:
    11/26/2019 07:36 AM
    Subject:
    [EXTERNAL] Re: [Hyperledger Fabric] Maintainer nominations
    Sent by:
    fabric@...




On 11/25/19 6:09 PM, David Enyeart wrote:
I'd suggest that we identify the top documentation contributors and reviewers to seed the fabric docs repository maintainer list in the coming weeks (including Chris and Joe), rather than pulling the trigger in the Fabric repository this week.

Are there separate maintainer pools for different fabric-* repos?

If so, I can understand the argument, coming from a world where the precautionary principle would apply, and where prior version control systems (and even earlier versions of git) allowed for a dangerous degree of repository damage if someone made the wrong set of changes. I also of course get the point for different maintainers for different Hyperledger projects, e.g. Fabric vs Sawtooth.

But for the same project, which is arguably the same "community" of contributors and representatives of end-users, you may want to consider a single pool of maintainers across all fabric-* repos. The easy case is to argue for the ability for anyone who's a maintainer on the main code repos to also be able to merge in changes into docs-related repos. The harder case is for people who come in as solid contributors to docs, but aren't (yet!) code contributors. There, I'd still argue for it - the boundary between docs and code is rarely so hard, as changes to error messages/logging or admin/user interfaces often are driven by a docs-level view of what would be easier to explain. And, I've seen great core developers on projects come in first through a docs-related role. Also, just for simplicity: I'll counter your precautionary principle with an Occam's Razor, which makes understanding the project easier for newcomers. I bet reversing any mistaken merges is a lower cost than the value of contributions you might not otherwise see.

Up to you all,

Brian

--
Brian Behlendorf
Executive Director, Hyperledger

bbehlendorf@...
Twitter: @brianbehlendorf









--
Matthew Sykes
matthew.sykes@...



Join {fabric@lists.hyperledger.org to automatically receive all group messages.