public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* Switching GAS to GPLv3
@ 2007-07-03 11:30 Nick Clifton
  2007-07-03 12:43 ` Jakub Jelinek
  2007-07-03 13:30 ` l l
  0 siblings, 2 replies; 9+ messages in thread
From: Nick Clifton @ 2007-07-03 11:30 UTC (permalink / raw)
  To: binutils

Hi Guys,

  I have checked in a patch to switch all of the source files in the
  gas/ directory over to version 3 of the GPL.  I will be updating the
  other binutils directories over the next few days.

Cheers
  Nick

gas/ChangeLog
2007-07-03  Nick Clifton  <nickc@redhat.com>

	* COPYING: Replace with GPLv3 text.
	* app.c: Update copyright notice to refer to GPLv3.
	* as.c, as.h, asintl.h, atof_generic.c, bignum.h, bit_fix.h,
	cgen.c, cond.c, debug.c, depend.c, dw2gencfi.c, dw2gencfi.h,
	dwarf2dbg.c, dwarf2dbg.h, ecoff.c, ecoff.h, ehopt.c, emul.h,
	emul_target.h, expr.c, expr.h, flonum-copy.c, flonum.h,
	flonum-konst.c, frags.c, frags.h, hash.c, hash.h, input-file.c,
	input-file.h, input-scrub.c, ibtl-lex.h, itbl-lex.l, itbl-ops.c,
	itbl-ops.h, itbl-parse.y, listing.c, listing.h, literal.c,
	macro.c, messages.c, obj.h, output-file.c, output-file.h, read.c,
	read.h, sb.c, sb,h, stabs.c, struc-symbol.h, subsegs.c, subsegs.h,
	symbols.c, symbols.h, tc.h, write.c, write.h, config/aout_gnu.h,
	config/config/atof-ieee.c, config/atof-vax.c, config/bfin-aux.h, 
	config/bfin-defs.h, config/bfin-lex.l, config/bfin-parse.y,
	config/itbl-mips.h, config/m68k-parse.h, config/m68k-parse.y,
	config/obj-aout.c, config/obj-aout.h, config/obj-coff.c,
	config/obj-coff.h, config/obj-ecoff.c, config/obj-ecoff.h,
	config/obj-elf.c, config/obj-elf.h, config/obj-evax.c,
	config/obj-evax.h, config/obj-multi.h, config/obj-som.c,
	config/obj-som.h, config/tc-alpha.c, config/tc-alpha.h,
	config/tc-arc.c, config/tc-arc.h, config/tc-arm.c,
	config/tc-arm.h, config/tc-avr.c, config/tc-avr.h,
	config/tc-bfin.c, config/tc-bfin.h, config/tc-cr16.c,
	config/tc-cr16.h, config/tc-cris.c, config/tc-cris.h,
	config/tc-crx.c, config/tc-crx.h, config/tc-d10v.c,
	config/tc-d10v.h, config/tc-d30v.c, config/tc-d30v.h,
	config/tc-dlx.c, config/tc-dlx.h, config/tc-fr30.c,
	config/tc-fr30.h, config/tc-frv.c, config/tc-frv.h,
	config/tc-generic.c, config/tc-generic.h, config/tc-h8300.c,
	config/tc-h8300.h, config/tc-hppa.c, config/tc-hppa.h,
	config/tc-i370.c, config/tc-i370.h, config/tc-i386.c,
	config/tc-i386.h, config/tc-i860.c, config/tc-i860.h,
	config/tc-i960.c, config/tc-i960.h, config/tc-ia64.c,
	config/tc-ia64.h, config/tc-ip2k.c, config/tc-ip2k.h,
	config/tc-iq2000.c, config/tc-iq2000.h, config/tc-m32c.c,
	config/tc-m32c.h, config/tc-m32r.c, config/tc-m32r.h,
	config/tc-m68hc11.c, config/tc-m68hc11.h, config/tc-m68k.c,
	config/tc-m68k.h, config/tc-maxq.c, config/tc-maxq.h,
	config/tc-mcore.c, config/tc-mcore.h, config/tc-mep.c,
	config/tc-mep.h, config/tc-mips.c, config/tc-mips.h,
	config/tc-mmix.c, config/tc-mmix.h, config/tc-mn10200.c,
	config/tc-mn10200.h, config/tc-mn10300.c, config/tc-mn10300.h,
	config/tc-msp430.c, config/tc-msp430.h, config/tc-mt.c,
	config/tc-mt.h, config/tc-ns32k.c, config/tc-ms32k.h,
	config/tc-openrisc.c, config/tc-openrisc.h, config/tc-or32.c,
	config/tc-or32.h, config/tc-pdp11.c, config/tc-pdp11.h,
	config/tc-pj.c, config/tc-pj.h, config/tc-ppc.c, config/tc-ppc.h,
	config/tc-s390.c, config/tc-s390.h, config/tc-score.c,
	config/tc-score.h, config/tc-sh64.c, config/tc-sh64.h,
	config/tc-sh.c, config/tc-sh.h, config/tc-sparc.c,
	config/tc-sparc.h, config/tc-spu.c, config/tc-spu.h,
	config/tc-tic30.c, config/tc-tic30.h, config/tc-tic4x.c,
	config/tc-tic4x.h, config/tc-tic54x.c, config/tc-tic54x.h,
	config/tc-v850.c, config/tc-v850.h, config/tc-vax.c,
	config/tc-vax.h, config/tc-xc16x.c, config/tc-x16x.h,
	config/tc-xstormy16.c, config/tc-xstormy16.h, config/tc-xtensa.c,
	config/tc-xtensa.h, config/tc-z80.c, config/tc-z80.h,
	config/tc-z8k.c, config/tc-z8k.h, config/te-386bsd.h,
	config/te-freebsd.h, config/te-hppa.h, config/te-irix.h,
	config/te-netware.h, config/te-sparcaout.h,  config/te-tmips.h,
	config/te-vxworks.h, config/vax-inst.h, config/xtensa-istack.h,
	config/xtensa-relax.c, config/xtensa-relax.h: Likewise.
	
	* flonum-mult.c: Likewise, and also correct typo referring to
	non-existant GNU Assembler General Public License.
	* config/tc-m68851.h: Likewise.
	* NEWS: Mention the new license.  Also note where the 2.17 release
	happened.
	* config/e-crisaout.c: Add copyright header.
	* config/e-criself.c, config/e-i386aout.c, config/e-i386coff.c,
	config/e-i386elf.c, config/e-mipscoff.c, config/e-mipself.c,
	config/obj-multi.c, config/te-aix5.h, config/te-armeabi.h,
	config/te-armlinuxeabi.h, config/te-dynix.h, config/te-epoc-pe.h,
	config/te-generic.h, config/te-gnu.h, config/te-go32.h,
	config/te-hppa64.h, config/te-hppalinux64.h, config/te-hpux.h,
	config/te-i386aix.h, config/te-ia64aix.h, config/te-interix.h,
	config/te-linux.h, config/te-lnews.h, config/te-lynx.h,
	config/te-mach.h, config/te-macos.h, config/te-nbsd532.h,
	config/te-nbsd.h, config/te-pc532mach.h, config/te-pe.h,
	config/te-pep.h, config/te-psos.h, config/te-riscix.h,
	config/te-sun3.h, config/te-svr4.h, config/te-symbian.h,
	config/te-wince-pe.h: Likewise.

gas/testsuite/ChangeLog
2007-07-03  Nick Clifton  <nickc@redhat.com>

	* lib/gas-defs.exp: Update copyright notice to refer to GPLv3.
	* gas/all/itbl-test.c, gas/all/test-example.c, gas/all/test-gen.c,
	gas/arm/maverick.c, gas/cris/cris.exp, gas/hppa/basic/basic.exp,
	gas/hppa/parse/parse.exp, gas/hppa/reloc/reloc.exp,
	gas/hppa/unsorted/unsorted.exp, gas/mmix/mmix-err.exp,
	gas/mmix/mmix-list.exp, gas/mmix/mmix.exp, gas/mn10200/basic.exp,
	gas/mn10300/am33-2.c, gas/mn10300/basic.exp, gas/pdp11/opcode.s,
	gas/ppc/aix.exp, gas/sh/arch/arch.exp, gas/sh/sh64/sh64.exp,
	gas/sh/basic.exp, gas/sh/err.exp, gas/v850/basic.exp: Likewise.

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

* Re: Switching GAS to GPLv3
  2007-07-03 11:30 Switching GAS to GPLv3 Nick Clifton
@ 2007-07-03 12:43 ` Jakub Jelinek
  2007-07-03 14:27   ` Nick Clifton
                     ` (2 more replies)
  2007-07-03 13:30 ` l l
  1 sibling, 3 replies; 9+ messages in thread
From: Jakub Jelinek @ 2007-07-03 12:43 UTC (permalink / raw)
  To: Nick Clifton; +Cc: binutils

On Tue, Jul 03, 2007 at 12:00:53PM +0100, Nick Clifton wrote:
>   I have checked in a patch to switch all of the source files in the
>   gas/ directory over to version 3 of the GPL.  I will be updating the
>   other binutils directories over the next few days.

What does this mean for backporting fixes from binutils trunk to older
binutils releases?
Does this mean backports are not possible at all, or do we have to
relicense our legacy releases (that we want to backport stuff to) to GPLv3?

> 2007-07-03  Nick Clifton  <nickc@redhat.com>
> 
> 	* COPYING: Replace with GPLv3 text.
> 	* app.c: Update copyright notice to refer to GPLv3.
...

	Jakub

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

* Re: Switching GAS to GPLv3
  2007-07-03 11:30 Switching GAS to GPLv3 Nick Clifton
  2007-07-03 12:43 ` Jakub Jelinek
@ 2007-07-03 13:30 ` l l
  1 sibling, 0 replies; 9+ messages in thread
From: l l @ 2007-07-03 13:30 UTC (permalink / raw)
  To: Nick Clifton; +Cc: binutils

Hi,

Really good move!

TIA

2007/7/3, Nick Clifton <nickc@redhat.com>:
> Hi Guys,
>
>  I have checked in a patch to switch all of the source files in the
>  gas/ directory over to version 3 of the GPL.  I will be updating the
>  other binutils directories over the next few days.
>
> Cheers
>  Nick
>
> gas/ChangeLog
> 2007-07-03  Nick Clifton  <nickc@redhat.com>
>
>        * COPYING: Replace with GPLv3 text.
>        * app.c: Update copyright notice to refer to GPLv3.
>        * as.c, as.h, asintl.h, atof_generic.c, bignum.h, bit_fix.h,
>        cgen.c, cond.c, debug.c, depend.c, dw2gencfi.c, dw2gencfi.h,
>        dwarf2dbg.c, dwarf2dbg.h, ecoff.c, ecoff.h, ehopt.c, emul.h,
>        emul_target.h, expr.c, expr.h, flonum-copy.c, flonum.h,
>        flonum-konst.c, frags.c, frags.h, hash.c, hash.h, input-file.c,
>        input-file.h, input-scrub.c, ibtl-lex.h, itbl-lex.l, itbl-ops.c,
>        itbl-ops.h, itbl-parse.y, listing.c, listing.h, literal.c,
>        macro.c, messages.c, obj.h, output-file.c, output-file.h, read.c,
>        read.h, sb.c, sb,h, stabs.c, struc-symbol.h, subsegs.c, subsegs.h,
>        symbols.c, symbols.h, tc.h, write.c, write.h, config/aout_gnu.h,
>        config/config/atof-ieee.c, config/atof-vax.c, config/bfin-aux.h,
>        config/bfin-defs.h, config/bfin-lex.l, config/bfin-parse.y,
>        config/itbl-mips.h, config/m68k-parse.h, config/m68k-parse.y,
>        config/obj-aout.c, config/obj-aout.h, config/obj-coff.c,
>        config/obj-coff.h, config/obj-ecoff.c, config/obj-ecoff.h,
>        config/obj-elf.c, config/obj-elf.h, config/obj-evax.c,
>        config/obj-evax.h, config/obj-multi.h, config/obj-som.c,
>        config/obj-som.h, config/tc-alpha.c, config/tc-alpha.h,
>        config/tc-arc.c, config/tc-arc.h, config/tc-arm.c,
>        config/tc-arm.h, config/tc-avr.c, config/tc-avr.h,
>        config/tc-bfin.c, config/tc-bfin.h, config/tc-cr16.c,
>        config/tc-cr16.h, config/tc-cris.c, config/tc-cris.h,
>        config/tc-crx.c, config/tc-crx.h, config/tc-d10v.c,
>        config/tc-d10v.h, config/tc-d30v.c, config/tc-d30v.h,
>        config/tc-dlx.c, config/tc-dlx.h, config/tc-fr30.c,
>        config/tc-fr30.h, config/tc-frv.c, config/tc-frv.h,
>        config/tc-generic.c, config/tc-generic.h, config/tc-h8300.c,
>        config/tc-h8300.h, config/tc-hppa.c, config/tc-hppa.h,
>        config/tc-i370.c, config/tc-i370.h, config/tc-i386.c,
>        config/tc-i386.h, config/tc-i860.c, config/tc-i860.h,
>        config/tc-i960.c, config/tc-i960.h, config/tc-ia64.c,
>        config/tc-ia64.h, config/tc-ip2k.c, config/tc-ip2k.h,
>        config/tc-iq2000.c, config/tc-iq2000.h, config/tc-m32c.c,
>        config/tc-m32c.h, config/tc-m32r.c, config/tc-m32r.h,
>        config/tc-m68hc11.c, config/tc-m68hc11.h, config/tc-m68k.c,
>        config/tc-m68k.h, config/tc-maxq.c, config/tc-maxq.h,
>        config/tc-mcore.c, config/tc-mcore.h, config/tc-mep.c,
>        config/tc-mep.h, config/tc-mips.c, config/tc-mips.h,
>        config/tc-mmix.c, config/tc-mmix.h, config/tc-mn10200.c,
>        config/tc-mn10200.h, config/tc-mn10300.c, config/tc-mn10300.h,
>        config/tc-msp430.c, config/tc-msp430.h, config/tc-mt.c,
>        config/tc-mt.h, config/tc-ns32k.c, config/tc-ms32k.h,
>        config/tc-openrisc.c, config/tc-openrisc.h, config/tc-or32.c,
>        config/tc-or32.h, config/tc-pdp11.c, config/tc-pdp11.h,
>        config/tc-pj.c, config/tc-pj.h, config/tc-ppc.c, config/tc-ppc.h,
>        config/tc-s390.c, config/tc-s390.h, config/tc-score.c,
>        config/tc-score.h, config/tc-sh64.c, config/tc-sh64.h,
>        config/tc-sh.c, config/tc-sh.h, config/tc-sparc.c,
>        config/tc-sparc.h, config/tc-spu.c, config/tc-spu.h,
>        config/tc-tic30.c, config/tc-tic30.h, config/tc-tic4x.c,
>        config/tc-tic4x.h, config/tc-tic54x.c, config/tc-tic54x.h,
>        config/tc-v850.c, config/tc-v850.h, config/tc-vax.c,
>        config/tc-vax.h, config/tc-xc16x.c, config/tc-x16x.h,
>        config/tc-xstormy16.c, config/tc-xstormy16.h, config/tc-xtensa.c,
>        config/tc-xtensa.h, config/tc-z80.c, config/tc-z80.h,
>        config/tc-z8k.c, config/tc-z8k.h, config/te-386bsd.h,
>        config/te-freebsd.h, config/te-hppa.h, config/te-irix.h,
>        config/te-netware.h, config/te-sparcaout.h,  config/te-tmips.h,
>        config/te-vxworks.h, config/vax-inst.h, config/xtensa-istack.h,
>        config/xtensa-relax.c, config/xtensa-relax.h: Likewise.
>
>        * flonum-mult.c: Likewise, and also correct typo referring to
>        non-existant GNU Assembler General Public License.
>        * config/tc-m68851.h: Likewise.
>        * NEWS: Mention the new license.  Also note where the 2.17 release
>        happened.
>        * config/e-crisaout.c: Add copyright header.
>        * config/e-criself.c, config/e-i386aout.c, config/e-i386coff.c,
>        config/e-i386elf.c, config/e-mipscoff.c, config/e-mipself.c,
>        config/obj-multi.c, config/te-aix5.h, config/te-armeabi.h,
>        config/te-armlinuxeabi.h, config/te-dynix.h, config/te-epoc-pe.h,
>        config/te-generic.h, config/te-gnu.h, config/te-go32.h,
>        config/te-hppa64.h, config/te-hppalinux64.h, config/te-hpux.h,
>        config/te-i386aix.h, config/te-ia64aix.h, config/te-interix.h,
>        config/te-linux.h, config/te-lnews.h, config/te-lynx.h,
>        config/te-mach.h, config/te-macos.h, config/te-nbsd532.h,
>        config/te-nbsd.h, config/te-pc532mach.h, config/te-pe.h,
>        config/te-pep.h, config/te-psos.h, config/te-riscix.h,
>        config/te-sun3.h, config/te-svr4.h, config/te-symbian.h,
>        config/te-wince-pe.h: Likewise.
>
> gas/testsuite/ChangeLog
> 2007-07-03  Nick Clifton  <nickc@redhat.com>
>
>        * lib/gas-defs.exp: Update copyright notice to refer to GPLv3.
>        * gas/all/itbl-test.c, gas/all/test-example.c, gas/all/test-gen.c,
>        gas/arm/maverick.c, gas/cris/cris.exp, gas/hppa/basic/basic.exp,
>        gas/hppa/parse/parse.exp, gas/hppa/reloc/reloc.exp,
>        gas/hppa/unsorted/unsorted.exp, gas/mmix/mmix-err.exp,
>        gas/mmix/mmix-list.exp, gas/mmix/mmix.exp, gas/mn10200/basic.exp,
>        gas/mn10300/am33-2.c, gas/mn10300/basic.exp, gas/pdp11/opcode.s,
>        gas/ppc/aix.exp, gas/sh/arch/arch.exp, gas/sh/sh64/sh64.exp,
>        gas/sh/basic.exp, gas/sh/err.exp, gas/v850/basic.exp: Likewise.
>
>

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

* Re: Switching GAS to GPLv3
  2007-07-03 12:43 ` Jakub Jelinek
@ 2007-07-03 14:27   ` Nick Clifton
  2007-07-03 14:51   ` Ian Lance Taylor
  2007-07-11 16:19   ` Nick Clifton
  2 siblings, 0 replies; 9+ messages in thread
From: Nick Clifton @ 2007-07-03 14:27 UTC (permalink / raw)
  To: FSF Licensing; +Cc: Jakub Jelinek, binutils

Hi Guys,

   I am in the process of changing the GNU Binutils sources over to use 
the GPLv3 and I received a question from one or the main contributors:

Jakub Jelinek wrote:
> What does this mean for backporting fixes from binutils trunk to older
> binutils releases?
> Does this mean backports are not possible at all, or do we have to
> relicense our legacy releases (that we want to backport stuff to) to GPLv3?

   Can you answer this for me ?  ie  what should happen when someone 
wants to apply a patch that has been contributed to a GPLv3 source file 
to an old branch ?  Especially when that old branch is part of an 
officially released set of sources that are covered by the GPLv2 ?

Cheers
   Nick Clifton
   GNU Binutils Chief Maintainer.

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

* Re: Switching GAS to GPLv3
  2007-07-03 12:43 ` Jakub Jelinek
  2007-07-03 14:27   ` Nick Clifton
@ 2007-07-03 14:51   ` Ian Lance Taylor
  2007-07-11 16:19   ` Nick Clifton
  2 siblings, 0 replies; 9+ messages in thread
From: Ian Lance Taylor @ 2007-07-03 14:51 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: Nick Clifton, binutils

Jakub Jelinek <jakub@redhat.com> writes:

> On Tue, Jul 03, 2007 at 12:00:53PM +0100, Nick Clifton wrote:
> >   I have checked in a patch to switch all of the source files in the
> >   gas/ directory over to version 3 of the GPL.  I will be updating the
> >   other binutils directories over the next few days.
> 
> What does this mean for backporting fixes from binutils trunk to older
> binutils releases?
> Does this mean backports are not possible at all, or do we have to
> relicense our legacy releases (that we want to backport stuff to) to GPLv3?

As far as I can see, the only issue that would arise would be if the
copyright assignment of the person contributing the patch specified
that the patch could only be used with GPLv3 or above.  Since the FSF
owns the copyright of any contributed patch (or the copyright has been
disclaimed), the FSF can release the patch under any license which the
copyright assignment permits.  And the standard copyright assignment
certainly permits GPLv2.

Ian

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

* Re: Switching GAS to GPLv3
  2007-07-03 12:43 ` Jakub Jelinek
  2007-07-03 14:27   ` Nick Clifton
  2007-07-03 14:51   ` Ian Lance Taylor
@ 2007-07-11 16:19   ` Nick Clifton
  2007-07-23 15:51     ` Ralf Corsepius
  2 siblings, 1 reply; 9+ messages in thread
From: Nick Clifton @ 2007-07-11 16:19 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: binutils

Hi Jakub,

> What does this mean for backporting fixes from binutils trunk to older
> binutils releases?
> Does this mean backports are not possible at all, or do we have to
> relicense our legacy releases (that we want to backport stuff to) to GPLv3?

I have received this reply from the FSF:

: Since the previous releases were licensed under GPLv2 or later, all
: maintainers need to do is upgrade their backport to GPLv3 or later -- then
: they'll be able to incorporate patches that were never released under
: GPLv2.
:
: If there's enough demand for this, you may be able to make life easier for
: those maintainers, if you want, by providing patches that upgrade the
: license on binutils from "GPLv2 or later" to "GPLv3 or later."  Hopefully
: those would be easy to generate after you did this upgrade for the code
: yourself, and each maintainer wouldn't have to do the work themselves.
: After you published them, backport maintainers could apply them to their
: own backports, and then also go ahead to incorporate later patches that
: were released under GPLv3 or later.

So the answer appears to be that in order to apply patches made to GPLv3 
sources to previous releases we have to change the affected files over 
to the GPLv3 as well.

Cheers
   Nick

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

* Re: Switching GAS to GPLv3
  2007-07-11 16:19   ` Nick Clifton
@ 2007-07-23 15:51     ` Ralf Corsepius
  2007-07-23 20:29       ` Bernd Jendrissek
  2007-07-24 11:01       ` Nick Clifton
  0 siblings, 2 replies; 9+ messages in thread
From: Ralf Corsepius @ 2007-07-23 15:51 UTC (permalink / raw)
  To: Nick Clifton; +Cc: Jakub Jelinek, binutils

On Wed, 2007-07-11 at 15:11 +0100, Nick Clifton wrote:
> Hi Jakub,
> 
> > What does this mean for backporting fixes from binutils trunk to older
> > binutils releases?
> > Does this mean backports are not possible at all, or do we have to
> > relicense our legacy releases (that we want to backport stuff to) to GPLv3?
> 
> I have received this reply from the FSF:
> 
> : Since the previous releases were licensed under GPLv2 or later, all
> : maintainers need to do is upgrade their backport to GPLv3 or later -- then
> : they'll be able to incorporate patches that were never released under
> : GPLv2.
> :
> : If there's enough demand for this, you may be able to make life easier for
> : those maintainers, if you want, by providing patches that upgrade the
> : license on binutils from "GPLv2 or later" to "GPLv3 or later."  Hopefully
> : those would be easy to generate after you did this upgrade for the code
> : yourself, and each maintainer wouldn't have to do the work themselves.
> : After you published them, backport maintainers could apply them to their
> : own backports, and then also go ahead to incorporate later patches that
> : were released under GPLv3 or later.
> 
> So the answer appears to be that in order to apply patches made to GPLv3 
> sources to previous releases we have to change the affected files over 
> to the GPLv3 as well.

In my understanding everybody who submits patches to binutils must have
a copyright assignment to the FSF on file (unless patches are considered
trivial).

I am I wrong in presuming that a patch contributed under a copyright
assignment can be implied to cover GPLv2 and GPLv3? 

In other words, if I's submit a patch against a GPLv3'd version of a
package I'd implicitly assume my patch also to be applicable to a
GPLv2'd version of the package.

Ralf


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

* Re: Switching GAS to GPLv3
  2007-07-23 15:51     ` Ralf Corsepius
@ 2007-07-23 20:29       ` Bernd Jendrissek
  2007-07-24 11:01       ` Nick Clifton
  1 sibling, 0 replies; 9+ messages in thread
From: Bernd Jendrissek @ 2007-07-23 20:29 UTC (permalink / raw)
  To: Ralf Corsepius; +Cc: binutils

Ralf Corsepius wrote:
> In my understanding everybody who submits patches to binutils must have
> a copyright assignment to the FSF on file (unless patches are considered
> trivial).
>
> I am I wrong in presuming that a patch contributed under a copyright
> assignment can be implied to cover GPLv2 and GPLv3?
>
> In other words, if I's submit a patch against a GPLv3'd version of a
> package I'd implicitly assume my patch also to be applicable to a
> GPLv2'd version of the package.

My assignment (which I have not yet returned - bad me!) includes:
"d) FSF agrees to grant back to Developer, and does hereby grant,
non-exclusive, royalty-free and non-cancellable rights to use the
Works (i.e., Developer's changes and/or enhancements, not the Program
that they enhance), as Developer sees fit; this grant back does not
limit FSF's rights and public rights acquired through this agreement."

The answer to your question, AFAICT, hinges on whether your patch is a
derived work or not (surely it is, otherwise an Evil Empire can do
diff -N -u10000 /src/binutils /emptydir >/tmp/proprietary.diff???) and
if so, what the licence of the derived-from work is.

But if you download a GPLv2 tarball before August and run diff between
it and your subsequent modified copy, then I reckon you can do
whatever you want with that patch, as long as you obey the GPLv2 (due
to the tarball's pre-August licence).  You just can't sue anyone for
what they do with your patch, because only the FSF has the right to do
so.

Then again, IANAL.

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

* Re: Switching GAS to GPLv3
  2007-07-23 15:51     ` Ralf Corsepius
  2007-07-23 20:29       ` Bernd Jendrissek
@ 2007-07-24 11:01       ` Nick Clifton
  1 sibling, 0 replies; 9+ messages in thread
From: Nick Clifton @ 2007-07-24 11:01 UTC (permalink / raw)
  To: Ralf Corsepius; +Cc: Jakub Jelinek, binutils

Hi Ralf,

>>> What does this mean for backporting fixes from binutils trunk to older
>>> binutils releases?

>> So the answer appears to be that in order to apply patches made to GPLv3 
>> sources to previous releases we have to change the affected files over 
>> to the GPLv3 as well.
> 
> In my understanding everybody who submits patches to binutils must have
> a copyright assignment to the FSF on file (unless patches are considered
> trivial).

Correct.

> I am I wrong in presuming that a patch contributed under a copyright
> assignment can be implied to cover GPLv2 and GPLv3? 

I think so - I think that there needs to be an explicit statement to this 
effect from the patch's author.

> In other words, if I's submit a patch against a GPLv3'd version of a
> package I'd implicitly assume my patch also to be applicable to a
> GPLv2'd version of the package.

The danger word in that paragraph is "implicit".  My understanding is that 
relicensing the patch needs to be explicit.  Here is what I understand the 
situation to be:

   * If you contribute a patch against a source file which is currently
     licensed under "the GPL version 2 (or at your option a later version)"
     then you, or someone else, may apply that patch to a version of that
     source file that is licensed under version 3 of the GPL.

   * If you contribute a patch against a source file which is currently
     licensed under the GPL version 3, you also have the right to
     explicitly state that your patch can be applied to versions of the
     source file that are licensed under GPLv2 (or indeed any other
     license).  You may choose to make this statement at the time that
     you contribute the patch or at a later date.

   * If however you contribute a patch against a source file which is
     currently licensed under the GPLv3 and you do not make any
     statement about applying the patch to GPLv2 sources then another
     person (or company) cannot take your patch and apply it to the
     GPLv2 copy of the source file without changing the license on that
     file to GPLv3.

     Ie, it is assumed that the person (or company) is backporting the
     patch from the GPLv3 file to the GPLv2 file, rather than receiving
     the patch directly from yourself, and as a consequence the GPLv3
     license is inherited by the patched file.

I hope that this makes things clear.

Cheers
   Nick

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

end of thread, other threads:[~2007-07-24  9:07 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-07-03 11:30 Switching GAS to GPLv3 Nick Clifton
2007-07-03 12:43 ` Jakub Jelinek
2007-07-03 14:27   ` Nick Clifton
2007-07-03 14:51   ` Ian Lance Taylor
2007-07-11 16:19   ` Nick Clifton
2007-07-23 15:51     ` Ralf Corsepius
2007-07-23 20:29       ` Bernd Jendrissek
2007-07-24 11:01       ` Nick Clifton
2007-07-03 13:30 ` l l

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).