This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RFC: Allow GPL exception for dynamic linking of libgcc and libstdc++


I am interested in making changes to the libgcc and libstdc++ licenses
to allow the dynamic linking of these libraries to be covered by "the
exception."  In libgcc, the words "and program fragments" and "shared
library or" are added.  In libstdc++, the words "or shared library" are
added.  Please see my comments following the two diffs.

*** libgcc2.c	Fri Jun 25 19:36:58 2004
--- libgcc2-new.c	Fri Jun 25 19:48:55 2004
***************
*** 12,23 ****

  In addition to the permissions in the GNU General Public License, the
  Free Software Foundation gives you unlimited permission to link the
! compiled version of this file into combinations with other programs,
! and to distribute those combinations without any restriction coming
! from the use of this file.  (The General Public License restrictions
! do apply in other respects; for example, they cover modification of
! the file, and distribution when not linked into a combine
! executable.)

  GCC is distributed in the hope that it will be useful, but WITHOUT ANY
  WARRANTY; without even the implied warranty of MERCHANTABILITY or
--- 12,23 ----

  In addition to the permissions in the GNU General Public License, the
  Free Software Foundation gives you unlimited permission to link the
! compiled version of this file into combinations with other programs and
! program fragments, and to distribute those combinations without any
! restriction coming from the use of this file.  (The General Public
! License restrictions do apply in other respects; for example, they cover
! modification of the file, and distribution when not linked into a
! shared library or combine executable.)

  GCC is distributed in the hope that it will be useful, but WITHOUT ANY
  WARRANTY; without even the implied warranty of MERCHANTABILITY or


*** allocator.cc	Fri Jun 25 19:37:29 2004
--- allocator-new.cc	Fri Jun 25 19:48:38 2004
***************
*** 21,31 ****
  // As a special exception, you may use this file as part of a free
software
  // library without restriction.  Specifically, if other files instantiate
  // templates or use macros or inline functions from this file, or you
compile
! // this file and link it with other files to produce an executable, this
! // file does not by itself cause the resulting executable to be covered by
! // the GNU General Public License.  This exception does not however
! // invalidate any other reasons why the executable file might be
covered by
! // the GNU General Public License.

  //
  // ISO C++ 14882:
--- 21,31 ----
  // As a special exception, you may use this file as part of a free
software
  // library without restriction.  Specifically, if other files instantiate
  // templates or use macros or inline functions from this file, or you
compile
! // this file and link it with other files to produce an executable or
! // shared library, this file does not by itself cause the resulting
! // executable to be covered by the GNU General Public License.  This
! // exception does not however invalidate any other reasons why the
! // executable file might be covered by the GNU General Public License.

  //
  // ISO C++ 14882:


It is my intention that these changes in wording will allow a .h, .c, or
.s file marked with this license to be compiled and linked into a libgcc
or libstdc++ shared library without causing, by itself, the result to be
subject to any restriction of the GPL.

This change is necessary to enable general use of libgcc and libstdc++
in their preferred shared library form on non-GNU platforms.  Without
this alteration, the net set of program files will be (in part) subject
to the restrictions of the GPL.

The effect of this restriction (before the proposed change) is that at
least one target (mingw32) does not support dynamic libraries in the
default configuration, despite being possibly technically superior,
because it would add a legal restriction to the output where there
previously was none, and would almost certainly turn away many users,
and almost certainly cause many who did use GCC to unintentionally
violate the GPL.

In a practical sense, this also improves the situation of free software.
 It allows libgcc or libstdc++ to be replaced by an altered version
where previously impossible.  While the source code offer has been
rescinded, it should be noted that if these libraries were statically
linked, there would be no source code offer anyway, which is what the
case will be on many non-GNU platforms if this change is rejected.

Following any comments with regard to these changes, if the general
concensus seems to be that this is an improvement, I'd like to propose
this to the SC for consideration.

Aaron W. LaFramboise


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]