10/01/2018 01:19, Neil Horman:
> On Tue, Jan 09, 2018 at 09:36:03PM +0100, Thomas Monjalon wrote:
> > 09/01/2018 21:20, Neil Horman:
> > > On Tue, Jan 09, 2018 at 07:57:50PM +0000, Michael Lilja wrote:
> > > > > On Mon, Jan 08, 2018 at 04:15:47PM +0100, Thomas Monjalon wrote:
> > > > > > Hi,
> > > > > >
> > > > > > 08/01/2018 14:08, Finn Christensen:
> > > > > > > Hi Thomas,
> > > > > > >
> > > > > > > Thanks for bringing this discussion up again.
> > > > > > >
> > > > > > > The Napatech PMD is build on top of our proprietary driver. The
> > > > > reason is basically that we utilize many years of driver development 
> > > > > and
> > > > > thus reuses the FPGA controlling code in the DPDK PMD. The Napatech
> > > > > driver suite is still closed source.
> > > > > > > The current NTNIC PMD dynamically links a Napatech proprietary
> > > > > NTAPI library to control the FPGA on our NICs.
> > > > > > >
> > > > > > > We did think of the PMD as being our responsibility to keep 
> > > > > > > updated
> > > > > towards the Napatech NIC communication, and that we would be
> > > > > engaged and asked to modify accordingly if changes in DPDK required
> > > > > that (maintainer). Furthermore, the PMD compiles with no issues, when
> > > > > NTNIC is enabled.
> > > > > > > We have plans to write a stand-alone PMD, but this is not a small 
> > > > > > > task
> > > > > to do, therefore we haven't got to that yet.
> > > > > >
> > > > > > This standalone PMD would be open and BSD licensed?
> > > > > >
> > > > > > > If the DPDK community would accept the dynamic linking to a
> > > > > proprietary library, from inside our PMD, then it would be great.
> > > > > >
> > > > > > Dynamic linking is OK.
> > > > > > I think we can accept such PMD at the condition that we can build 
> > > > > > it,
> > > > > > meaning we can easily download the build dependencies for free.
> > > > > >
> > > > > > > Let me know what you think. Or maybe you have ideas to what else
> > > > > we could do to make it upstream.
> > > > > >
> > > > > > My thinking is to allow every hardware to have a good DPDK support.
> > > > > > Every step in this direction is a progress.
> > > > > >
> > > > >
> > > > > I have to ask the question:  Why not open source your FPGA code?  That
> > > > > would make all of this a non issue.
> > > > >
> > > > > While I knows it to various degrees been done in the past, I really 
> > > > > don't
> > > > > like the idea of including drivers (even open source drivers), if 
> > > > > they have
> > > > > dependencies on closed source software.  It means that we as a
> > > > > community assume some level of responsibility for that pmd, but have
> > > > > no ability to make fixes to that pmd without accepting your license
> > > > > terms.  I understand that you are saying you currently have 
> > > > > responsibility
> > > > > for it as the license owner, but if that chages in the future, the 
> > > > > PMD has
> > > > > no use to the community.  It would be preferable if access to 
> > > > > controlling
> > > > > the hardware was just free of a proprietary license.  Then you 
> > > > > wouldn't
> > > > > have to write a stand alone pmd.
> > > > >
> > > > > Neil
> > > > I understand your concern, but it is quite normal that BSP (Board 
> > > > Support Package) is binary and has an API that is BSD licensed. The 
> > > > Napatech Suite is basically a BSP. The API that will be used in the PMD 
> > > > is a BSD licensed API and so will the PMD be. If you understand the API 
> > > > you will be able to control the hardware and thereby also be able to 
> > > > change the DPDK driver. The API is public available and so is the BSP 
> > > > binary package. A good analogy is how Android does open source develop 
> > > > for Quallcomm based HW boards, where the Quallcomm firmware is 
> > > > proprietary. Any user can download full Android stack and BSP packages 
> > > > free of charge to do Android development.
> > > > 
> > > > /Michael
> > > > 
> > > You can couch it any way you like, but regardless of how you want to view 
> > > the
> > > proprietary part of this system, the hardware is being used as a NIC in 
> > > the
> > > DPDK, and for that purpose you need a driver.  As you currently have it
> > > architected, the driver (open source or not), is useless without the 
> > > binary
> > > portion underneath it, and so is useless to any user without agreeing to 
> > > your
> > > license terms.  Pert of the benefit of open source software is that users 
> > > can
> > > continue to modify/enchance/maintain the software powering your hardware 
> > > after
> > > you decide to stop supporting it.  And so I'm not comfortable with 
> > > accepting
> > > code that doesn't allow this community to do that.
> > > 
> > > Neil
> > 
> > How different is it of having a proprietary firmware?
> > 
> Significantly in the sense that firmware ships burned or pre-programmed into 
> the
> hardware in such a way that the user isn't required to accept a EULA to use 
> it.
> The I40e card for example has a closed firmware, but when you buy a card, the
> firmware is pre-installed as part of the device, you dont need to accept
> additional terms of use prior to the device being functional with the open
> source driver.
> 
> > I think it is better for the Napatech users to have this PMD
> > supported upstream.
> But you can't support it upstream.  The Napatech folks can (and for that I'm
> appreciative), but should they decide to stop supporting it, or otherwise make
> their FPGA library unavailable, anyone outside of Napatech is left unable to 
> do
> anything with it.  It becomes inert.
> 
> > If it is too complicate to maintain and not supported by Napatech,
> > we are free to drop it.
> I agree, but again, its not "us" as in the community supporing it.  If it were
> truly open source, Napatech could decide to discontinue support tomorrow, and 
> we
> could pick up where they left off.  As it currently stands We're just acting 
> as
> a repository for Napatechs code.
> 
> I understand this is likely to happen anyway, and if it does, so be it, I just
> need to voice my concern here.

I don't know whether it will happen or not,
that's why it's good to discuss and express our opinions (thanks).

> > Adding the technical board Cc.

Now we should get a decision from the technical board.

Reply via email to