All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Neary <dneary@redhat.com>
To: "O'Driscoll, Tim" <tim.odriscoll@intel.com>,
	"dev@dpdk.org" <dev@dpdk.org>
Subject: Re: Architecture Board Proposal
Date: Thu, 29 Oct 2015 15:48:55 -0400	[thread overview]
Message-ID: <56327827.1030306@redhat.com> (raw)
In-Reply-To: <26FA93C7ED1EAA44AB77D62FBE1D27BA674488A2@IRSMSX108.ger.corp.intel.com>

Thanks Tim,

Great to see some momentum coming out of DPDK Userspace.

On 10/29/2015 11:21 AM, O'Driscoll, Tim wrote:
> At the recent DPDK Userspace event we agreed that we need a body to
> make technical decisions for the project. In Dublin we referred to this
> as a Technical Steering Committee, but that term is often used on other
> projects to describe a body with a more political charter. To avoid
> confusion, and clarify that the scope of this body for DPDK is purely
> technical, I propose calling it the DPDK Architecture Board.

Speaking personally, I don't mind what we call it once there is an
agreed scope, membership process, and decision making process.
Architecture Board seems OK to me.

> Justification
> -------------
> The role of the Maintainer is to be the gate-keeper for the project,
> and to only accept contributions that are properly implemented, properly
> reviewed, and consistent with the agreed project scope/charter. However,
> it shouldn't be the responsibility of the Maintainer to be the final
> decision maker (after community discussion) on issues affecting the
> strategic direction of the project. Instead, this should be determined
> by a higher level body that's representative of the DPDK community.
> 
> Having an Architecture Board will help to provide a clear
> direction/strategy for the project, and help to resolve complex issues
> which don't reach a consensus on the mailing list in a timely manner.
> 
> Scope
> ----- 
> Issues that are within the scope of the Architecture Board include:
> - Project scope/charter. What is and isn't within the scope of the
>   project? What happens if somebody wants to upstream a new
>   library/capability and it's not clear whether it fits within DPDK or
>   not? As a random example, if somebody wanted to upstream a DPDK-enabled
>   TCP/IP stack to dpdk.org, should that be accepted or rejected?

I agree with Thomas here that this seems like it would be a separate
project under dpdk.org, rather than part of DPDK - I think it's OK for
the Architecture Board to own the scope of "projects on dpdk.org" rather
than just DPDK.

> - Performance vs functionality considerations. If we need to make a
>   change and there's an unavoidable performance impact to doing so (maybe
>   something like extending the mbuf again), does that change get accepted
>   or not? In most cases you can probably work around situations like this
>   by making them optional, but that might not always be possible. If it's
>   not, who decides whether performance or functionality is more important?
> - Replacing existing functionality versus adding new alternatives.
>   If there's a new implementation of an existing DPDK capability that
>   performs better in some use cases but worse in others, does that get
>   accepted and replace the existing implementation, does it get accepted
>   as an alternative, or does it get rejected?
> - Unresolved issues. Provide a decision on issues that don't reach a
>   consensus on the mailing list in a timely manner.

In general I would summarise these as "act as a decision making body
when there is a difficulty converging to a decision in the community".
That includes competing technology, priorities and in general
non-converging discussions.

I think it's important to say that this body kicks in after a decision
has not converged, it is not (apart from project scope considerations,
wich will not evolve very often) a leading body, rather, it's a "last
resort" providing clarity when the community does not generate a consensus.


> Composition
> -----------
> For composition of the Architecture Board, I'd propose the following:
> - It needs to be kept to a manageable size. I propose limiting it to
>   5 initially (it should be an odd number to minimize deadlocks).
> - Membership should be based on: number and quality of
>   contributions, technical standing in the community, breadth of involvement
>   (involvement in many areas, not just a single part of DPDK).
> - No single company/organization can have more than 2 members.
> - The Architecture Board will elect its own chair, who will have the
>   deciding vote in the event of a deadlock.
> - The board will review its own composition and co-opt/approve any
>   new members on an annual basis.
> 
> There are three main options for determining who is on the board:
> 1. Nomination of representatives by contributing companies. We could
>    allocate a number of positions on the board based on the contributions
>    from each company and then allow those companies to nominate their
>    representatives. The downsides are that many companies contribute but
>    not all can be represented on the board so we'd need a way to decide
>    which companies get a seat and which don't, and that this focuses the
>    discussion on company contributions rather than individuals with the
>    best technical standing
> 2. Election of representatives. We could poll for candidates and
>    then vote. This is likely to take time because we'll need to agree and
>    implement the process to support an election.
> 3. Seed the board with those who have the best technical standing in
>    the community. We could determine the initial composition by consensus.
>    I think the prime candidates for an Architecture Board will be obvious
>    to most of us.
> 
> My preference would be for option 3. Any other opinions or comments on this proposal?

I like co-option in this case, but I would like to have some kind of
criteria for how board removals can happen - that might be a detail, but
it's important that the architect board continue to represent the most
influential participants in the community, and I could imagine a
scenario where someone named to the board moves to a different position
and over the course of 6-12 months is less active in the project - would
they be expected to nominate a successor? Withdraw and alow others to
nominate? If they don't volunteer to withdraw, what criteria can the
board use to request that they withdrawal?

One thing I think is important is that seats are not considered "owned"
by a company. There isn't a 6WIND seat or an Intel seat - seats are held
by individuals representing the interests of the technical community,
not companies invested in the project. In general, though, I think 2
seats per company may is a good number, I would not want to have even
the perception of a majority voting block by one company.

Overall, thanks Tim! I think this is a really solid proposal.

Thanks,
Dave.

-- 
Dave Neary - NFV/SDN Community Strategy
Open Source and Standards, Red Hat - http://community.redhat.com
Ph: +1-978-399-2182 / Cell: +1-978-799-3338

  parent reply	other threads:[~2015-10-29 19:48 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-29 15:21 Architecture Board Proposal O'Driscoll, Tim
2015-10-29 15:43 ` Thomas Monjalon
2015-10-29 16:23   ` O'Driscoll, Tim
2015-10-29 19:48 ` Dave Neary [this message]
2015-10-30 11:01   ` O'Driscoll, Tim
2015-10-30 13:11     ` Dave Neary
2015-10-30 13:23       ` O'Driscoll, Tim
2015-10-30 13:25         ` Thomas Monjalon
2015-10-30 15:17           ` Dave Neary
2015-10-30 18:05         ` Matthew Hall
2015-11-02 17:50 ` Stephen Hemminger
2015-11-18 17:54 ` O'Driscoll, Tim
2015-12-11  9:47   ` O'Driscoll, Tim

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56327827.1030306@redhat.com \
    --to=dneary@redhat.com \
    --cc=dev@dpdk.org \
    --cc=tim.odriscoll@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.