public inbox for libstdc++@gcc.gnu.org
 help / color / mirror / Atom feed
* GPL carve-out missing for barrier
@ 2022-09-06 10:29 Tom James
  2022-09-06 10:56 ` Jonathan Wakely
  0 siblings, 1 reply; 6+ messages in thread
From: Tom James @ 2022-09-06 10:29 UTC (permalink / raw)
  To: libstdc++; +Cc: Moritz Kreutzer, Jones, Philip

[-- Attachment #1: Type: text/plain, Size: 1257 bytes --]

Hi,

I'm working on a closed-source c++ project that compiles with gcc 11.2.  We
need to ship the GNU 11.2 run-time alongside our product, and it looks like
the std::barrier header is missing the GPL3 carve-out for shipping
run-times.

For the purposes of comparison, let's look at algorithm:
https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/algorithm

Lines 16-18 read as follows:
  // Under Section 7 of GPL version 3, you are granted additional
  // permissions described in the GCC Runtime Library Exception, version
  // 3.1, as published by the Free Software Foundation.

These lines are necessary to prevent the GPL infecting our closed-source
code.

The barrier header appears to be missing these lines:
https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/barrier


Would it be possible to please make the following changes?
1.  Add these lines to the master branch,
2.  Backport these lines to gnu 11.2 (which is the most recent version
supported by our toolchain).

Thanks,
Tom


-- 
Tom James

Siemens Digital Industries Software
Simulation and Test Solutions, Solution Domains Development, Server,
Platform, Simulation Framework, High Performance Computing
thomasjames@siemens.com
sw.siemens.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: GPL carve-out missing for barrier
  2022-09-06 10:29 GPL carve-out missing for barrier Tom James
@ 2022-09-06 10:56 ` Jonathan Wakely
  2022-09-07  9:49   ` Tom James
  0 siblings, 1 reply; 6+ messages in thread
From: Jonathan Wakely @ 2022-09-06 10:56 UTC (permalink / raw)
  To: Tom James; +Cc: libstdc++, Moritz Kreutzer, Jones, Philip

On Tue, 6 Sept 2022 at 11:29, Tom James <tom.james@cd-adapco.com> wrote:
>
> Hi,
>
> I'm working on a closed-source c++ project that compiles with gcc 11.2.  We
> need to ship the GNU 11.2 run-time alongside our product, and it looks like
> the std::barrier header is missing the GPL3 carve-out for shipping
> run-times.

Ouch, I'm pretty sure that's unintentional. I'll go back through my
email to confirm that.


> For the purposes of comparison, let's look at algorithm:
> https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/algorithm
>
> Lines 16-18 read as follows:
>   // Under Section 7 of GPL version 3, you are granted additional
>   // permissions described in the GCC Runtime Library Exception, version
>   // 3.1, as published by the Free Software Foundation.
>
> These lines are necessary to prevent the GPL infecting our closed-source
> code.

What exactly are you shipping? There is no code from <barrier> in
libstdc++.so so unless your own code is including the <barrier> header
and odr-using the inline functions and templates in that header, I
think your compiled code will not be affected by the license of
<barrier>. If you are including that header in the works you
propagate, or shipping it to customers for compiling their own works
which they will propagate, then the license exception matters.

> The barrier header appears to be missing these lines:
> https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/barrier
>
>
> Would it be possible to please make the following changes?
> 1.  Add these lines to the master branch,
> 2.  Backport these lines to gnu 11.2 (which is the most recent version
> supported by our toolchain).

No, we can't backport anything to 11.2 because that's already been released.

I'll add it to the master, gcc-12, and gcc-11 branches, which will
mean it's present for 11.4, 12.3 and 13.1 (and all releases that
follow them).

If you are producing a combined work that includes the <barrier> code,
then unless/until you're able to wait for 11.4 and use that, you could
copy the fixed header into your own GCC 11.2 that you distribute.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: GPL carve-out missing for barrier
  2022-09-06 10:56 ` Jonathan Wakely
@ 2022-09-07  9:49   ` Tom James
  2022-09-07 11:22     ` Jonathan Wakely
  0 siblings, 1 reply; 6+ messages in thread
From: Tom James @ 2022-09-07  9:49 UTC (permalink / raw)
  To: Jonathan Wakely; +Cc: libstdc++, Moritz Kreutzer, Jones, Philip

[-- Attachment #1: Type: text/plain, Size: 2977 bytes --]

Hi Jonathan,

Thanks for that, that's all useful information.

I've had a more detailed chat with our legal people and I think getting
this fixed in master solves the problem for us.

I had wondered whether it would be possible to bump the 11.2 tag to
include this change because it's not code, but actually that shouldn't be
necessary.  It looks like we don't use barrier at the moment, and we're
unlikely to do so any time soon.

Thanks,
Tom

On Tue, 6 Sept 2022 at 11:56, Jonathan Wakely <jwakely.gcc@gmail.com> wrote:

> On Tue, 6 Sept 2022 at 11:29, Tom James <tom.james@cd-adapco.com> wrote:
> >
> > Hi,
> >
> > I'm working on a closed-source c++ project that compiles with gcc 11.2.
> We
> > need to ship the GNU 11.2 run-time alongside our product, and it looks
> like
> > the std::barrier header is missing the GPL3 carve-out for shipping
> > run-times.
>
> Ouch, I'm pretty sure that's unintentional. I'll go back through my
> email to confirm that.
>
>
> > For the purposes of comparison, let's look at algorithm:
> >
> https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/algorithm
> >
> > Lines 16-18 read as follows:
> >   // Under Section 7 of GPL version 3, you are granted additional
> >   // permissions described in the GCC Runtime Library Exception, version
> >   // 3.1, as published by the Free Software Foundation.
> >
> > These lines are necessary to prevent the GPL infecting our closed-source
> > code.
>
> What exactly are you shipping? There is no code from <barrier> in
> libstdc++.so so unless your own code is including the <barrier> header
> and odr-using the inline functions and templates in that header, I
> think your compiled code will not be affected by the license of
> <barrier>. If you are including that header in the works you
> propagate, or shipping it to customers for compiling their own works
> which they will propagate, then the license exception matters.
>
> > The barrier header appears to be missing these lines:
> >
> https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/barrier
> >
> >
> > Would it be possible to please make the following changes?
> > 1.  Add these lines to the master branch,
> > 2.  Backport these lines to gnu 11.2 (which is the most recent version
> > supported by our toolchain).
>
> No, we can't backport anything to 11.2 because that's already been
> released.
>
> I'll add it to the master, gcc-12, and gcc-11 branches, which will
> mean it's present for 11.4, 12.3 and 13.1 (and all releases that
> follow them).
>
> If you are producing a combined work that includes the <barrier> code,
> then unless/until you're able to wait for 11.4 and use that, you could
> copy the fixed header into your own GCC 11.2 that you distribute.
>


-- 
Tom James

Siemens Digital Industries Software
Simulation and Test Solutions, Solution Domains Development, Server,
Platform, Simulation Framework, High Performance Computing
thomasjames@siemens.com
sw.siemens.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: GPL carve-out missing for barrier
  2022-09-07  9:49   ` Tom James
@ 2022-09-07 11:22     ` Jonathan Wakely
  2022-09-07 19:27       ` Jonathan Wakely
  0 siblings, 1 reply; 6+ messages in thread
From: Jonathan Wakely @ 2022-09-07 11:22 UTC (permalink / raw)
  To: Tom James; +Cc: libstdc++, Moritz Kreutzer, Jones, Philip

On Wed, 7 Sept 2022 at 10:49, Tom James <tom.james@cd-adapco.com> wrote:
>
> Hi Jonathan,
>
> Thanks for that, that's all useful information.
>
> I've had a more detailed chat with our legal people and I think getting this fixed in master solves the problem for us.
>
> I had wondered whether it would be possible to bump the 11.2 tag

No, definitely not.

> to include this change because it's not code, but actually that shouldn't be necessary.  It looks like we don't use barrier at the moment, and we're unlikely to do so any time soon.
>
> Thanks,
> Tom
>
> On Tue, 6 Sept 2022 at 11:56, Jonathan Wakely <jwakely.gcc@gmail.com> wrote:
>>
>> On Tue, 6 Sept 2022 at 11:29, Tom James <tom.james@cd-adapco.com> wrote:
>> >
>> > Hi,
>> >
>> > I'm working on a closed-source c++ project that compiles with gcc 11.2.  We
>> > need to ship the GNU 11.2 run-time alongside our product, and it looks like
>> > the std::barrier header is missing the GPL3 carve-out for shipping
>> > run-times.
>>
>> Ouch, I'm pretty sure that's unintentional. I'll go back through my
>> email to confirm that.
>>
>>
>> > For the purposes of comparison, let's look at algorithm:
>> > https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/algorithm
>> >
>> > Lines 16-18 read as follows:
>> >   // Under Section 7 of GPL version 3, you are granted additional
>> >   // permissions described in the GCC Runtime Library Exception, version
>> >   // 3.1, as published by the Free Software Foundation.
>> >
>> > These lines are necessary to prevent the GPL infecting our closed-source
>> > code.
>>
>> What exactly are you shipping? There is no code from <barrier> in
>> libstdc++.so so unless your own code is including the <barrier> header
>> and odr-using the inline functions and templates in that header, I
>> think your compiled code will not be affected by the license of
>> <barrier>. If you are including that header in the works you
>> propagate, or shipping it to customers for compiling their own works
>> which they will propagate, then the license exception matters.
>>
>> > The barrier header appears to be missing these lines:
>> > https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/barrier
>> >
>> >
>> > Would it be possible to please make the following changes?
>> > 1.  Add these lines to the master branch,
>> > 2.  Backport these lines to gnu 11.2 (which is the most recent version
>> > supported by our toolchain).
>>
>> No, we can't backport anything to 11.2 because that's already been released.
>>
>> I'll add it to the master, gcc-12, and gcc-11 branches, which will
>> mean it's present for 11.4, 12.3 and 13.1 (and all releases that
>> follow them).
>>
>> If you are producing a combined work that includes the <barrier> code,
>> then unless/until you're able to wait for 11.4 and use that, you could
>> copy the fixed header into your own GCC 11.2 that you distribute.
>
>
>
> --
> Tom James
>
> Siemens Digital Industries Software
> Simulation and Test Solutions, Solution Domains Development, Server, Platform, Simulation Framework, High Performance Computing
> thomasjames@siemens.com
> sw.siemens.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: GPL carve-out missing for barrier
  2022-09-07 11:22     ` Jonathan Wakely
@ 2022-09-07 19:27       ` Jonathan Wakely
  2022-09-08  7:37         ` Tom James
  0 siblings, 1 reply; 6+ messages in thread
From: Jonathan Wakely @ 2022-09-07 19:27 UTC (permalink / raw)
  To: Tom James; +Cc: libstdc++, Moritz Kreutzer, Jones, Philip

On Wed, 7 Sept 2022 at 12:22, Jonathan Wakely <jwakely.gcc@gmail.com> wrote:
>
> On Wed, 7 Sept 2022 at 10:49, Tom James <tom.james@cd-adapco.com> wrote:
> >
> > Hi Jonathan,
> >
> > Thanks for that, that's all useful information.
> >
> > I've had a more detailed chat with our legal people and I think getting this fixed in master solves the problem for us.

I've pushed the change to master now. Backports will follow at some
point before the next releases from the branches.

Thanks for noticing the problem and bringing it to our attention!



> >
> > I had wondered whether it would be possible to bump the 11.2 tag
>
> No, definitely not.
>
> > to include this change because it's not code, but actually that shouldn't be necessary.  It looks like we don't use barrier at the moment, and we're unlikely to do so any time soon.
> >
> > Thanks,
> > Tom
> >
> > On Tue, 6 Sept 2022 at 11:56, Jonathan Wakely <jwakely.gcc@gmail.com> wrote:
> >>
> >> On Tue, 6 Sept 2022 at 11:29, Tom James <tom.james@cd-adapco.com> wrote:
> >> >
> >> > Hi,
> >> >
> >> > I'm working on a closed-source c++ project that compiles with gcc 11.2.  We
> >> > need to ship the GNU 11.2 run-time alongside our product, and it looks like
> >> > the std::barrier header is missing the GPL3 carve-out for shipping
> >> > run-times.
> >>
> >> Ouch, I'm pretty sure that's unintentional. I'll go back through my
> >> email to confirm that.
> >>
> >>
> >> > For the purposes of comparison, let's look at algorithm:
> >> > https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/algorithm
> >> >
> >> > Lines 16-18 read as follows:
> >> >   // Under Section 7 of GPL version 3, you are granted additional
> >> >   // permissions described in the GCC Runtime Library Exception, version
> >> >   // 3.1, as published by the Free Software Foundation.
> >> >
> >> > These lines are necessary to prevent the GPL infecting our closed-source
> >> > code.
> >>
> >> What exactly are you shipping? There is no code from <barrier> in
> >> libstdc++.so so unless your own code is including the <barrier> header
> >> and odr-using the inline functions and templates in that header, I
> >> think your compiled code will not be affected by the license of
> >> <barrier>. If you are including that header in the works you
> >> propagate, or shipping it to customers for compiling their own works
> >> which they will propagate, then the license exception matters.
> >>
> >> > The barrier header appears to be missing these lines:
> >> > https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/barrier
> >> >
> >> >
> >> > Would it be possible to please make the following changes?
> >> > 1.  Add these lines to the master branch,
> >> > 2.  Backport these lines to gnu 11.2 (which is the most recent version
> >> > supported by our toolchain).
> >>
> >> No, we can't backport anything to 11.2 because that's already been released.
> >>
> >> I'll add it to the master, gcc-12, and gcc-11 branches, which will
> >> mean it's present for 11.4, 12.3 and 13.1 (and all releases that
> >> follow them).
> >>
> >> If you are producing a combined work that includes the <barrier> code,
> >> then unless/until you're able to wait for 11.4 and use that, you could
> >> copy the fixed header into your own GCC 11.2 that you distribute.
> >
> >
> >
> > --
> > Tom James
> >
> > Siemens Digital Industries Software
> > Simulation and Test Solutions, Solution Domains Development, Server, Platform, Simulation Framework, High Performance Computing
> > thomasjames@siemens.com
> > sw.siemens.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: GPL carve-out missing for barrier
  2022-09-07 19:27       ` Jonathan Wakely
@ 2022-09-08  7:37         ` Tom James
  0 siblings, 0 replies; 6+ messages in thread
From: Tom James @ 2022-09-08  7:37 UTC (permalink / raw)
  To: Jonathan Wakely; +Cc: libstdc++, Moritz Kreutzer, Jones, Philip

[-- Attachment #1: Type: text/plain, Size: 4113 bytes --]

Fantastic, thanks for your help!

On Wed, 7 Sept 2022 at 20:27, Jonathan Wakely <jwakely.gcc@gmail.com> wrote:

> On Wed, 7 Sept 2022 at 12:22, Jonathan Wakely <jwakely.gcc@gmail.com>
> wrote:
> >
> > On Wed, 7 Sept 2022 at 10:49, Tom James <tom.james@cd-adapco.com> wrote:
> > >
> > > Hi Jonathan,
> > >
> > > Thanks for that, that's all useful information.
> > >
> > > I've had a more detailed chat with our legal people and I think
> getting this fixed in master solves the problem for us.
>
> I've pushed the change to master now. Backports will follow at some
> point before the next releases from the branches.
>
> Thanks for noticing the problem and bringing it to our attention!
>
>
>
> > >
> > > I had wondered whether it would be possible to bump the 11.2 tag
> >
> > No, definitely not.
> >
> > > to include this change because it's not code, but actually that
> shouldn't be necessary.  It looks like we don't use barrier at the moment,
> and we're unlikely to do so any time soon.
> > >
> > > Thanks,
> > > Tom
> > >
> > > On Tue, 6 Sept 2022 at 11:56, Jonathan Wakely <jwakely.gcc@gmail.com>
> wrote:
> > >>
> > >> On Tue, 6 Sept 2022 at 11:29, Tom James <tom.james@cd-adapco.com>
> wrote:
> > >> >
> > >> > Hi,
> > >> >
> > >> > I'm working on a closed-source c++ project that compiles with gcc
> 11.2.  We
> > >> > need to ship the GNU 11.2 run-time alongside our product, and it
> looks like
> > >> > the std::barrier header is missing the GPL3 carve-out for shipping
> > >> > run-times.
> > >>
> > >> Ouch, I'm pretty sure that's unintentional. I'll go back through my
> > >> email to confirm that.
> > >>
> > >>
> > >> > For the purposes of comparison, let's look at algorithm:
> > >> >
> https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/algorithm
> > >> >
> > >> > Lines 16-18 read as follows:
> > >> >   // Under Section 7 of GPL version 3, you are granted additional
> > >> >   // permissions described in the GCC Runtime Library Exception,
> version
> > >> >   // 3.1, as published by the Free Software Foundation.
> > >> >
> > >> > These lines are necessary to prevent the GPL infecting our
> closed-source
> > >> > code.
> > >>
> > >> What exactly are you shipping? There is no code from <barrier> in
> > >> libstdc++.so so unless your own code is including the <barrier> header
> > >> and odr-using the inline functions and templates in that header, I
> > >> think your compiled code will not be affected by the license of
> > >> <barrier>. If you are including that header in the works you
> > >> propagate, or shipping it to customers for compiling their own works
> > >> which they will propagate, then the license exception matters.
> > >>
> > >> > The barrier header appears to be missing these lines:
> > >> >
> https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/barrier
> > >> >
> > >> >
> > >> > Would it be possible to please make the following changes?
> > >> > 1.  Add these lines to the master branch,
> > >> > 2.  Backport these lines to gnu 11.2 (which is the most recent
> version
> > >> > supported by our toolchain).
> > >>
> > >> No, we can't backport anything to 11.2 because that's already been
> released.
> > >>
> > >> I'll add it to the master, gcc-12, and gcc-11 branches, which will
> > >> mean it's present for 11.4, 12.3 and 13.1 (and all releases that
> > >> follow them).
> > >>
> > >> If you are producing a combined work that includes the <barrier> code,
> > >> then unless/until you're able to wait for 11.4 and use that, you could
> > >> copy the fixed header into your own GCC 11.2 that you distribute.
> > >
> > >
> > >
> > > --
> > > Tom James
> > >
> > > Siemens Digital Industries Software
> > > Simulation and Test Solutions, Solution Domains Development, Server,
> Platform, Simulation Framework, High Performance Computing
> > > thomasjames@siemens.com
> > > sw.siemens.com
>


-- 
Tom James

Siemens Digital Industries Software
Simulation and Test Solutions, Solution Domains Development, Server,
Platform, Simulation Framework, High Performance Computing
thomasjames@siemens.com
sw.siemens.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-09-08  7:37 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-06 10:29 GPL carve-out missing for barrier Tom James
2022-09-06 10:56 ` Jonathan Wakely
2022-09-07  9:49   ` Tom James
2022-09-07 11:22     ` Jonathan Wakely
2022-09-07 19:27       ` Jonathan Wakely
2022-09-08  7:37         ` Tom James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).