This is a static archive of our old Q&A Site. Please post any new questions and answers at ask.wireshark.org.

Software Developer

0

Would using a Lua dissector distributed under a non-disclosure agreement be a violation of Wireshark Terms of use?

asked 24 Jun '11, 10:20

MotoMike's gravatar image

MotoMike
1111
accept rate: 0%

edited 30 Jun '11, 18:26

cmaynard's gravatar image

cmaynard ♦♦
9.4k1038142


One Answer:

0

That would violate GPL under which Wireshark is licensed. Lua dissectors (which use bindings to Wireshark) must be distributed under GPL.

From GPL FAQ:

If a programming language interpreter is released under the GPL, does that mean programs written to be interpreted by it must be under GPL-compatible licenses?

When the interpreter just interprets a language, the answer is no. The interpreted program, to the interpreter, is just data; a free software license like the GPL, based on copyright law, cannot limit what data you use the interpreter on. You can run it on any data (interpreted program), any way you like, and there are no requirements about licensing that data to anyone.

However, when the interpreter is extended to provide “bindings” to other facilities (often, but not necessarily, libraries), the interpreted program is effectively linked to the facilities it uses through these bindings. So if these facilities are released under the GPL, the interpreted program that uses them must be released in a GPL-compatible way. The JNI or Java Native Interface is an example of such a binding mechanism; libraries that are accessed in this way are linked dynamically with the Java programs that call them. These libraries are also linked with the interpreter. If the interpreter is linked statically with these libraries, or if it is designed to link dynamically with these specific libraries, then it too needs to be released in a GPL-compatible way.

Another similar and very common case is to provide libraries with the interpreter which are themselves interpreted. For instance, Perl comes with many Perl modules, and a Java implementation comes with many Java classes. These libraries and the programs that call them are always dynamically linked together.

A consequence is that if you choose to use GPL'd Perl modules or Java classes in your program, you must release the program in a GPL-compatible way, regardless of the license used in the Perl or Java interpreter that the combined Perl or Java program will run on.

Does the GPL allow me to distribute copies under a nondisclosure agreement?

No. The GPL says that anyone who receives a copy from you has the right to redistribute copies, modified or not. You are not allowed to distribute the work on any more restrictive basis.

If someone asks you to sign an NDA for receiving GPL-covered software copyrighted by the FSF, please inform us immediately by writing to [email protected]

If the violation involves GPL-covered code that has some other copyright holder, please inform that copyright holder, just as you would for any other kind of violation of the GPL.

Does the GPL allow me to distribute a modified or beta version under a nondisclosure agreement?

No. The GPL says that your modified versions must carry all the freedoms stated in the GPL. Thus, anyone who receives a copy of your version from you has the right to redistribute copies (modified or not) of that version. You may not distribute any version of the work on a more restrictive basis.

Does the GPL allow me to develop a modified version under a nondisclosure agreement?

Yes. For instance, you can accept a contract to develop changes and agree not to release your changes until the client says ok. This is permitted because in this case no GPL-covered code is being distributed under an NDA.

You can also release your changes to the client under the GPL, but agree not to release them to anyone else unless the client says ok. In this case, too, no GPL-covered code is being distributed under an NDA, or under any additional restrictions.

The GPL would give the client the right to redistribute your version. In this scenario, the client will probably choose not to exercise that right, but does have the right.

answered 24 Jun '11, 12:51

bstn's gravatar image

bstn
3751415
accept rate: 14%

Thanks for your input, but this is not exactly what I asked about. I do not write extensions for WireShark and have no intent of doing so. I got WireShark Lua dissectors written for analyzing proprietary network protocols. The dissectors were released by a third party under a non-disclosure agreement I signed. My question is not whether distributing WireShark Lua dissectors under a non-disclosure agreement is permissible. My question is whether me using dissectors distributed in this fashion constitute a violation of WireShark Terms of Use?

(24 Jun '11, 13:53) MotoMike
1

You using the dissectors distributed in this fashion does not violate the Wireshark license (the GPL).

The third party releasing the dissectors under that non-disclosure agreement, however, does violate the GPL. They are not within their rights to require a non-disclosure from you in order to use their dissectors.

(24 Jun '11, 14:47) Guy Harris ♦♦
1

@MotoMike, if you go to Wireshark's About menu and click on License, you'll see:

Wireshark is distributed under the GNU GPLv2. There are no restrictions on its use. There are restrictions on its distribution in source or binary form.

(24 Jun '11, 14:51) bstn