Announcing the 'FreeBSD Community Process'

Patrick Kelsey pkelsey at freebsd.org
Thu Jun 15 02:55:24 UTC 2017


On Wed, Jun 14, 2017 at 2:53 AM, FreeBSD Core Secretary <
core-secretary at freebsd.org> wrote:

>
> Dear all,
>
> Core has just presented their ideas for a new 'FreeBSD Community
> Process' at BSDCan.  This will provide a more formalized mechanism for
> proposing and deciding on important or contentious changes within the
> Project.  The idea is to avoid discussions degenerating into an
> interminable argument on the mailing lists with ultimately no action
> being taken.
>
> The FCP process is modelled on similar ideas in other projects,
> particularly the Python Enhancement Process
> (https://www.python.org/dev/peps/pep-0001/), the Joyent RFD Process
> (https://github.com/joyent/rfd/blob/master/README.md), and even the
> venerable IETF RFC Process
> (https://www.ietf.org/about/standards-process.html)
>
> In summary, anyone wanting to make a change that will result in a
> non-trivial effect on the FreeBSD User Base, (or retrospectively anyone
> having backed out a change after running into contention over something
> that turned out less trivial than they anticipated), should write down
> what they propose to change, describing what problem they are trying to
> solve, how they propose to solve it and what consequential impact this
> will have.  Contact the fcp-editors@ mailing list for assistance in
> getting your proposal into releasable state. The document is then added
> to the FCP index, committed into the FCP repository and published for
> discussion.  Each FCP proposal is a living document and will be updated
> to reflect any conclusions resulting during the discussion.
>
> Once consensus has been achieved, or the discussion has gone on for
> enough time, Core will vote on accepting the FCP.  Core will be voting
> according to the mood of the discussion around the proposal.
>
> The current state of fcp-0000.md -- the document that defines the FCP
> process -- can be viewed at
>
> https://github.com/freebsd/fcp/blob/master/fcp-0000.md
>
> This is a working document and subject to change.  We will be applying
> the FCP process as far as possible to fcp-0000 itself: this message
> counts as the formal announcement on the fcp at FreeBSD.org mailing list
> placing fcp-0000 into 'feedback' status.  Your contributions are
> welcome, by email to the fcp at FreeBSD.org mailing list, or by submitting
> issues or pull requests, or by annotating the fcp-0000.md document text
> through GitHub.
>
> For help with generating a new FCP document and discussion around the
> FCP process please join the fcp-editors at FreeBSD.org mailing list.
>
>         Cheers,
>
>         Matthew
>

I'm responding to the above message because I wasn't on the new fcp@ list
in time to receive the FCP 0 announcement (https://lists.freebsd.org/pip
ermail/freebsd-fcp/2017-June/000000.html).  I suspect other developers are
in a similar situation, so I'll point out that responding to the above
message invites continued cross-posting between developers@ and the public
fcp at .

Here are my comments questions so far:

FCP github repository - Who has write access to this repo?  If that group
is different from the group of potential FCP authors, then it should be
made clear who this group is, as they will be deciding whether to honor
merge requests for things like FCP number assignment and changes to FCP
documents.  Also, does this repository only exist on github, or is a mirror
maintained on project-controlled infrastructure?

FCP authorship - Who can be an FCP author and who can provide input?
Anyone, or does at least one author have to be a committer, does it depend
on topic, etc.

Who is fcp-editors@?  Is this some select group, or is it just a mailing
list via which any interested party can provide 'editorial review'?  Either
way, how do 'editorial review' discussions not devolve into discussions
that belong in the post-publication feedback phase?

This process seems intended at least in part to be a structured approach to
marshaling a proposed change to a decision point when there is an
associated lack of consensus, and/or significant contention, and/or
outright dispute involved.  On this front, I think there are still some
significant holes in the approach, or there are unstated assumptions that
core@ (or perhaps fcp-editors@, if that is something other than just a
mailing list) will be arbitrating at other points in the process besides
the vote.

Let's take the first example from FCP 0 of when an FCP should be written -
when "A change lacks consensus or is significantly contended."  The process
as described involves an initial set of authors requesting an FCP number,
and it is that initial set of authors that will prepare a draft, solicit
feedback, and incorporate the changes to the document.  In the face of a
lack of consensus, significant contentions, or disputes (i.e., multiple
competing viewpoints) regarding a change, who is this set of authors and
which viewpoint gets drafted?  I don't think we can reasonably say 'a set
of authors representing all viewpoints' and/or 'somehow one author but all
viewpoints get included', because then we are just moving the interminable
argument to another medium, one that is possibly filtered by only one of
the viewpoints.  Do we wind up with an FCP for each viewpoint?  That is, if
the change is of the form "We Need Better X" and there is significant
contention/dispute as to whether it is "Better X by Method A", "Better X by
Method B", or "Better X by Method C", do we wind up with three competing
FCPs, one proposing each?


-Patrick


More information about the freebsd-fcp mailing list