On Tue, 09 Jan 2018 21:36:03 +0100
Thomas Monjalon <tho...@monjalon.net> 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?
> 
> I think it is better for the Napatech users to have this PMD
> supported upstream.
> If it is too complicate to maintain and not supported by Napatech,
> we are free to drop it.
> 
> Adding the technical board Cc.


Agree with Thomas.
"Bad breath is better than no breath at all"

Though I suspect that DPDK linked to proprietary code is going to unmaintainable
across releases, and very hard to debug problems. 

Reply via email to