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.

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