From: Jerin Jacob <jerinjacobk@gmail.com>
To: "Morten Brørup" <mb@smartsharesystems.com>
Cc: jerinj@marvell.com, dev@dpdk.org, techboard@dpdk.org
Subject: Re: [dpdk-dev] [PATCH v2] doc: define qualification criteria for external library
Date: Sun, 19 Nov 2023 12:37:35 +0530 [thread overview]
Message-ID: <CALBAE1MmAaPVjRx64v0_pG0KVHB8uKuVCAYAnzahUxdB=QKU-Q@mail.gmail.com> (raw)
In-Reply-To: <98CBD80474FA8B44BF855DF32C47DC35E9F036@smartserver.smartshare.dk>
On Fri, Nov 17, 2023 at 1:57 PM Morten Brørup <mb@smartsharesystems.com> wrote:
>
> > From: Jerin Jacob [mailto:jerinjacobk@gmail.com]
> > Sent: Friday, 17 November 2023 05.34
> >
> > On Thu, Sep 28, 2023 at 11:10 AM <jerinj@marvell.com> wrote:
> > >
> > > From: Jerin Jacob <jerinj@marvell.com>
> > >
> > > Define qualification criteria for external library
> > > based on a techboard meeting minutes [1] and past
> > > learnings from mailing list discussion.
> > >
> > > [1]
> > > http://mails.dpdk.org/archives/dev/2019-June/135847.html
> > >
> > > Signed-off-by: Jerin Jacob <jerinj@marvell.com>
> >
> > Ping for review and/or merge.
> >
> >
> > > ---
> > > v2:
> > > - Added "Meson build integration" and "Code readability" sections.
> > >
> > > doc/guides/contributing/index.rst | 1 +
> > > .../contributing/library_dependency.rst | 23
> > +++++++++++++++++++
> > > 2 files changed, 24 insertions(+)
> > > create mode 100644 doc/guides/contributing/library_dependency.rst
> > >
> > > diff --git a/doc/guides/contributing/index.rst
> > b/doc/guides/contributing/index.rst
> > > index dcb9b1fbf0..e5a8c2b0a3 100644
> > > --- a/doc/guides/contributing/index.rst
> > > +++ b/doc/guides/contributing/index.rst
> > > @@ -15,6 +15,7 @@ Contributor's Guidelines
> > > documentation
> > > unit_test
> > > new_library
> > > + library_dependency
> > > patches
> > > vulnerability
> > > stable
> > > diff --git a/doc/guides/contributing/library_dependency.rst
> > b/doc/guides/contributing/library_dependency.rst
> > > new file mode 100644
> > > index 0000000000..687a3b6cef
> > > --- /dev/null
> > > +++ b/doc/guides/contributing/library_dependency.rst
> > > @@ -0,0 +1,23 @@
> > > +.. SPDX-License-Identifier: BSD-3-Clause
> > > + Copyright(c) 2023 Marvell.
> > > +
> > > +Library dependency
> > > +==================
> > > +
> > > +This document defines the qualification criteria for external
> > libraries that may be
> > > +used as dependencies in DPDK drivers or libraries.
> > > +
> > > +- **Free availability**: The library must be freely available to
> > build in either source or binary
> > > + form, with a preference for source form.
>
> Suggest adding:
>
> - **Free use and distribution license**: The library must be freely available to use and distribute without any attached conditions.
>
> We must require a BSD-like license, to ensure that DPDK as a whole (including 3rd party libraries) remains BSD licensed, and can be used in commercial (closed source) applications.
As far as I understand, The initial scope of was “free availability”
for building.
Free distribution is much wider scope. I don't think, current external
libraries[1] have free distribution rights.
[1]
https://github.com/DPDK/dpdk/blob/main/doc/guides/gpus/cuda.rst
https://gitlab.com/nvidia/headers/cuda-individual/cudart/-/blob/main/LICENSE?ref_type=heads
I am fine with either way, Feedback from others?
>
> > > +
> > > +- **Compiler compatibility**: The library must be able to compile
> > with a DPDK supported compiler
> > > + for the given execution environment. For example, For Linux, the
> > library must be able to compile
>
> Typo (after "For example,"): For -> for
Ack. Will fix next version.
>
> > > + with GCC and/or clang.
> > > +
> > > +- **Documentation**: Must have adequate documentation for the steps
> > to build it.
> > > +
> > > +- **Meson build integration**: The library must have standard method
> > like ``pkg-config``
> > > + for seamless integration with DPDK's build environment.
> > > +
> > > +- **Code readability**: When the depended library is optional, use
> > stubs to reduce the ``ifdef``
> > > + clutter to enable better code readability.
>
> Why does everyone keep insisting that stubs make code more readable? Sometimes #ifdef is better.
Could you share a case where when #ifdefs is better(Just to understand
the view).?
>
> Please use something like this instead:
>
> - **Code readability**: When the depended library is optional, use either stubs or ``#ifdef`` consistently, not a mix of both, to ensure code readability.
>
next prev parent reply other threads:[~2023-11-19 7:08 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-28 5:16 [dpdk-dev] [PATCH] " jerinj
2023-09-28 5:40 ` [dpdk-dev] [PATCH v2] " jerinj
2023-11-17 4:33 ` Jerin Jacob
2023-11-17 8:27 ` Morten Brørup
2023-11-17 9:52 ` Bruce Richardson
2023-11-17 10:57 ` Morten Brørup
2023-11-19 7:07 ` Jerin Jacob [this message]
2023-11-19 8:53 ` Morten Brørup
2023-11-20 17:46 ` Jerin Jacob
2023-11-27 16:25 ` Thomas Monjalon
2023-11-27 17:13 ` Stephen Hemminger
2024-01-05 12:12 ` [dpdk-dev] [v3] " jerinj
2024-01-05 12:24 ` Thomas Monjalon
2024-01-05 12:30 ` [dpdk-dev] [v4] " jerinj
2024-01-08 7:58 ` [dpdk-dev] [v5] " jerinj
2024-01-08 8:17 ` Hemant Agrawal
2024-01-08 8:31 ` Jerin Jacob
2024-01-08 13:27 ` Hemant Agrawal
2024-01-09 13:41 ` Jerin Jacob
2024-01-08 17:18 ` Stephen Hemminger
2024-01-08 19:55 ` Morten Brørup
2024-01-09 13:42 ` Jerin Jacob
2024-01-08 9:25 ` Morten Brørup
2024-01-09 14:01 ` Jerin Jacob
2024-01-09 14:10 ` [dpdk-dev] [v6] " jerinj
2024-03-19 3:32 ` Jerin Jacob
2024-03-19 5:08 ` Hemant Agrawal
2024-03-19 11:59 ` Ferruh Yigit
2024-01-05 17:27 ` [dpdk-dev] [v3] " Stephen Hemminger
2024-01-08 7:53 ` Jerin Jacob
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='CALBAE1MmAaPVjRx64v0_pG0KVHB8uKuVCAYAnzahUxdB=QKU-Q@mail.gmail.com' \
--to=jerinjacobk@gmail.com \
--cc=dev@dpdk.org \
--cc=jerinj@marvell.com \
--cc=mb@smartsharesystems.com \
--cc=techboard@dpdk.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).