My 2 cents…
>>>> It is preferable to have at least 2 Committers show approval (with a +1) 
>>>> for a contribution before it is accepted into the repository.  It is also 
>>>> a best practice to never have a Committer review and/or approve their own 
>>>> contribution into the repository.

-          This is an very good practice to follow and it would help to keep 
project healthy. This will also helps to stop committers to approve the code by 
them self. We follow this practice in OpenStack community on every commit we 
merge into git repository.

-          Systematically we could make the onap gerrit to address it.

>>> General Guidelines:
Currently we are trying to keep the one as committer, only if (s)he contributed 
seed code either in ONAP or Open-O.  But, I feel that we should also take 
consideration of the subject matter expertise , who are

1.       already having good working experience in technology and domains

2.       already worked on similar projects  in related/dependent communities 
like OpenStack, OPNFV as committer/active-contributor.

3.       willing to play the committer role from different companies who were 
neither part of Open-O nor ONAP, (satisfying #1 but not #2) it would open 
opportunity to those, on trust basis and is good for community

This would help to bring authorative 3rd eye to review the code from different 
perspective, which is good for keeping project in right/neutral path, while 
seed code contributors look at the code only from their perspective.

Regards
Kanagaraj M


***************************************************************************************
本邮件及其附件含有华为公司的保密信息,仅限于发送给上面地址中列出的个人或群组。禁止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制、或散发)本邮件中的信息。如果您错收了本邮件,请您立即电话或邮件通知发件人并删除本邮件!**************************************************************************************

***************************************************************************************
This e-mail and its attachments contain confidential information from HUAWEI, 
which is intended only for the person  or entity whose address is listed above. 
Any use of the information contained herein in any way (including, but not   
limited to, total or partial disclosure, reproduction, or dissemination) by 
persons other than the intended recipient(s) is  prohibited. If you receive 
this e-mail in error, please notify the sender by phone or email immediately 
and delete it!
***************************************************************************************

From: [email protected] 
[mailto:[email protected]] On Behalf Of Phil Robb
Sent: Monday, May 15, 2017 8:07 PM
To: onap-tsc; [email protected]
Subject: [onap-discuss] How to best populate Contributors and Committers in 
newly formed ONAP projects

Hello ONAP Development Community:

I wanted to kick off  a thread where we can discuss the best way to populate 
contributors, committers, and Project Technical Leads (PTLs) as we are forming 
the first ONAP project teams over the next few weeks.  For consistency across 
projects and the formation of a healthy development ecosystem, it is important 
that we all have a common understanding of the roles and responsibilities of 
each of these participants in our community.  There is no "one way" to do this 
so please do not consider this email as an edict to be blindly followed.  
Instead, I'd like to provide some best-practices gathered over the years, then 
for us to discuss, then come to consensus on how we will populate these roles.

First the definitions:

Contributor:  Anyone who wants to participate in the project.  This can be 
providing input on the email list, contributing a bug fix, contributing code 
for a new feature, writing test case or documentation, etc.  Like everyone in 
the project, these people always have a voice and are welcome to provide their 
thoughts and insights in any technical discussion within the project.

Committer:  A contributor that has the authority, and responsibility to submit 
changes to the ONAP software repository.  Typical characteristics of a 
Committer are:
1) Deep expertise in the code base over which they are committers
2) Time dedicated to reviewing code contributions made by other contributors
3) Knowledge and understanding of the overall development activities occurring 
within the project - this is important so that the review of new code is taken 
in the context of the overall development for the project.
4) Knowledge and understanding of other, interdependent projects within ONAP 
and how contributions to this project affect work being done elsewhere by 
others.

The Committers on a project will review each code contribution made by the 
Contributors, and other Committers on the project.  Often, a Committer will 
need to enter into a dialog with a Contributor to have them make changes to the 
contribution to better fit the functional or structural makeup of the existing 
codebase.  It is preferable to have at least 2 Committers show approval (with a 
+1) for a contribution before it is accepted into the repository.  It is also a 
best practice to never have a Committer review and/or approve their own 
contribution into the repository.

Project Technical Lead (PTL):  The PTL is a committer who is the one point of 
contact responsible for representing the project to the rest of the ONAP 
community.  For projects that become part of any given release, the PTL is 
responsible for reporting milestone status and release readiness to the rest of 
the community.  The PTL for each project is elected by the other committers 
within the project.

Please note that it is very common for individuals to be a committer on one 
project, and an contributor on another.  However, there is nothing stopping an 
individual from being a committer on multiple projects.  Also, it is rare, but 
not unheard of, that an individual can be a PTL on more than one project.

General Guidelines:

When forming projects such as ONAP where there is a great deal of initial 
(seed) code, it is helpful to establish some common guidelines for projects to 
follow when building their initial contributor, committer, and PTL lists.  Here 
are some general best practices.

- Identify yourself as a Contributor on a project proposal if you believe that 
you have the time and ability to contribute to the development  of the project. 
 One of the goals of every project within ONAP is to have a diverse set of 
contributors working on the project.  This shows that the project has broad 
interest within the community and that the development of the project will 
reflect a varied set of end user use-cases, and requirements.  Please do not 
put your name down if you do not have the time or ability to participate.

- Identify yourself as a Committer on the project only if you have significant 
expertise in the seed-code that is already present in the ONAP code repository. 
 The one exception to this rule is in the event that the first activity of the 
project is to bring in significant code or functionality that exists in another 
code base.  In such situations it may be helpful to have a Committer 
position(s) for individuals with expertise in the other code base to aid in the 
review of such code as it is contributed to the existing seed-code in the 
repository.  I would suggest that the Committers with deep expertise in the 
seed-code within the repository determine how best to (or if to) include 
experts in other codebases to participate as Committers within the project.  If 
help is needed for this particular task I am happy to help facilitate the 
discussion on a project-by-project basis.

- There should be enough Committers on a project to effectively perform the 
reviews on all of the contributions in a timely manner.  If there are not, then 
contributions will stagnate waiting for review to the frustration of the 
Contributors on the project.  Conversely, having far more Committers on a 
project than contributions to review will mean that many Committers will be 
in-active simply due to no work load.  The "right" number of initial Committers 
is project dependent, but a good rule of thumb is to start in the 3 to 6 range, 
and expand beyond that if needed or desired.

- It is common for individuals to identify themselves as initial Committers on 
the project then realize that they did not have the time, ability, or expertise 
to properly perform the role.  Please self-evaluate your capabilities for the 
role before suggesting yourself for it.  Similarly, ONAP project Committers and 
PTLs should review their committer list on a periodic basis (quarterly or 
semi-annually) to cull the Committer list of in-active Committers.

- Individuals who initially identify themselves as Contributors on a project 
can be promoted to Committer by showing their expertise in the code base 
through quality code contributions and technical insights on the mailing lists, 
irc channels, bugzilla entries, etc.   Please note that active Contributors on 
a project can have significant influence in the project from the code and 
comments they make.

- Given that seed-code often comes from a single, or small number of companies, 
it is likely that many projects will have initial Committers from a single, or 
small number of companies.  In those special situations, the Committers for the 
project have additional responsibilities:
1) These Committers should be actively searching for Contributors in their 
project that show the aptitude and interest to become Committers and work to 
mentor these individuals to become Committers on the project as quickly as 
possible.
2) These Committers must take special care to socialize and receive feedback on 
any significant change to the code base that they are considering.  It is 
important that the Committers of a project reflect the goals and interests of 
all community members, not just the goals and interests of their employer.

- Once a project has been formed and the initial list of Committers has been 
identified and agreed upon, those Committers will need to elect a PTL to serve 
as the single point-of-contact for the project to the rest of the community.

Please provide your additional thoughts to the ones I've provided above.  It 
will be helpful to all if we can come to consensus on how best to initially 
populate the ONAP projects so that there is a general understanding of the 
criteria used and it's consistent application across all projects.  Again, our 
goal should be to get the right set of competent resources in place to begin 
with, and have the expectation that new Committers will be promoted within the 
projects shortly after we begin development in earnest.

Best,

Phil.
--
Phil Robb
Executive Director, OpenDaylight Project
VP Operations - Networking & Orchestration, The Linux Foundation
(O) 970-229-5949
(M) 970-420-4292
Skype: Phil.Robb
_______________________________________________
onap-discuss mailing list
[email protected]
https://lists.onap.org/mailman/listinfo/onap-discuss

Reply via email to