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

From: João Valverde <j@xxxxxx>
Date: Mon, 4 Dec 2023 14:21:05 +0000


On 04/12/23 13:42, Anders Broman wrote:
Hi,
Maybe you are missing the point that someone may wish to develop an in house plug-in not meant for distribution which in my understanding is permissible under GPL.

My understanding is that this is permitted under the GPL if using a GPL-compatible license for your software. It's the main difference between the GPL and so-called "permissive" licenses.


As I understand it that is no longer possible? To me that's an unnecessary restriction which we do not need to put on our users and I see no point/gain in doing so.

If you don't want to use the GPL you can choose a GPL-compatible license (BSD for example, there are many) and register your plugin with WS_PLUGIN_IS_GPLv2_COMPATIBLE. The SPDX ID is optional but helpful.

You may also use GPLv2 and just not distribute your binary (in the case of businesses and corporations outside of the collective entity that legally comprises it).

So it's not really restricting your freedom to use Wireshark, it's just respecting the terms of the GPL under which developers contribute to the project.

This is my understanding of the terms under which I choose to contribute to Wireshark. If anyone has a better understanding or reason why this interpretation of the GPL, that matches the FSF FAQ, is wrong, please do share. I'm very open to a good-faith discussion.


Best regards
Anders

Den mån 4 dec. 2023 14:05João Valverde <j@xxxxxx> skrev:

    Confused was not an offense, "GPL license" is patently not the
    same as
    "GPL-compatible license" so it is a legitimate reason to be confused.
    Please avoid unnecessary and unfair characterizations of my words.

    And I will not revert it on that basis. I will revert it if my
    understanding of the our license requirements is wrong or flawed.
    It is
    not OK for you to exempt some use-case from the license terms under
    which every developer contributes to this project.

    Gerald can revert it if he wishes and I will respect it. As
    project lead
    he can make that call.

    On 04/12/23 12:35, Roland Knall wrote:
    > I do not think there is a need for calling someone confused.
    >
    > The whole discussion is not in any way useful for our users.
    There is
    > the explicit corporate usecase, where in-house versions do exist
    with
    > their own protocols and plugins. Often times those versions do not
    > even deal with licenses for those modifications at all, and
    going from
    > the point that they change the CMakeListsCustom.txt files, one
    could
    > argue, that this is not a source code modification in the sense
    meant
    > by the gpl license.
    >
    > Joao, I agree with having a clear path for license application,
    and I
    > also agree that we should be prudent on what parts a user can
    use and
    > which he can't. I would even be ok if we have a warning in the
    > build-process, explicitly stating that the code being linked is not
    > fully compliant and therefore not allowed to be distributed. But I
    > strongly disagree cutting off the leg we are standing on just on
    pure
    > principle. The corporate users are a HUGE part of our userbase.
    And if
    > we go down this route, we need to have a proper discussion about
    this.
    > Just adding license enforcement without having the discussion is
    NOT
    > the way to move forward here.
    >
    > Please add another patch, which keeps the ABI versioning in
    (which I
    > really appreciate and think is a good thing to do), but reverts the
    > enforcement of the licenses. Then we can start to properly
    discuss how
    > to move forward with this topic. It will - most likely - require a
    > vote by the technical steering comittee.
    >
    > kind regards
    > Roland
    >
    > Am Mo., 4. Dez. 2023 um 13:23 Uhr schrieb João Valverde <j@xxxxxx>:
    >
    >
    >
    >     On 04/12/23 12:19, João Valverde wrote:
    >     >
    >     >
    >     > On 04/12/23 12:12, Bálint Réczey wrote:
    >     >> João Valverde <j@xxxxxx> ezt írta (időpont: 2023. dec. 4., H,
    >     12:59):
    >     >>>
    >     >>>
    >     >>> On 03/12/23 23:25, João Valverde wrote:
    >     >>>> Hi,
    >     >>>>
    >     >>>> There are some changes in progress to the plugin
    registration
    >     API that
    >     >>>> break compatibility and require manual intervention
    from plugin
    >     >>>> authors maintaining plugins out-of-tree. These changes
    are rather
    >     >>>> minor and concern only plugin registration, not other APIs
    >     accessible
    >     >>>> to plugins.
    >     >>>>
    >     >>>> See MR 13524:
    >     >>>>
    https://gitlab.com/wireshark/wireshark/-/merge_requests/13524
    >     >>>>
    >     >>>> Changes required are rewriting the registration code (very
    >     easy to do
    >     >>>> [1]) and declare (using a C enum) that the plugin is
    released
    >     either
    >     >>>> under GPLv2 or later, or a GPLv2 compatible license. The
    >     other changes
    >     >>>> to the ABI version number are
    >     >>> The choice of the word "released" here was unfortunate,
    >     because it may
    >     >>> imply distribution. Please consider "licensed" instead.
    >     >>>
    >     >>> The license declaration field just affirms what was already
    >     implicit:
    >     >>> Wireshark plugins must use licensing terms compatible
    with the GPL
    >     >>> version 2, so there is no policy change there.
    >     >> GPL allows linking and using GPL-licensed software with
    >     >> non-GPL-licensed software locally. This is an important
    use case of
    >     >> many Wireshark users who do not wish releasing their plugins
    >     and your
    >     >> change broke that. Please revert it.
    >     >>
    >     >
    >     > https://www.gnu.org/licenses/gpl-faq.html#IfLibraryIsGPL
    >
    >     Also it does not require a GPL license, it requires a
    GPL-compatible
    >     license, so you may just be confused.
    >
    >     >
    >     >>>> currently not relevant to plugin authors (no policy
    change is
    >     >>>> implied), it just uses less boilerplate with macros.
    >     >>>>
    >     >>>> This should improve the plug-in experience for both
    >     developers and
    >     >>>> users and may improve compatibility in the future.
    >     >>
    >     >>>> Comments welcome.
    >     >>>>
    >     >>>> Regards,
    >     >>>>
    >     >>>> João
    >     >>>>
    >     >>>>
    >   
     [1]https://gitlab.com/wireshark/wireshark/-/commit/90b16b40921b737aadf9186685d866fd80e37ee6#4a1fe9011e8240918e5fc6230c0bcd2e4d3b9c34
    >
    >     >>>>
    >     >>>>
    >     >>>>
    >
     ___________________________________________________________________________
    >
    >     >>>>
    >     >>>>
    >     >>>> Sent via:    Wireshark-dev mailing list
    >     <wireshark-dev@xxxxxxxxxxxxx>
    >     >>>> Archives: https://www.wireshark.org/lists/wireshark-dev
    >     >>>> Unsubscribe:
    > https://www.wireshark.org/mailman/options/wireshark-dev
    >     >>>>
    mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe
    >     >>>
    >
     ___________________________________________________________________________
    >
    >     >>>
    >     >>> Sent via:    Wireshark-dev mailing list
    >     <wireshark-dev@xxxxxxxxxxxxx>
    >     >>> Archives: https://www.wireshark.org/lists/wireshark-dev
    >     >>> Unsubscribe:
    > https://www.wireshark.org/mailman/options/wireshark-dev
    >     >>>
    mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe
    >     >>
    >
     ___________________________________________________________________________
    >
    >     >>
    >     >> Sent via:    Wireshark-dev mailing list
    >     <wireshark-dev@xxxxxxxxxxxxx>
    >     >> Archives: https://www.wireshark.org/lists/wireshark-dev
    >     >> Unsubscribe:
    > https://www.wireshark.org/mailman/options/wireshark-dev
    >     >>
    mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe
    >     >
    >     >
    >
     ___________________________________________________________________________
    >
    >     >
    >     > Sent via:    Wireshark-dev mailing list
    >     <wireshark-dev@xxxxxxxxxxxxx>
    >     > Archives: https://www.wireshark.org/lists/wireshark-dev
    >     > Unsubscribe:
    https://www.wireshark.org/mailman/options/wireshark-dev
    >     > mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe
    >
    >
     ___________________________________________________________________________
    >     Sent via:    Wireshark-dev mailing list
    <wireshark-dev@xxxxxxxxxxxxx>
    >     Archives: https://www.wireshark.org/lists/wireshark-dev
    >     Unsubscribe:
    https://www.wireshark.org/mailman/options/wireshark-dev
    >
    >      mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe
    >
    >
    >
    ___________________________________________________________________________
    > Sent via:    Wireshark-dev mailing list
    <wireshark-dev@xxxxxxxxxxxxx>
    > Archives: https://www.wireshark.org/lists/wireshark-dev
    > Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
    >             
     mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe

    ___________________________________________________________________________
    Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
    Archives: https://www.wireshark.org/lists/wireshark-dev
    Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
               
     mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe


___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
              mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe