*** Draft ***

ItemDescription

LTS releases

the long term support releases

LFNLinux Foundation Networking
SDN Software-Defined Network
CNCFCloud Network Computing Foundation
Contributor

Anyone who wants to participate in the project.

Examples:

  • providing input/responses on the email list
  • contributing a bug fix
  • contributing code for a new feature
  • writing test case or documentation
  • Reviewing commits
  • Integration/Deployment testing of merged commits
  • Triaging failed builds/deployments and runtime use cases
  • Jira/Confluence authoring
  • Contributing to weekly meetings and getting involved in assigned tasks

Contributors always have a voice and are welcome to provide thoughts and insights and in any technical discussion within the project as well as assist in direct use/testing of the project artifacts.

Committer

A Committer is a contributor that has the authority, and responsibility to submit changes to a TF 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, structural makeup or style 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 ideally best practice to never have a Committer review and/or approve their own contribution into the repository.



PTLProject Technical Lead - a technical individual  responsible for the project, provides direction for a sub-project. Check also Ownership & Responsibilities
NFVNetwork Function Virtualization
TSCTechnical Steering Committee. The main TF governance body
TWSTechnical Work Stream - Community call to deep dive on technical issues
TFTungsten Fabric Community. This community.
IRCInternet Relay Chat
VPGVirtual Port Group
CLAContributor Licence Agreement
Module/sub-system

The bigger area of the Tungsten Fabric functionality logically separated (eg. Configuration System, Fabric Management System, Control System, vRouter etc.). Modules may be composed of components. Modules and components may or may not align with source code repositories.

  • Controller Module - connotes the collection of modules (sub-systems) that implement the TF controller, e.g. Configuration System, Fabric Management System, Control System etc. Modules may in turn be composed of components e.g. Schema Transformer and API Service for the Configuration System. Components may be further decomposed into sub-components
  • Data Plane Modules - at this time vRouter and Agent

Components

  1. Reserved for parts that make up modules, components may be reused across other components and modules, components may be made up of other components
  2. Juniper has 55 components identified today
TL/SMETechnical Leader/Subject Matter Expert - a technical individual assigned to anything of significance, module, component, project, support activity with a deep knowledge and understanding of assigned part. Should be consulted and treated as a decision-maker for the respective area.
Project

Collection of work undertaken to deliver a well-defined goal. The goal can be anything, it could be a feature enhancement or a big bug, support activity. Anything of significance that requires a well-defined goal can be a project. Projects transcend modules and components.  A project is generally associated with a timeframe, a plan, and a collection of people. A technical leader/manager for a project should be defined

Categories

Any meaningful distinction to enhance understanding. Categories may apply to modules, components, projects, anything useful

Ownership & Responsibilities

A project, activity, module or component has only one leader, it may have many participants

Supporting Activities

Any body of work in support of TF processes, development or release activities e.g. CI, infrastructure, documentation, deployment. Each supporting activity has a technical leader

Source Code Repositories

Individual git repository that house TF code, names may not map directly to modules and components