[AGENT++] SNMP++ and AGENT++ license clarifications

Luca Ceresoli luca at lucaceresoli.net
Thu Feb 14 23:39:59 CET 2013


Dear SNMP++ and AGENT++ developers,

I am an embedded systems developer and I am evaluating to use the SNMP++
and AGENT++ libraries for an embedded system, but I need some
clarifications about their licenses.

I also would like to package SNMP++ and AGENT++ in Buildroot and send
patches to the Buildroot project for mainline inclusion.

Buildroot (http://buildroot.net) is a set of Makefiles and patches that
makes it easy to generate a complete embedded Linux system. Il does so
by downloading the sources, patching them if needed, configuring,
cross-compiling and installing each package to generate a root
filesystem suitable for an embedded system.
Packaging a new software in Buildroot is a matter of writing a small
"recipe" file that instructs the Buildroot infrastructure on how to
handle the specific package. Here is an example recipe file:
http://git.buildroot.net/buildroot/tree/package/logrotate/logrotate.mk


Question 1: can I download the sources, modify them (nothing big: only a
few lines to fix a bug), use them to implement an SNMP agent, and put a
binary version of the agent and the libraries in the firmware of a
commercial embedded device?

To the best of my understanding, the SNMP++ allows to do so.

The following sentence in the AGENT++ license, if my interpretation is
correct, allows to do so as well, because I am going to develop an SNMP
agent:

 >  The Licensee may distribute  binaries derived from or contained within
 >  AGENT++ provided that:
 >
 >  1) The Binaries are  not integrated,  bundled, combined, or otherwise
 >     associated with a SNMP agent development environment or  SNMP agent
 >     development tool; and
 >
 >  2) The Binaries are not a documented part of any distribution material.


Question 2: if I made modifications to the software (both SNMP++ and
AGENT++), such as small bugfixes, can I send patches to the authors via
this mailing-list (or elsewhere)? Will patches be considered for
inclusion in the mainline software?


Question 3: if I'm allowed to use the libraries as per question 1,
should I also distribute SNMP++ and AGENT++ sources (with my
modifications, if any) to those who receive a binary copy of the program
(i.e. customers buying the final product?). The SNMP++ license states:

 > User
 > hereby grants a royalty-free license to any and all derivatives based
 > upon this software code base.

Which does not make it clear to me if it is mandatory to redistribute
the sources, but I am pretty sure it does allow redistribution.

About AGENT++, I think The following sentences seems to say that I am
_not_ allowed to redistribute the sources without written consent, but I
may be wrong:

 >  Licensee may copy materials   within or otherwise related   to AGENT++
 >  that bear the author's copyright only  as required for backup purposes
 >  or for use solely by the Licensee.
...
 >  Licensee may  modify  the sources  of AGENT++ for the Licensee's  own
 >  purposes.  Thus, Licensee  may  not  distribute modified  sources  of
 >  AGENT++ without prior written consent from the authors.

This has a peculiar relevance to the Buildroot project. The Builroot
maintainer runs an automatic nightly task that downloads the source
tarballs for all packages in Buildroot, storing them in the
buildroot.net server. This allows people using Buildroot to be able to
fetch that package sources even in the case the original URL is not
available anymore, even when working with an old Buildroot release.

This implies that, if a package is included in Buildroot, the Buildroot
server will de facto redistribute the SNMP++ and AGENT++ source
packages. These would be an exact copy of the tar.gz that gets fetched
from agentpp.com.

I look forward to receive your clarifications.

Thanks in advance,
Luca



More information about the AGENTPP mailing list