blob: f7fe8a6708ed704c026253e5436328d97058df96 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
title: Code reuse
parent: FAQ
---
# Can I reuse Monitoring Plugins code?
Firstly, there is a distinction between a Nagios plugin and plugins from the
Monitoring Plugins project.
Although Nagios (the system) is licensed under the GPL, plugins are executed
in their own environment, so they [do not fall][aggregation] under the "viral"
aspect of the GPL. Therefore, any plugin written for use by Nagios can be
under any license the copyright holder selects.
However, the plugins contained within the Monitoring Plugins project are
distributed under the [GPL][gpl]. If you distribute an application that
includes the Monitoring Plugins (modified or not), you are required to
distribute a copy of the source code for the plugins under the terms of the
GPL, regardless of the licensing for the rest of the application.
If you write a plugin which is a derivative work from code of the Nagios
Plugins project, then your plugin must also be licensed under the GPL,
although you own the copyright for your modified portions.
*Derivative work* usually includes:
* modified versions of the plugins
* other software that contains code (modified or not) copied from the plugins
* other software that `#include`s header files from the plugins
* other software that has linked against library files from the plugins
and does not usually include:
* other software that parses the output of a plugin run from the command line,
exit status, etc.
* software that provides a "wrapper" for command line execution of the plugin
* software that uses status codes and other values which are in the header
files, but also described in the documentation (though not including or
linking to the source)
[aggregation]: http://www.gnu.org/licenses/gpl-faq.html#MereAggregation "GPL FAQ: Mere Aggregation"
[gpl]: http://www.gnu.org/licenses/gpl.html "GPLv3"
<!--% # vim:set filetype=markdown textwidth=78 joinspaces: # %-->
|