All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hector Martin <marcan@marcan.st>
To: Rob Herring <robh@kernel.org>, Sasha Finkelstein <fnkl.kernel@gmail.com>
Cc: thierry.reding@gmail.com, krzysztof.kozlowski+dt@linaro.org,
	sven@svenpeter.dev, alyssa@rosenzweig.io, asahi@lists.linux.dev,
	linux-arm-kernel@lists.infradead.org, linux-pwm@vger.kernel.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH RESEND v3 2/4] pwm: Add Apple PWM controller
Date: Wed, 23 Nov 2022 11:37:08 +0900	[thread overview]
Message-ID: <29c800dd-efdf-ddab-3ad2-466e1a8eb7d2@marcan.st> (raw)
In-Reply-To: <20221123022438.GA1006695-robh@kernel.org>

On 23/11/2022 11.24, Rob Herring wrote:
> On Mon, Nov 21, 2022 at 08:42:26PM +0300, Sasha Finkelstein wrote:
>> diff --git a/drivers/pwm/pwm-apple.c b/drivers/pwm/pwm-apple.c
>> new file mode 100644
>> index 000000000000..b0c3f86fd578
>> --- /dev/null
>> +++ b/drivers/pwm/pwm-apple.c
>> @@ -0,0 +1,127 @@
>> +// SPDX-License-Identifier: GPL-2.0 OR MIT
> 
> Kernel code is generally GPL-2.0 only. No other PWM driver is MIT 
> licensed. So why this one.
> 
> Mixing licenses is a problem because few people look at the licenses 
> when copying code around.

*Sigh*. We encourage the use of MIT dual-licensing as a project to allow
other OSes to port the drivers over without having to rewrite them, for
any driver written from scratch. We've had this conversation quite a few
times already...

>> +
>> +	ret = devm_pwmchip_add(&pdev->dev, &pwm->chip);
> 
> This symbol is EXPORT_SYMBOL_GPL. So how can this module be MIT 
> licensed?

Because they are compatible licenses. The combination of this driver and
the kernel is GPL, but this driver itself is MIT. People are free to
port it to other OSes and reimplement devm_pwmchip_add or replace the
call with something else.

The EXPORT_SYMBOL_GPL stuff is about blocking *proprietary*
GPL-incompatible modules from using those symbols. This is a
GPL-compatible, explicitly dual-licensed module.

In this case the driver is trivial enough there isn't much to gain from
dual-licensing since the parts that matter (the reverse engineering) are
not copyrightable, but I still find it silly that we keep getting told
more permissive licensing is a problem. People are free to dual-license
their work as they see fit, it's a fundamental freedom in free software,
and plenty of kernel code is dual-licensed like this (including much of
DRM and entire GPU drivers).

- Hector

WARNING: multiple messages have this Message-ID (diff)
From: Hector Martin <marcan@marcan.st>
To: Rob Herring <robh@kernel.org>, Sasha Finkelstein <fnkl.kernel@gmail.com>
Cc: thierry.reding@gmail.com, krzysztof.kozlowski+dt@linaro.org,
	sven@svenpeter.dev, alyssa@rosenzweig.io, asahi@lists.linux.dev,
	linux-arm-kernel@lists.infradead.org, linux-pwm@vger.kernel.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH RESEND v3 2/4] pwm: Add Apple PWM controller
Date: Wed, 23 Nov 2022 11:37:08 +0900	[thread overview]
Message-ID: <29c800dd-efdf-ddab-3ad2-466e1a8eb7d2@marcan.st> (raw)
In-Reply-To: <20221123022438.GA1006695-robh@kernel.org>

On 23/11/2022 11.24, Rob Herring wrote:
> On Mon, Nov 21, 2022 at 08:42:26PM +0300, Sasha Finkelstein wrote:
>> diff --git a/drivers/pwm/pwm-apple.c b/drivers/pwm/pwm-apple.c
>> new file mode 100644
>> index 000000000000..b0c3f86fd578
>> --- /dev/null
>> +++ b/drivers/pwm/pwm-apple.c
>> @@ -0,0 +1,127 @@
>> +// SPDX-License-Identifier: GPL-2.0 OR MIT
> 
> Kernel code is generally GPL-2.0 only. No other PWM driver is MIT 
> licensed. So why this one.
> 
> Mixing licenses is a problem because few people look at the licenses 
> when copying code around.

*Sigh*. We encourage the use of MIT dual-licensing as a project to allow
other OSes to port the drivers over without having to rewrite them, for
any driver written from scratch. We've had this conversation quite a few
times already...

>> +
>> +	ret = devm_pwmchip_add(&pdev->dev, &pwm->chip);
> 
> This symbol is EXPORT_SYMBOL_GPL. So how can this module be MIT 
> licensed?

Because they are compatible licenses. The combination of this driver and
the kernel is GPL, but this driver itself is MIT. People are free to
port it to other OSes and reimplement devm_pwmchip_add or replace the
call with something else.

The EXPORT_SYMBOL_GPL stuff is about blocking *proprietary*
GPL-incompatible modules from using those symbols. This is a
GPL-compatible, explicitly dual-licensed module.

In this case the driver is trivial enough there isn't much to gain from
dual-licensing since the parts that matter (the reverse engineering) are
not copyrightable, but I still find it silly that we keep getting told
more permissive licensing is a problem. People are free to dual-license
their work as they see fit, it's a fundamental freedom in free software,
and plenty of kernel code is dual-licensed like this (including much of
DRM and entire GPU drivers).

- Hector

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2022-11-23  2:42 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-21 17:42 [PATCH RESEND v3 0/4] PWM and keyboard backlight driver for ARM Macs Sasha Finkelstein
2022-11-21 17:42 ` Sasha Finkelstein
2022-11-21 17:42 ` [PATCH RESEND v3 1/4] dt-bindings: pwm: Add Apple PWM controller Sasha Finkelstein
2022-11-21 17:42   ` Sasha Finkelstein
2022-11-28 15:08   ` Uwe Kleine-König
2022-11-28 15:08     ` Uwe Kleine-König
2022-11-21 17:42 ` [PATCH RESEND v3 2/4] " Sasha Finkelstein
2022-11-21 17:42   ` Sasha Finkelstein
2022-11-23  2:24   ` Rob Herring
2022-11-23  2:24     ` Rob Herring
2022-11-23  2:37     ` Hector Martin [this message]
2022-11-23  2:37       ` Hector Martin
2022-11-28 15:06   ` Uwe Kleine-König
2022-11-28 15:06     ` Uwe Kleine-König
2022-11-21 17:42 ` [PATCH RESEND v3 3/4] arm64: dts: apple: t8103: Add " Sasha Finkelstein
2022-11-21 17:42   ` Sasha Finkelstein
2022-11-23  2:28   ` Rob Herring
2022-11-23  2:28     ` Rob Herring
2022-11-21 17:42 ` [PATCH RESEND v3 4/4] MAINTAINERS: Add entries for Apple PWM driver Sasha Finkelstein
2022-11-21 17:42   ` Sasha Finkelstein

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=29c800dd-efdf-ddab-3ad2-466e1a8eb7d2@marcan.st \
    --to=marcan@marcan.st \
    --cc=alyssa@rosenzweig.io \
    --cc=asahi@lists.linux.dev \
    --cc=devicetree@vger.kernel.org \
    --cc=fnkl.kernel@gmail.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pwm@vger.kernel.org \
    --cc=robh@kernel.org \
    --cc=sven@svenpeter.dev \
    --cc=thierry.reding@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.