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

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


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


On 04/12/23 14:32, Anders Broman wrote:
Hi,
Company plug-ins may have restrictive license as the purpose is to only use them internally no public usage "secret" code for proprietary protocols under patents or IPL. Do we really want to forbid that? In that case why should companies provide code to Wireshark rather than just fork and build internally.

I understand the argument and why that is a point of contention, but that does not change the terms of the GPL which must be abided by even if this commit was never merged in the first place.

I don't think it is a question of whether we want to forbid it, it is whether we can allow it. I believe the answer to that is a clear no if we want to respect the terms of the GPLv2 (and I'm fine with that). I am not a license lawyer so this is just my understanding of the legalities involved.

...nor any other kind of lawyer. :-)

There are many reasons why companies may choose to contribute or not. Other companies may choose not to contribute to projects not using the GPL. And individual developers may or may not want to contribute. Etc. We can also debate that but it might veer off-topic.

Best regards

A ders

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



    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

___________________________________________________________________________
    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