Hi Guy,

I'm still here but I dropped the ball and  Idid not follow up with the Apple 
management. I'm going to do it right away.

Vincent

> On Dec 6, 2016, at 11:41 AM, Guy Harris <g...@alum.mit.edu> wrote:
> 
> On Dec 6, 2016, at 11:05 AM, Martin Dubuc <martind1...@gmail.com> wrote:
> 
>> Has there been any discussions with folks from Apple that worked on the 
>> PCAPNG API to donate there code to tcpdump project? I am sure many 
>> (including Apple) would benefit from single source for this code as far as 
>> maintenance is concerned.
> 
> This was brought up on tcpdump-worker with somebody from Apple back in 2014:
> 
>       http://seclists.org/tcpdump/2014/q3/4
> 
>       http://seclists.org/tcpdump/2014/q3/7
> 
>       http://seclists.org/tcpdump/2014/q3/40
> 
> but nothing happened after that.
> 
> Vincent?  If you're still there, has anything happened about releasing 
> Apple's libpcap changes under the BSD license rather than under the APSL?
> 
>> Martin
>> 
>> On Tue, Dec 6, 2016 at 1:32 PM, Guy Harris <g...@alum.mit.edu> wrote:
>> On Dec 6, 2016, at 10:15 AM, Martin Dubuc <martind1...@gmail.com> wrote:
>> 
>>> I am working on an application that requires to store packets in PCAPNG
>>> format. My understanding is that there isn't support for saving packets in
>>> PCAPNG format in the current code base. I have noticed that Apple has
>>> created an API in its custom version of libpcap (latest version can be
>>> viewed at https://opensource.apple.com/source/libpcap/libpcap-67/libpcap/
>>> and is based on libpcap-1.7.4), and the extension seems to be open source.
>> 
>> Open source *but* licensed under the Apple Public Source License Version 2.0:
>> 
>>        https://opensource.apple.com/apsl
>> 
>> which says:
>> 
>>        1.1      "Applicable Patent Rights" mean:  (a) in the case where 
>> Apple is the grantor of rights, (i) claims of patents that are now or 
>> hereafter acquired, owned by or assigned to Apple and (ii) that cover 
>> subject matter contained in the Original Code, but only to the extent 
>> necessary to use, reproduce and/or distribute the Original Code without 
>> infringement; and (b) in the case where You are the grantor of rights, (i) 
>> claims of patents that are now or hereafter acquired, owned by or assigned 
>> to You and (ii) that cover subject matter in Your Modifications, taken alone 
>> or in combination with Original Code.
>> 
>>        ...
>> 
>>        2.      Permitted Uses; Conditions & Restrictions.   Subject to the 
>> terms and conditions of this License, Apple hereby grants You, effective on 
>> the date You accept this License and download the Original Code, a 
>> world-wide, royalty-free, non-exclusive license, to the extent of Apple's 
>> Applicable Patent Rights and copyrights covering the Original Code, to do 
>> the following:
>> 
>>        ...
>> 
>>        2.4     Third Party Rights.  You expressly acknowledge and agree that 
>> although Apple and each Contributor grants the licenses to their respective 
>> portions of the Covered Code set forth herein, no assurances are provided by 
>> Apple or any Contributor that the Covered Code does not infringe the patent 
>> or other intellectual property rights of any other entity. Apple and each 
>> Contributor disclaim any liability to You for claims brought by any other 
>> entity based on infringement of intellectual property rights or otherwise. 
>> As a condition to exercising the rights and licenses granted hereunder, You 
>> hereby assume sole responsibility to secure any other intellectual property 
>> rights needed, if any. For example, if a third party patent license is 
>> required to allow You to distribute the Covered Code, it is Your 
>> responsibility to acquire that license before distributing the Covered Code.
>> 
>>        3.      Your Grants.  In consideration of, and as a condition to, the 
>> licenses granted to You under this License, You hereby grant to any person 
>> or entity receiving or distributing Covered Code under this License a 
>> non-exclusive, royalty-free, perpetual, irrevocable license, under Your 
>> Applicable Patent Rights and other intellectual property rights (other than 
>> patent) owned or controlled by You, to use, reproduce, display, perform, 
>> modify, sublicense, distribute and Externally Deploy Your Modifications of 
>> the same scope and extent as Apple's licenses under Sections 2.1 and 2.2 
>> above.
>> 
>>        ...
>> 
>>        5.      Limitations on Patent License.   Except as expressly stated 
>> in Section 2, no other patent rights, express or implied, are granted by 
>> Apple herein.  Modifications and/or Larger Works may require additional 
>> patent licenses from Apple which Apple may grant in its sole discretion.
>> 
>>        ...
>> 
>>        12.     Termination.
>> 
>>        12.1    Termination.  This License and the rights granted hereunder 
>> will terminate:
>> 
>>        (a)     automatically without notice from Apple if You fail to comply 
>> with any term(s) of this License and fail to cure such breach within 30 days 
>> of becoming aware of such breach;
>>        (b)     immediately in the event of the circumstances described in 
>> Section 13.5(b); or
>>        (c)     automatically without notice from Apple if You, at any time 
>> during the term of this License, commence an action for patent infringement 
>> against Apple; provided that Apple did not first commence an action for 
>> patent infringement against You in that instance.
>> 
>> I'm not sure whether the patent-related clauses - especially the 
>> "Termination" clause - would cause any vendors or distributors who currently 
>> include libpcap under its patent-clause-free BSD license not to want to 
>> include it if it includes patent clauses of that sort.
>> 
>>> Is there a plan to merge this to the libpcap at some point? Or is there
>>> plan to implement something else?
>> 
>> My inclination was to implement *some* APIs for reading files (pcapng or 
>> pcap, using the same API, so programs can transparently *read* either file 
>> type), with the full capabilities of pcapng supported, and for writing 
>> pcapng files, with a separate implementation.
>> 
>> If we can get away with implementing Apple's API independently, under the 
>> same BSD license as is used for the rest of libpcap, and that API can be 
>> used to read either pcap or pcapng files, and it supports the full 
>> capabilities of pcapng and allows support for future pcapng capabilities (as 
>> well as vendor extensions), that would probably be the right choice; 
>> otherwise, we'll implement a separate API, but try to do so in a way that 
>> allows Apple to continue to provide their API.  (They don't document the API 
>> in any man page other than the pcapng man page in the source, so they might 
>> consider it a private interface and be willing to use a different one, 
>> especially if, as I expect we'll do, we provide a version of tcpdump that 
>> supports the new API if available.
>> 
> 

_______________________________________________
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers

Reply via email to