[v1] doc: process for new library approval in principle

Message ID 20230518132139.1350234-1-jerinj@marvell.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series [v1] doc: process for new library approval in principle |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/loongarch-compilation success Compilation OK
ci/loongarch-unit-testing success Unit Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-aarch64-unit-testing success Testing PASS
ci/iol-unit-testing success Testing PASS
ci/iol-abi-testing success Testing PASS
ci/intel-Functional success Functional PASS
ci/github-robot: build success github build: passed
ci/iol-aarch64-compile-testing success Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS
ci/iol-testing success Testing PASS
ci/iol-x86_64-unit-testing success Testing PASS

Commit Message

Jerin Jacob May 18, 2023, 1:21 p.m. UTC
From: Jerin Jacob <jerinj@marvell.com>

Based on techboard meeting[1] action item, defining the process for a
new library approval in principle.

[1]
https://mails.dpdk.org/archives/dev/2023-January/260035.html

Signed-off-by: Jerin Jacob <jerinj@marvell.com>
---
RFC..v1:
- Fix the review comments by Konstantin, Keven, Thomas at
http://patches.dpdk.org/project/dpdk/patch/20230213092616.3589932-1-jerinj@marvell.com/

 doc/guides/contributing/index.rst       |  1 +
 doc/guides/contributing/new_library.rst | 48 +++++++++++++++++++++++++
 2 files changed, 49 insertions(+)
 create mode 100644 doc/guides/contributing/new_library.rst
  

Comments

Jerin Jacob June 6, 2023, 4:06 p.m. UTC | #1
On Thu, May 18, 2023 at 6:52 PM <jerinj@marvell.com> wrote:
>
> From: Jerin Jacob <jerinj@marvell.com>
>
> Based on techboard meeting[1] action item, defining the process for a
> new library approval in principle.
>
> [1]
> https://mails.dpdk.org/archives/dev/2023-January/260035.html
>
> Signed-off-by: Jerin Jacob <jerinj@marvell.com>
> ---
> RFC..v1:
> - Fix the review comments by Konstantin, Keven, Thomas at
> http://patches.dpdk.org/project/dpdk/patch/20230213092616.3589932-1-jerinj@marvell.com/

Ping for review.

>
>  doc/guides/contributing/index.rst       |  1 +
>  doc/guides/contributing/new_library.rst | 48 +++++++++++++++++++++++++
>  2 files changed, 49 insertions(+)
>  create mode 100644 doc/guides/contributing/new_library.rst
>
> diff --git a/doc/guides/contributing/index.rst b/doc/guides/contributing/index.rst
> index 7a9e6b368e..ef627329f1 100644
> --- a/doc/guides/contributing/index.rst
> +++ b/doc/guides/contributing/index.rst
> @@ -18,3 +18,4 @@ Contributor's Guidelines
>      vulnerability
>      stable
>      cheatsheet
> +    new_library
> diff --git a/doc/guides/contributing/new_library.rst b/doc/guides/contributing/new_library.rst
> new file mode 100644
> index 0000000000..7dde8cbe64
> --- /dev/null
> +++ b/doc/guides/contributing/new_library.rst
> @@ -0,0 +1,48 @@
> +.. SPDX-License-Identifier: BSD-3-Clause
> +   Copyright(c) 2023 Marvell.
> +
> +Process for new library approval in principle
> +=============================================
> +
> +Rationale
> +---------
> +
> +Adding a new library to DPDK with proper RFC and then full patch-sets is significant work.
> +In order to save effort, developers will get an early approval in principle, or early feedback in
> +case the library is not suitable for various reasons.
> +
> +Process
> +-------
> +
> +#. When a contributor would like to add a new library to DPDK code base, the contributor must send
> +   the following items to DPDK mailing list for technical board approval-in-principle.
> +
> +   * Purpose of the library.
> +   * Scope of work: outline the various additional tasks planned for this library, such as
> +     developing new test applications, adding new drivers, and updating existing applications.
> +   * Expected usage models of the library.
> +   * Any licensing constraints.
> +   * Justification for adding to DPDK.
> +   * Any other implementations of the same functionality in other libraries/projects and how this
> +     version differs.
> +   * Public API specification header file as RFC.
> +
> +       * Optional and good to have.
> +       * Technical board may additionally request this collateral if needed to get more clarity
> +         on scope and purpose.
> +   * Any new library dependencies to DPDK.
> +
> +#. Technical board to schedule discussion on this in upcoming technical board meeting along with
> +   author. Based on the technical board schedule and/or author availability, technical board may
> +   need a maximum of **five** technical board meeting slots.
> +
> +#. Based on mailing list and technical board meeting discussions, technical board to vote and share
> +   the decision in the mailing list. The decision outcome can be any of the following.
> +
> +   * Approved in principal
> +   * Not approved
> +   * Further information needed
> +
> +#. Once technical board approves the library in principle, it is safe to start working on the
> +   implementation. However, the patches will need to meet the usual quality criteria in order to be
> +   effectively accepted.
> --
> 2.40.1
>
  
Jerin Jacob July 20, 2023, 6:33 a.m. UTC | #2
On Thu, May 18, 2023 at 6:52 PM <jerinj@marvell.com> wrote:
>
> From: Jerin Jacob <jerinj@marvell.com>
>
> Based on techboard meeting[1] action item, defining the process for a
> new library approval in principle.
>
> [1]
> https://mails.dpdk.org/archives/dev/2023-January/260035.html
>
> Signed-off-by: Jerin Jacob <jerinj@marvell.com>
> ---
> RFC..v1:
> - Fix the review comments by Konstantin, Keven, Thomas at
> http://patches.dpdk.org/project/dpdk/patch/20230213092616.3589932-1-jerinj@marvell.com/


Ping for review or merge
  
Ferruh Yigit July 20, 2023, 8:03 a.m. UTC | #3
On 5/18/2023 2:21 PM, jerinj@marvell.com wrote:
> From: Jerin Jacob <jerinj@marvell.com>
> 
> Based on techboard meeting[1] action item, defining the process for a
> new library approval in principle.
> 
> [1]
> https://mails.dpdk.org/archives/dev/2023-January/260035.html
> 
> Signed-off-by: Jerin Jacob <jerinj@marvell.com>
> ---
> RFC..v1:
> - Fix the review comments by Konstantin, Keven, Thomas at
> http://patches.dpdk.org/project/dpdk/patch/20230213092616.3589932-1-jerinj@marvell.com/
> 
>  doc/guides/contributing/index.rst       |  1 +
>  doc/guides/contributing/new_library.rst | 48 +++++++++++++++++++++++++
>  2 files changed, 49 insertions(+)
>  create mode 100644 doc/guides/contributing/new_library.rst
> 
> diff --git a/doc/guides/contributing/index.rst b/doc/guides/contributing/index.rst
> index 7a9e6b368e..ef627329f1 100644
> --- a/doc/guides/contributing/index.rst
> +++ b/doc/guides/contributing/index.rst
> @@ -18,3 +18,4 @@ Contributor's Guidelines
>      vulnerability
>      stable
>      cheatsheet
> +    new_library
> diff --git a/doc/guides/contributing/new_library.rst b/doc/guides/contributing/new_library.rst
> new file mode 100644
> index 0000000000..7dde8cbe64
> --- /dev/null
> +++ b/doc/guides/contributing/new_library.rst
> @@ -0,0 +1,48 @@
> +.. SPDX-License-Identifier: BSD-3-Clause
> +   Copyright(c) 2023 Marvell.
> +
> +Process for new library approval in principle
> +=============================================
> +
> +Rationale
> +---------
> +
> +Adding a new library to DPDK with proper RFC and then full patch-sets is significant work.
> +In order to save effort, developers will get an early approval in principle, or early feedback in
> +case the library is not suitable for various reasons.
> +
> +Process
> +-------
> +
> +#. When a contributor would like to add a new library to DPDK code base, the contributor must send
> +   the following items to DPDK mailing list for technical board approval-in-principle.
> +
> +   * Purpose of the library.
> +   * Scope of work: outline the various additional tasks planned for this library, such as
> +     developing new test applications, adding new drivers, and updating existing applications.
> +   * Expected usage models of the library.
> +   * Any licensing constraints.
> +   * Justification for adding to DPDK.
> +   * Any other implementations of the same functionality in other libraries/projects and how this
> +     version differs.
> +   * Public API specification header file as RFC.
> +
> +       * Optional and good to have.
> +       * Technical board may additionally request this collateral if needed to get more clarity
> +         on scope and purpose.
> +   * Any new library dependencies to DPDK.
> +
> +#. Technical board to schedule discussion on this in upcoming technical board meeting along with
> +   author. Based on the technical board schedule and/or author availability, technical board may
> +   need a maximum of **five** technical board meeting slots.
> +
> +#. Based on mailing list and technical board meeting discussions, technical board to vote and share
> +   the decision in the mailing list. The decision outcome can be any of the following.
> +
> +   * Approved in principal
> +   * Not approved
> +   * Further information needed
> +
> +#. Once technical board approves the library in principle, it is safe to start working on the
> +   implementation. However, the patches will need to meet the usual quality criteria in order to be
> +   effectively accepted.


Looks reasonable to me, and it is good to start to document the process
anyway, we can tweak it later if required, hence:

Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
  
Thomas Monjalon July 25, 2023, 10:19 a.m. UTC | #4
> > Based on techboard meeting[1] action item, defining the process for a
> > new library approval in principle.
> > 
> > [1]
> > https://mails.dpdk.org/archives/dev/2023-January/260035.html
> > 
> > Signed-off-by: Jerin Jacob <jerinj@marvell.com>
> > ---
> > RFC..v1:
> > - Fix the review comments by Konstantin, Keven, Thomas at
> > http://patches.dpdk.org/project/dpdk/patch/20230213092616.3589932-1-jerinj@marvell.com/
[...]
> > +Process for new library approval in principle
> > +=============================================
> > +
> > +Rationale
> > +---------
> > +
> > +Adding a new library to DPDK with proper RFC and then full patch-sets is significant work.
> > +In order to save effort, developers will get an early approval in principle, or early feedback in
> > +case the library is not suitable for various reasons.
> > +
> > +Process
> > +-------
> > +
> > +#. When a contributor would like to add a new library to DPDK code base, the contributor must send
> > +   the following items to DPDK mailing list for technical board approval-in-principle.
> > +
> > +   * Purpose of the library.
> > +   * Scope of work: outline the various additional tasks planned for this library, such as
> > +     developing new test applications, adding new drivers, and updating existing applications.
> > +   * Expected usage models of the library.
> > +   * Any licensing constraints.
> > +   * Justification for adding to DPDK.
> > +   * Any other implementations of the same functionality in other libraries/projects and how this
> > +     version differs.
> > +   * Public API specification header file as RFC.
> > +
> > +       * Optional and good to have.
> > +       * Technical board may additionally request this collateral if needed to get more clarity
> > +         on scope and purpose.
> > +   * Any new library dependencies to DPDK.
> > +
> > +#. Technical board to schedule discussion on this in upcoming technical board meeting along with
> > +   author. Based on the technical board schedule and/or author availability, technical board may
> > +   need a maximum of **five** technical board meeting slots.
> > +
> > +#. Based on mailing list and technical board meeting discussions, technical board to vote and share
> > +   the decision in the mailing list. The decision outcome can be any of the following.
> > +
> > +   * Approved in principal
> > +   * Not approved
> > +   * Further information needed
> > +
> > +#. Once technical board approves the library in principle, it is safe to start working on the
> > +   implementation. However, the patches will need to meet the usual quality criteria in order to be
> > +   effectively accepted.
> 
> 
> Looks reasonable to me, and it is good to start to document the process
> anyway, we can tweak it later if required, hence:
> 
> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>

I prefer the new page having a broader scope: adding a new library.
So I make this new doc as a chapter of a new page "Adding a new library".

Applied, thanks.

Later we could add some tips for new libraries: what to copy elsewhere,
what to not forget (maintainer, doc, test, doc indexes, etc).
  

Patch

diff --git a/doc/guides/contributing/index.rst b/doc/guides/contributing/index.rst
index 7a9e6b368e..ef627329f1 100644
--- a/doc/guides/contributing/index.rst
+++ b/doc/guides/contributing/index.rst
@@ -18,3 +18,4 @@  Contributor's Guidelines
     vulnerability
     stable
     cheatsheet
+    new_library
diff --git a/doc/guides/contributing/new_library.rst b/doc/guides/contributing/new_library.rst
new file mode 100644
index 0000000000..7dde8cbe64
--- /dev/null
+++ b/doc/guides/contributing/new_library.rst
@@ -0,0 +1,48 @@ 
+.. SPDX-License-Identifier: BSD-3-Clause
+   Copyright(c) 2023 Marvell.
+
+Process for new library approval in principle
+=============================================
+
+Rationale
+---------
+
+Adding a new library to DPDK with proper RFC and then full patch-sets is significant work.
+In order to save effort, developers will get an early approval in principle, or early feedback in
+case the library is not suitable for various reasons.
+
+Process
+-------
+
+#. When a contributor would like to add a new library to DPDK code base, the contributor must send
+   the following items to DPDK mailing list for technical board approval-in-principle.
+
+   * Purpose of the library.
+   * Scope of work: outline the various additional tasks planned for this library, such as
+     developing new test applications, adding new drivers, and updating existing applications.
+   * Expected usage models of the library.
+   * Any licensing constraints.
+   * Justification for adding to DPDK.
+   * Any other implementations of the same functionality in other libraries/projects and how this
+     version differs.
+   * Public API specification header file as RFC.
+
+       * Optional and good to have.
+       * Technical board may additionally request this collateral if needed to get more clarity
+         on scope and purpose.
+   * Any new library dependencies to DPDK.
+
+#. Technical board to schedule discussion on this in upcoming technical board meeting along with
+   author. Based on the technical board schedule and/or author availability, technical board may
+   need a maximum of **five** technical board meeting slots.
+
+#. Based on mailing list and technical board meeting discussions, technical board to vote and share
+   the decision in the mailing list. The decision outcome can be any of the following.
+
+   * Approved in principal
+   * Not approved
+   * Further information needed
+
+#. Once technical board approves the library in principle, it is safe to start working on the
+   implementation. However, the patches will need to meet the usual quality criteria in order to be
+   effectively accepted.