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

License of dissectors written in Lua?


I started developing some dissectors in Lua for a non public communication protocol for a commercial product. According to discussions some time ago on the wireshark-dev mailing list (e.g. [Wireshark-dev] wireshark dissector and GPL) you'll have to apply the GPL to your dissector, but I assume topic of the discussion was a dissector written in C. Does this also apply to dissectors written in Lua?

Bonus question: Regardless how the code must be licensed, it will be used internally only and not selled or given to customers. Do I remember correctly, that the GPL does not force you to publish your code? As far as I remember I can develop tons of GPL code internally here and never have to show it to anyone. Right?

asked 22 Nov '10, 06:40

LeSpocky's gravatar image

accept rate: 0%

One Answer:


I'm not a licensing lawyer, so I can't give an authoritative answer about the license for Lua code written for Wireshark (which is not, as far as I know, restricted to dissectors). The Lua interpreter itself is not GPL, but it's linked into a program that's GPLed, and the Wireshark version offers primitives that call GPLed code in Wireshark. I don't know whether that's sufficient to make Lua code that uses those primitives GPLed or not. (Jaap: Yes, it does make the GPL apply).

The GPL does does not require that you make your code public; it just requires that you make the source code available to whoever gets the binary code.

answered 22 Nov '10, 13:48

Guy%20Harris's gravatar image

Guy Harris ♦♦
accept rate: 19%

edited 22 Nov '10, 22:55

Jaap's gravatar image

Jaap ♦

I don't know whether that's sufficient to make Lua code that uses those primitives GPLed or not.

That is the very question. From my point of view I only write a script which is interpreted by a GPL software. Does this force me to license the script under GPL?

(I understand I'm forced to, if I write C code which is compiled and directly linked to Wireshark.)

Thanks for clarifying the publication issue.

(23 Nov '10, 01:15) LeSpocky

As said: making use of functions in Wireshark makes the GPL apply. This condition is programming language agnostic.

In order to stay clear of GPL'ed code your code has to stay 'at arms length', either communicate through sockets or other common communication channels, or make OS API calls.

(23 Nov '10, 05:49) Jaap ♦

Ok thank you, the last explanation was sufficient (although I'm still a bit confused about this editing existing posts thing). :-)

(24 Nov '10, 00:24) LeSpocky