Wireshark-dev: Re: [Wireshark-dev] Changes to the plugin registration API

From: João Valverde <j@xxxxxx>
Date: Tue, 5 Dec 2023 15:31:22 +0000


On 04/12/23 23:48, João Valverde wrote:

On 04/12/23 22:57, Gerald Combs wrote:
On 12/4/23 12:43 PM, João Valverde wrote:

https://www.gnu.org/licenses/gpl-faq.html#GPLAndPlugins

https://www.gnu.org/licenses/gpl-faq.html#LinkingWithGPL

Gerald: "As far as I know the GPL doesn't place any restrictions on making an internal combined work with GPL and non-GPL software"

Is this really correct? Is it possible to comply with the GPLv2 and modify Wireshark to use a third-party proprietary library, even if it is only used internally? Can corporation A legally modify Wireshark source code to use a proprietary library licensed by corporation B to corporation A, even if they never release this modified version outside of A's organization? I would be surprised if that were the case.

You're the one insisting that the GPLv2 prohibits this, so where does it say that? The only clause I can find in the GPLv2 that directly addresses modification is 2a:

"You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change."

That's it. I don't see anything that prohibits me from combining GPL code with proprietary code on my personal machine or my company laptop. *However*, the very next clause (2b) says

"You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License."

...so if you do combine Wireshark with some piece of GPL-incompatible code, you certainly can't distribute it under the terms of the GPL, and in Wireshark's case it means you can't distribute your combined work at all since Wireshark is only available under the GPL.


I said I would be surprised so you may be right about this. I will need to do more research to draw a definitive conclusion.


After looking into it in more detail I believe you are correct. The restrictions are covered in section 2b and the compatibility requirements only kick in when distributing and publishing.

I will remove the license enforcement code. After thinking about it some more and listening to all the feedback I think it is both too restrictive for private use and too permissive for distribution.