A major disadvantage to all of the CLA+BSD options in terms of covering patent issues is: most people look to the license for comfort on patent issues, and so the CLA doesn't *really* buy us any comfort for most downstream consumers on those issues.

Ed

On Thu, Dec 1, 2016 at 11:40 AM, O'Driscoll, Tim <tim.odriscoll@intel.com> wrote:
Thanks Mike. I realise you can’t say too much in public about what is essentially a legal issue.

To summarise, these are the options we seem to have:

1. Continue with BSD license and DCO:
Advantages: Easy (nothing changes). This combination has worked well for several years with many companies contributing to the project and deploying DPDK-based solutions. No CLA required.
Disadvantages: Some Linaro members may not be able to contribute and/or deploy DPDK-based solutions.

2. Use Apache 2 for new contributions:
Advantages: It’s a fairly easy change. Provides patent protection for new contributions. No CLA required.
Disadvantages: Doesn’t cover the existing DPDK code so the actual benefit of this is very small.

3. Use Apache 2 and re-license existing code:
Advantages: Patent protection for everything. No CLA required.
Disadvantage: We need to re-license everything. I suspect that’s a big effort and it will be very difficult to get agreement from everybody who's contributed. We would also need to consider DPDK code that’s dual-licensed. We have some code that’s dual BSD-GPLv2. IANAL, and I'm far from an expert on SW licensing, but I think Apache 2 is not compatible with GPLv2, so this might need to become Apache 2/GPLv3.

4. Use BSD and CLA:
Advantages: No license change. Provides patent protection for new contributions.
Disadvantages: Doesn’t cover the existing DPDK code so the actual benefit of this is very small. Need for a CLA is a problem for some contributors due to the need to get legal approval. Mike expressed concerns below about the combination of the Apache CLA and BSD license, so we'd need to create and agree a custom CLA.

5. Use BSD and CLA, and have the CLA apply retrospectively to existing code:
Advantages: No license change. Patent protection for everything.
Disadvantages: Don't know if this is even possible - can a CLA apply retrospectively to existing code? Need for a CLA is a problem for some contributors due to the need to get legal approval (presumably an even bigger problem if the CLA applies retrospectively). Mike expressed concerns below about the combination of the Apache CLA and BSD license, so we'd need to create and agree a custom CLA. Same logistical issues as for re-licensing - we'd need to track down and get agreement from all previous contributors.

Note that I’m assuming that the combination of Apache 2 and a CLA isn't an option because this seems redundant as both include patent protection. Maybe there are other reasons that would make this a valid combination though.

We do need to reach a conclusion on this and move forward. We should aim to resolve it at next week's meeting, so people should consider their position in advance of that. My vote would be for option 1.


Tim

> From: Michael Dolan [mailto:mdolan@linuxfoundation.org]
> Sent: Wednesday, November 30, 2016 5:39 PM
> To: O'Driscoll, Tim <tim.odriscoll@intel.com>
> Cc: moving@dpdk.org
> Subject: Re: [dpdk-moving] Minutes from "Moving DPDK to Linux Foundation" call, November 29th
>
> Hi Tim, sorry I couldn't make it with a LF Board meeting conflict yesterday. As for 1), most/all of our projects facing this issue decide to go Apache 2. A CLA is less preferably particularly with the BSD license. Where we do use a CLA on a project it's usually the same as the Apache CCLA/ICLA and that combined with the BSD license will I'm fairly certain not achieve what Linaro legal is probably concerned about.
>
> My guess is the members here are 90% or more of the contributors and a relicensing effort could be done within a reasonable timeframe. The project could also start under the LF with all new contributions under the Apache 2 license which is compatible with all prior BSD contributions. Or you could just required Apache 2 on any future contributions and keep the prior BSD if the relicensing is not agreeable to others.
>
> Just some thoughts on how other projects tackled this question. It would probably be best if we push any further discussion on this to a small group of your legal counsel as the various levers have different implications and I'm uncomfortable continuing this discussion without your counsel being involved.
>
> Thanks,
>
> Mike
>