I have a proprietary application performance monitoring product that receives network data, decodes it, correlates it in various ways and then provides statistical, alerting, summary, and other information to users.
I would like to use the Wireshark dissectors to get at a wider variety of protocols.
The intent would be to either: (a) encapsulate the necessary libraries into a DLL which I would give out publicly (i.e. the complete DLL source and, of course, any wireshark code), OR (b) encapsulate the libraries into a separate C program which my proprietary code would communicate with over pipes (again giving out all source to the C program and any wireshark code). Of course, in both cases, any modifications I make to any dissectors and any new dissectors I write would be made public.
Is there any problem with doing this while still keeping my core APM application proprietary?
This question is marked "community wiki".
asked 22 Mar '13, 15:22
A DLL is a dynamically linked library, and therefore under the constraints of GPLv2 (which Wireshark is licensed under) you would be required to make all of your application source code available as well if you used it that way. Using a pipe, however, keeps it "at arms length" and does not create a derivative work and therefore does not require you to release your separate application source code. (IANAL, however, so this isn't legal advice)
See the FAQ.
answered 22 Mar '13, 20:32