[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
www/licenses .symlinks exceptions.html gcc-exce...
From: |
Brett Smith |
Subject: |
www/licenses .symlinks exceptions.html gcc-exce... |
Date: |
Wed, 01 Apr 2009 00:49:56 +0000 |
CVSROOT: /web/www
Module name: www
Changes by: Brett Smith <brett> 09/04/01 00:49:56
Modified files:
licenses : .symlinks exceptions.html
gcc-exception-3.0.html
Added files:
licenses : gcc-exception-3.1-body.html
gcc-exception-3.1-faq.html
gcc-exception-3.1.html
Removed files:
licenses : gcc-exception-3.0-faq.html
Log message:
GCC exception version 3.1.
I'm deeming the 3.0 FAQ to be the 3.1 FAQ because 3.0 was never
actually used by any code, so I don't see much of a point in
maintaining a separate FAQ about it.
CVSWeb URLs:
http://web.cvs.savannah.gnu.org/viewcvs/www/licenses/.symlinks?cvsroot=www&r1=1.31&r2=1.32
http://web.cvs.savannah.gnu.org/viewcvs/www/licenses/exceptions.html?cvsroot=www&r1=1.1&r2=1.2
http://web.cvs.savannah.gnu.org/viewcvs/www/licenses/gcc-exception-3.0.html?cvsroot=www&r1=1.1&r2=1.2
http://web.cvs.savannah.gnu.org/viewcvs/www/licenses/gcc-exception-3.1-body.html?cvsroot=www&rev=1.1
http://web.cvs.savannah.gnu.org/viewcvs/www/licenses/gcc-exception-3.1-faq.html?cvsroot=www&rev=1.1
http://web.cvs.savannah.gnu.org/viewcvs/www/licenses/gcc-exception-3.1.html?cvsroot=www&rev=1.1
http://web.cvs.savannah.gnu.org/viewcvs/www/licenses/gcc-exception-3.0-faq.html?cvsroot=www&r1=1.1&r2=0
Patches:
Index: .symlinks
===================================================================
RCS file: /web/www/www/licenses/.symlinks,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -b -r1.31 -r1.32
--- .symlinks 23 Mar 2009 21:46:03 -0000 1.31
+++ .symlinks 1 Apr 2009 00:49:09 -0000 1.32
@@ -5,8 +5,8 @@
fdl-1.3.dbk fdl.xml
fdl-1.3.dbk fdl-1.3.xml
fdl-1.3.html gfdl.html
-gcc-exception-3.0.html gcc-exception.html
-gcc-exception-3.0-faq.html gcc-exception-faq.html
+gcc-exception-3.1.html gcc-exception.html
+gcc-exception-3.1-faq.html gcc-exception-faq.html
gpl-3.0.dbk gpl.dbk
gpl-3.0.html gpl.html
gpl-3.0-standalone.html gpl-standalone.html
Index: exceptions.html
===================================================================
RCS file: /web/www/www/licenses/exceptions.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- exceptions.html 23 Mar 2009 21:46:03 -0000 1.1
+++ exceptions.html 1 Apr 2009 00:49:09 -0000 1.2
@@ -29,9 +29,10 @@
<dl>
<dt>GCC Runtime Library Exception</dt>
-<dd><a href="http://www.gnu.org/licenses/gcc-exception-3.0.html">GCC
-RLE v3</a>
-(<a href="http://www.gnu.org/licenses/gpl-exception-faq-3.0.html">FAQ</a>)</dd>
+<dd><a href="http://www.gnu.org/licenses/gcc-exception-3.1.html">GCC RLE
+v3.1</a>, <a href="http://www.gnu.org/licenses/gcc-exception-3.0.html">GCC
+RLE v3</a></dd>
+
</dl>
<h3><a href="/licenses/translations.html#Exceptions">Unofficial
@@ -61,7 +62,7 @@
<p>Updated:
<!-- timestamp start -->
-$Date: 2009/03/23 21:46:03 $
+$Date: 2009/04/01 00:49:09 $
<!-- timestamp end -->
</p>
</div>
Index: gcc-exception-3.0.html
===================================================================
RCS file: /web/www/www/licenses/gcc-exception-3.0.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- gcc-exception-3.0.html 23 Mar 2009 21:46:04 -0000 1.1
+++ gcc-exception-3.0.html 1 Apr 2009 00:49:09 -0000 1.2
@@ -6,7 +6,7 @@
<h2>GCC Runtime Library Exception</h2>
-<p>A <a href="/licenses/gcc-exception-3.0-faq.html">rationale document
+<p>A <a href="/licenses/gcc-exception-3.1-faq.html">rationale document
and FAQ</a> is available for this exception.</p>
<hr style="clear: both;" />
@@ -53,7 +53,7 @@
<p>
Updated:
<!-- timestamp start -->
-$Date: 2009/03/23 21:46:04 $
+$Date: 2009/04/01 00:49:09 $
<!-- timestamp end -->
</p>
</div>
Index: gcc-exception-3.1-body.html
===================================================================
RCS file: gcc-exception-3.1-body.html
diff -N gcc-exception-3.1-body.html
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ gcc-exception-3.1-body.html 1 Apr 2009 00:49:09 -0000 1.1
@@ -0,0 +1,72 @@
+
+<h3 style="text-align: center;">GCC RUNTIME LIBRARY EXCEPTION</h3>
+
+<p style="text-align: center;">Version 3.1, 20 March 2009</p>
+
+<p>Copyright (C) 2009 Free Software Foundation, Inc. <http://fsf.org/>
+ </p><p>Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.</p>
+
+<p>This GCC Runtime Library Exception ("Exception") is an additional
+permission under section 7 of the GNU General Public License, version
+3 ("GPLv3"). It applies to a given file (the "Runtime
Library") that
+bears a notice placed by the copyright holder of the file stating that
+the file is governed by GPLv3 along with this Exception.</p>
+
+<p>When you use GCC to compile a program, GCC may combine portions of
+certain GCC header files and runtime libraries with the compiled
+program. The purpose of this Exception is to allow compilation of
+non-GPL (including proprietary) programs to use, in this way, the
+header files and runtime libraries covered by this Exception.</p>
+
+<h4><a name="section0"></a>0. Definitions.</h4>
+
+<p>A file is an "Independent Module" if it either requires the
Runtime
+Library for execution after a Compilation Process, or makes use of an
+interface provided by the Runtime Library, but is not otherwise based on
+the Runtime Library.</p>
+
+<p>"GCC" means a version of the GNU Compiler Collection, with or
+without modifications, governed by version 3 (or a specified later
+version) of the GNU General Public License (GPL) with the option of
+using any subsequent versions published by the FSF.</p>
+
+<p>"GPL-compatible Software" is software whose conditions of
+propagation, modification and use would permit combination with GCC in
+accord with the license of GCC.</p>
+
+<p>"Target Code" refers to output from any compiler for a real or
+virtual target processor architecture, in executable form or suitable
+for input to an assembler, loader, linker and/or execution phase.
+Notwithstanding that, Target Code does not include data in any format
+that is used as a compiler intermediate representation, or used for
+producing a compiler intermediate representation.</p>
+
+<p>The "Compilation Process" transforms code entirely represented in
+non-intermediate languages designed for human-written code, and/or in
+Java Virtual Machine byte code, into Target Code. Thus, for example,
+use of source code generators and preprocessors need not be considered
+part of the Compilation Process, since the Compilation Process can be
+understood as starting with the output of the generators or
+preprocessors.</p>
+
+<p>A Compilation Process is "Eligible" if it is done using GCC, alone
+or with other GPL-compatible software, or if it is done without using
+any work based on GCC. For example, using non-GPL-compatible
+Software to optimize any GCC intermediate representations would not
+qualify as an Eligible Compilation Process.</p>
+
+<h4><a name="section1"></a>1. Grant of Additional Permission.</h4>
+
+<p>You have permission to propagate a work of Target Code formed by
+combining the Runtime Library with Independent Modules, even if such
+propagation would otherwise violate the terms of GPLv3, provided that
+all Target Code was generated by Eligible Compilation Processes. You
+may then convey such a combination under terms of your choice,
+consistent with the licensing of the Independent Modules.</p>
+
+<h4><a name="section2"></a>2. No Weakening of GCC Copyleft.</h4>
+
+<p>The availability of this Exception does not imply any general
+presumption that third-party software is unaffected by the copyleft
+requirements of the license of GCC.</p>
Index: gcc-exception-3.1-faq.html
===================================================================
RCS file: gcc-exception-3.1-faq.html
diff -N gcc-exception-3.1-faq.html
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ gcc-exception-3.1-faq.html 1 Apr 2009 00:49:09 -0000 1.1
@@ -0,0 +1,298 @@
+
+<!--#include virtual="/server/header.html" -->
+<title>GCC Runtime Library Exception Rationale and FAQ - GNU Project - Free
Software Foundation</title>
+<!--#include virtual="/server/banner.html" -->
+<h2>GCC Runtime Library Exception Rationale and FAQ</h2>
+
+<h3>Introduction</h3>
+
+<p>A year and a half ago, the Free Software Foundation released GPLv3.
+It was immediately adopted by fifteen GNU projects, and more made the
+switch in the following months. Most of the GCC codebase migrated to
+the new license in the 4.2.2 release, and now we are preparing to
+finish that process.</p>
+
+<p>The licenses for some libraries that accompany GCC have not been
+changed yet. These libraries are automatically used by the object
+code that GCC produces. Because of that, if these libraries were
+simply distributed only under the terms of the GPL, all the object
+code that GCC produces would have to be distributed under the same
+terms. However, the FSF decided long ago to allow developers to use
+GCC's libraries to compile any program, regardless of its license.
+Developing nonfree software is not good for society, and we have no
+obligation to make it easier. We decided to permit this because
+forbidding it seemed likely to backfire, and because using small
+libraries to limit the use of GCC seemed like the tail wagging the
+dog.</p>
+
+<p>Therefore, these libraries have always had license exceptions that
+allow people to distribute the object code GCC produces under any
+license. We are now moving these libraries to GPLv3 and updating
+their exceptions. Our fundamental policy has not changed; the new
+license is meant to permit all the uses of GCC that were permitted
+before. However, we have decided to use this opportunity to update
+the exception to accomplish three goals:</p>
+
+<ul>
+<li><p>Take advantage of GPLv3's new provisions. GPLv3 features a number
+of new terms which benefit all software. These include section 7,
+which establishes a framework for providing license exceptions. In
+order for GCC to get the most benefit from GPLv3, we need to update
+the exception to take these new terms into account, and work within
+the parameters of section 7.</p></li>
+<li><p>Lay the groundwork for a plugin infrastructure in GCC. For a while
+now, the GCC developers have considered adding a plugin framework to
+the compiler. This would make it easier for others to contribute to
+the project, and accelerate the development of new compilation
+techniques for GCC. However, there have also been concerns that
+unscrupulous developers could write plugins that called out to
+proprietary software to transform the compiled code—effectively
+creating proprietary extensions to GCC and defeating the purpose of
+the GPL. The updated exception prevents such abuse, enabling the
+GCC team to look forward to plugin developments.</p></li>
+<li><p>Make exceptions throughout the GCC code base consistent. Over the
+years, as new files were added to GCC that needed to carry this
+license exception, we reviewed and updated the language to help
+clarify it and address new concerns. As a result, there are now
+many different exception texts in GCC that provide the same basic
+permissions. Now all of those files will be able to use the single
+new exception text that we've prepared, making it easier to perform
+legal reviews on the code.</p></li>
+</ul>
+
+<p>As with GPLv3, we worked hard to listen to various users' concerns
+while we drafted this, and address them appropriately. All told, we
+have spent more than a year on this process. The Free Software
+Foundation and the GCC Steering Committee would like to thank Richard
+Fontana, Bradley Kuhn, and Karen Sandler at the Software Freedom Law
+Center for all their hard work and assistance with the exception. The
+changes here will strengthen the GCC community, and we look forward to
+the compiler developments it will enable.</p>
+
+<p>Because GCC is such a crucial part of developers' lives, we're
+expecting lots of questions about these changes, and we want to make
+sure that they're addressed. Below we've addressed specific concerns
+that we expect users will have. If you have questions about the new
+exception that aren't mentioned here, please feel free to contact us
+at <a href="mailto:address@hidden"><address@hidden></a>.</p>
+
+<h3>How the Exception Works</h3>
+
+<p>The permission you need—to convey the object code from these GCC
+libraries under your own project's license—is primarily contained in
+section 2:</p>
+
+<blockquote>
+ <p>You have permission to propagate a work of Target Code formed by
+ combining the Runtime Library with Independent Modules, even if such
+ propagation would otherwise violate the terms of GPLv3, provided
+ that all Target Code was generated by Eligible Compilation
+ Processes. You may then convey such a combination under terms of
+ your choice, consistent with the licensing of the Independent
+ Modules.</p>
+</blockquote>
+
+<p>This section uses many defined terms, and their specific meanings are
+integral to how the exception works. This section looks at how these
+terms relate to common scenarios.</p>
+
+<p>When you write your software, it consists of a set of source code
+files. Each file is an “Independent Module,” as long as
+it doesn't contain any source from the GCC libraries.</p>
+
+<p>When you compile those source code files, they usually go through a
+series of steps: source code generation, preprocessing, compilation to
+low-level code, assembling, and linking. Not all projects follow all
+these steps, depending on what language you're using and how it's
+written, but they'll always go in this order, and everyone using GCC
+will go through the process of compiling high-level code into some
+low-level language such as assembly code or Java bytecode. This phase
+is when GCC combines or links your own code with code from the GCC
+libraries. We call it the “Compilation Process.” The
+output you get from it is called “Target Code,” as long as
+that output is not used as compiler intermediate representation, or to
+create such an intermediate representation.</p>
+
+<p>In order to take advantage of this permission, the Compilation
+Process that you use to create Target Code has to be
+“Eligible,” which means that it does not involve both GCC
+and GPL-incompatible software. It's important to remember that the
+Compilation Process starts when you feed <em>any</em> high-level code
+to GCC, and ends as soon as it generates anything that can be
+considered Target Code. Because of that, as long as GCC isn't writing
+out intermediate representation, your Compilation Process can still be
+Eligible even if you use GCC in conjunction with GPL-incompatible
+assemblers, linkers, or high-level source generators: those programs
+aren't involved in the Compilation Process as it's defined here. The
+only place you can't use GPL-incompatible software with GCC is when
+it's performing the core compilation work.</p>
+
+<p>So, if you use GCC, with or without GPL-compatible enhancements, that
+would be an Eligible Compilation Process. If you only use
+GPL-incompatible compiler tools, that would be an Eligible Compilation
+Process as well. (It's not uncommon for people who build software for
+GNU/Linux to link against the GCC libraries even if they're using a
+different compiler.) However, if you used GCC in conjunction with
+GPL-incompatible software during the process of transforming
+high-level code to low-level code, that would <em>not</em> be an Eligible
+Compilation Process. This would happen if, for example, you used GCC
+with a proprietary plugin.</p>
+
+<p>As long as you use an Eligible Compilation Process, then you have
+permission to take the Target Code that GCC generates and propagate it
+“under terms of your choice.”</p>
+
+<p>If you did use GPL-incompatible software in conjunction with GCC
+during the Compilation Process, you would not be able to take
+advantage of this permission. Since all of the object code that GCC
+generates is derived from these GPLed libraries, that means you would
+be required to follow the terms of the GPL when propagating any of
+that object code. You could not use GCC to develop your own
+GPL-incompatible software.</p>
+
+<h3>Frequently Asked Questions</h3>
+
+<dl>
+<dt>I am using a standard release of GCC (such as one provided by the
+FSF, or with my operating system) to compile GPL-incompatible
+software. How does this change affect me?</dt>
+
+<dd><p>It should not affect you at all. Unless you've configured GCC
+to output intermediate representation—which is rare—the
+new exception is designed to ensure that you have no license
+obligations when you do this, just as the old exceptions
+were.</p></dd>
+
+<dt>Who does this change affect?</dt>
+
+<dd><p>Nobody who is currently using GCC should be affected by this change.
+The only changes in policy are meant to prevent developers from making
+certain modifications to GCC that <em>will</em> become feasible in the future.
+The FSF has been working closely with GCC developers to learn more about
+the many different ways people use GCC today, and ensure that they will all
+be able to continue those activities under the new exception.</p></dd>
+
+<dt>I use GCC in conjunction with proprietary preprocessors and/or source
+generators to compile my program. Can I still take advantage of the
+exception?</dt>
+
+<dd><p>Yes. The Compilation Process can start with any “code
+entirely represented in a high-level, non-intermediate
+language.” This includes code generated by a preprocessor or
+other proprietary software. As such, the Compilation Process in this
+case does not involve any proprietary software; it qualifies as
+Eligible, and the exception is available for this program.</p></dd>
+
+<dt>I use GCC in conjunction with proprietary assemblers and/or linkers to
+compile my program. Can I still take advantage of the exception?</dt>
+
+<dd><p>Yes. The Compilation Process ends when the compiler generates
+Target Code, which includes output that is “suitable for input
+to an assembler, loader, linker and/or execution phase.” In
+other words, the Compilation Process in this case is over when you
+have assembly code or unlinked object files from GCC, and so it does
+not involve any proprietary software. It qualifies as Eligible, and
+the exception is thus available for this program.</p></dd>
+
+<dt>I use GCC to compile parts of my program, and a proprietary
+compiler to compile other parts. The pieces are combined afterward,
+during assembler or linking phases. Can I still take advantage of the
+exception?</dt>
+
+<dd><p>Yes. In this case, each Independent Module is turned into Target Code
+through an Eligible Compilation Process. Even though different modules
+will go through different processes, the exception is still available
+for this program.</p></dd>
+
+<dt>Why is compiler intermediate representation excluded from the
+definition of “Target Code?”</dt>
+
+<dd><p>When we first considered adding a plugin infrastructure to GCC, we
+were deeply concerned about the possibility that someone would write a
+plugin that would merely save GCC's internal, low-level compilation
+data structures to disk. With that done, other software would be able
+to optimize or otherwise improve that code without being directly
+connected to GCC. It may have been difficult for us to argue that
+those programs should be subject to the GPL's copyleft, so we wanted
+to discourage these sorts of arrangements.</p>
+
+<p>We do that by excluding such output from the definition of Target
+Code. Because of this, even if someone writes a plugin that saves
+this information to disk, any programs that change the structures
+before GCC writes out Target Code will be involved in the Compilation
+Process. If that program is proprietary, the exception will not be
+available to any software compiled with it; the object code that GCC
+ultimately creates will have to be distributed under the terms of the
+GPL.</p></dd>
+
+<dt>Will Classpath use this new exception?</dt>
+
+<dd><p>Even though Classpath's current exception serves a similar purpose,
+we are not updating it at this time. Because of recent developments
+in the free software Java community, the priorities for Classpath's
+licensing policies are different from other GCC libraries, and we are
+evaluating it separately.</p></dd></dl>
+</div><!-- for id="content", starts in the include above -->
+<!--#include virtual="/server/footer.html" -->
+<div id="footer">
+
+<p>
+Please send FSF & GNU inquiries to
+<a href="mailto:address@hidden"><em>address@hidden</em></a>.
+There are also <a href="/contact/">other ways to contact</a>
+the FSF.
+<br />
+Please send broken links and other corrections or suggestions to
+<a href="mailto:address@hidden"><em>address@hidden</em></a>.
+</p>
+
+<p>
+Please see the
+<a href="/server/standards/README.translations.html">Translations
+README</a> for information on coordinating and submitting
+translations of this article.
+</p>
+
+<p>
+Copyright © 2008 Free Software Foundation, Inc.,
+</p>
+<address>51 Franklin St, Fifth Floor, Boston, MA 02110, USA</address>
+<p>Verbatim copying and distribution of this entire article are
+permitted worldwide, without royalty, in any medium, provided this
+notice, and the copyright notice, are preserved.
+</p>
+
+<p>
+Updated:
+<!-- timestamp start -->
+$Date: 2009/04/01 00:49:09 $
+<!-- timestamp end -->
+</p>
+</div>
+
+<div id="translations">
+<h4>Translations of this page</h4>
+
+<!-- Please keep this list alphabetical by language code. -->
+<!-- Comment what the language is for each type, i.e. de is German. -->
+<!-- Write the language name in its own language (Deutsch) in the text. -->
+<!-- If you add a new language here, please -->
+<!-- advise address@hidden and add it to -->
+<!-- - /home/www/html/server/standards/README.translations.html -->
+<!-- - one of the lists under the section "Translations Underway" -->
+<!-- - if there is a translation team, you also have to add an alias -->
+<!-- to mail.gnu.org:/com/mailer/aliases -->
+<!-- Please also check you have the language code right; see: -->
+<!-- http://www.loc.gov/standards/iso639-2/php/code_list.php -->
+<!-- If the 2-letter ISO 639-1 code is not available, -->
+<!-- use the 3-letter ISO 639-2. -->
+<!-- Please use W3C normative character entities. -->
+
+<ul class="translations-list">
+<!-- English -->
+<li><a href="/licenses/gcc-exception-3.1-faq.html">English</a> [en]</li>
+</ul>
+</div>
+</div>
+</body>
+</html>
Index: gcc-exception-3.1.html
===================================================================
RCS file: gcc-exception-3.1.html
diff -N gcc-exception-3.1.html
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ gcc-exception-3.1.html 1 Apr 2009 00:49:09 -0000 1.1
@@ -0,0 +1,86 @@
+<!--#include virtual="/server/header.html" -->
+
+<title>GCC Runtime Library Exception - GNU Project - Free Software Foundation
(FSF)</title>
+
+<!--#include virtual="/server/banner.html" -->
+
+<h2>GCC Runtime Library Exception</h2>
+
+<p>A <a href="/licenses/gcc-exception-3.1-faq.html">rationale document
+and FAQ</a> is available for this exception.</p>
+
+<hr style="clear: both;" />
+
+<!-- The license text is in English and appears broken in RTL as
+ Arabic, Farsi, etc. Explicitly set the direction to override the
+ one defined in the translation. -->
+<div dir="ltr">
+<!--#include virtual="/licenses/gcc-exception-3.1-body.html" -->
+</div>
+</div>
+<!--#include virtual="/server/footer.html" -->
+
+
+<div id="footer">
+
+<p>
+Please send FSF & GNU inquiries to
+<a href="mailto:address@hidden"><em>address@hidden</em></a>.
+There are also <a href="/contact/">other ways to contact</a>
+the FSF.
+<br />
+Please send broken links and other corrections or suggestions to
+<a href="mailto:address@hidden"><em>address@hidden</em></a>.
+</p>
+
+<p>
+Please see the
+<a href="/server/standards/README.translations.html">Translations
+README</a> for information on coordinating and submitting
+translations of this article.
+</p>
+
+<p>
+Copyright notice above.</p>
+<address>51 Franklin Street, Fifth Floor, Boston, MA 02110, USA</address>
+
+<p>
+Verbatim copying and distribution of this entire article is
+permitted in any medium without royalty provided this notice is
+preserved.
+</p>
+
+<p>
+Updated:
+<!-- timestamp start -->
+$Date: 2009/04/01 00:49:09 $
+<!-- timestamp end -->
+</p>
+</div>
+
+<div id="translations">
+<h4>Translations of this page</h4>
+
+<!-- Please keep this list alphabetical by language code. -->
+<!-- Comment what the language is for each type, i.e. de is German. -->
+<!-- Write the language name in its own language (Deutsch) in the text. -->
+<!-- If you add a new language here, please -->
+<!-- advise address@hidden and add it to -->
+<!-- - /home/www/html/server/standards/README.translations.html -->
+<!-- - one of the lists under the section "Translations Underway" -->
+<!-- - if there is a translation team, you also have to add an alias -->
+<!-- to mail.gnu.org:/com/mailer/aliases -->
+<!-- Please also check you have the language code right; see: -->
+<!-- http://www.loc.gov/standards/iso639-2/php/code_list.php -->
+<!-- If the 2-letter ISO 639-1 code is not available, -->
+<!-- use the 3-letter ISO 639-2. -->
+<!-- Please use W3C normative character entities. -->
+
+<ul class="translations-list">
+<!-- English -->
+<li><a href="/licenses/gcc-exception-3.1.html">English</a> [en]</li>
+</ul>
+</div>
+</div>
+</body>
+</html>
Index: gcc-exception-3.0-faq.html
===================================================================
RCS file: gcc-exception-3.0-faq.html
diff -N gcc-exception-3.0-faq.html
--- gcc-exception-3.0-faq.html 23 Mar 2009 21:46:04 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,298 +0,0 @@
-
-<!--#include virtual="/server/header.html" -->
-<title>GCC Runtime Library Exception Rationale and FAQ - GNU Project - Free
Software Foundation</title>
-<!--#include virtual="/server/banner.html" -->
-<h2>GCC Runtime Library Exception Rationale and FAQ</h2>
-
-<h3>Introduction</h3>
-
-<p>A year and a half ago, the Free Software Foundation released GPLv3.
-It was immediately adopted by fifteen GNU projects, and more made the
-switch in the following months. Most of the GCC codebase migrated to
-the new license in the 4.2.2 release, and now we are preparing to
-finish that process.</p>
-
-<p>The licenses for some libraries that accompany GCC have not been
-changed yet. These libraries are automatically used by the object
-code that GCC produces. Because of that, if these libraries were
-simply distributed only under the terms of the GPL, all the object
-code that GCC produces would have to be distributed under the same
-terms. However, the FSF decided long ago to allow developers to use
-GCC's libraries to compile any program, regardless of its license.
-Developing nonfree software is not good for society, and we have no
-obligation to make it easier. We decided to permit this because
-forbidding it seemed likely to backfire, and because using small
-libraries to limit the use of GCC seemed like the tail wagging the
-dog.</p>
-
-<p>Therefore, these libraries have always had license exceptions that
-allow people to distribute the object code GCC produces under any
-license. We are now moving these libraries to GPLv3 and updating
-their exceptions. Our fundamental policy has not changed; the new
-license is meant to permit all the uses of GCC that were permitted
-before. However, we have decided to use this opportunity to update
-the exception to accomplish three goals:</p>
-
-<ul>
-<li><p>Take advantage of GPLv3's new provisions. GPLv3 features a number
-of new terms which benefit all software. These include section 7,
-which establishes a framework for providing license exceptions. In
-order for GCC to get the most benefit from GPLv3, we need to update
-the exception to take these new terms into account, and work within
-the parameters of section 7.</p></li>
-<li><p>Lay the groundwork for a plugin infrastructure in GCC. For a while
-now, the GCC developers have considered adding a plugin framework to
-the compiler. This would make it easier for others to contribute to
-the project, and accelerate the development of new compilation
-techniques for GCC. However, there have also been concerns that
-unscrupulous developers could write plugins that called out to
-proprietary software to transform the compiled code—effectively
-creating proprietary extensions to GCC and defeating the purpose of
-the GPL. The updated exception prevents such abuse, enabling the
-GCC team to look forward to plugin developments.</p></li>
-<li><p>Make exceptions throughout the GCC code base consistent. Over the
-years, as new files were added to GCC that needed to carry this
-license exception, we reviewed and updated the language to help
-clarify it and address new concerns. As a result, there are now
-many different exception texts in GCC that provide the same basic
-permissions. Now all of those files will be able to use the single
-new exception text that we've prepared, making it easier to perform
-legal reviews on the code.</p></li>
-</ul>
-
-<p>As with GPLv3, we worked hard to listen to various users' concerns
-while we drafted this, and address them appropriately. All told, we
-have spent more than a year on this process. The Free Software
-Foundation and the GCC Steering Committee would like to thank Richard
-Fontana, Bradley Kuhn, and Karen Sandler at the Software Freedom Law
-Center for all their hard work and assistance with the exception. The
-changes here will strengthen the GCC community, and we look forward to
-the compiler developments it will enable.</p>
-
-<p>Because GCC is such a crucial part of developers' lives, we're
-expecting lots of questions about these changes, and we want to make
-sure that they're addressed. Below we've addressed specific concerns
-that we expect users will have. If you have questions about the new
-exception that aren't mentioned here, please feel free to contact us
-at <a href="mailto:address@hidden"><address@hidden></a>.</p>
-
-<h3>How the Exception Works</h3>
-
-<p>The permission you need—to convey the object code from these GCC
-libraries under your own project's license—is primarily contained in
-section 2:</p>
-
-<blockquote>
- <p>You have permission to propagate a work of Target Code formed by
- combining the Runtime Library with Independent Modules, even if such
- propagation would otherwise violate the terms of GPLv3, provided
- that all Target Code was generated by Eligible Compilation
- Processes. You may then convey such a combination under terms of
- your choice, consistent with the licensing of the Independent
- Modules.</p>
-</blockquote>
-
-<p>This section uses many defined terms, and their specific meanings are
-integral to how the exception works. This section looks at how these
-terms relate to common scenarios.</p>
-
-<p>When you write your software, it consists of a set of source code
-files. Each file is an “Independent Module,” as long as
-it doesn't contain any source from the GCC libraries.</p>
-
-<p>When you compile those source code files, they usually go through a
-series of steps: source code generation, preprocessing, compilation to
-low-level code, assembling, and linking. Not all projects follow all
-these steps, depending on what language you're using and how it's
-written, but they'll always go in this order, and everyone using GCC
-will go through the process of compiling high-level code into some
-low-level language such as assembly code or Java bytecode. This phase
-is when GCC combines or links your own code with code from the GCC
-libraries. We call it the “Compilation Process.” The
-output you get from it is called “Target Code,” as long as
-that output is not used as compiler intermediate representation, or to
-create such an intermediate representation.</p>
-
-<p>In order to take advantage of this permission, the Compilation
-Process that you use to create Target Code has to be
-“Eligible,” which means that it does not involve both GCC
-and GPL-incompatible software. It's important to remember that the
-Compilation Process starts when you feed <em>any</em> high-level code
-to GCC, and ends as soon as it generates anything that can be
-considered Target Code. Because of that, as long as GCC isn't writing
-out intermediate representation, your Compilation Process can still be
-Eligible even if you use GCC in conjunction with GPL-incompatible
-assemblers, linkers, or high-level source generators: those programs
-aren't involved in the Compilation Process as it's defined here. The
-only place you can't use GPL-incompatible software with GCC is when
-it's performing the core compilation work.</p>
-
-<p>So, if you use GCC, with or without GPL-compatible enhancements, that
-would be an Eligible Compilation Process. If you only use
-GPL-incompatible compiler tools, that would be an Eligible Compilation
-Process as well. (It's not uncommon for people who build software for
-GNU/Linux to link against the GCC libraries even if they're using a
-different compiler.) However, if you used GCC in conjunction with
-GPL-incompatible software during the process of transforming
-high-level code to low-level code, that would <em>not</em> be an Eligible
-Compilation Process. This would happen if, for example, you used GCC
-with a proprietary plugin.</p>
-
-<p>As long as you use an Eligible Compilation Process, then you have
-permission to take the Target Code that GCC generates and propagate it
-“under terms of your choice.”</p>
-
-<p>If you did use GPL-incompatible software in conjunction with GCC
-during the Compilation Process, you would not be able to take
-advantage of this permission. Since all of the object code that GCC
-generates is derived from these GPLed libraries, that means you would
-be required to follow the terms of the GPL when propagating any of
-that object code. You could not use GCC to develop your own
-GPL-incompatible software.</p>
-
-<h3>Frequently Asked Questions</h3>
-
-<dl>
-<dt>I am using a standard release of GCC (such as one provided by the
-FSF, or with my operating system) to compile GPL-incompatible
-software. How does this change affect me?</dt>
-
-<dd><p>It should not affect you at all. Unless you've configured GCC
-to output intermediate representation—which is rare—the
-new exception is designed to ensure that you have no license
-obligations when you do this, just as the old exceptions
-were.</p></dd>
-
-<dt>Who does this change affect?</dt>
-
-<dd><p>Nobody who is currently using GCC should be affected by this change.
-The only changes in policy are meant to prevent developers from making
-certain modifications to GCC that <em>will</em> become feasible in the future.
-The FSF has been working closely with GCC developers to learn more about
-the many different ways people use GCC today, and ensure that they will all
-be able to continue those activities under the new exception.</p></dd>
-
-<dt>I use GCC in conjunction with proprietary preprocessors and/or source
-generators to compile my program. Can I still take advantage of the
-exception?</dt>
-
-<dd><p>Yes. The Compilation Process can start with any “code
-entirely represented in a high-level, non-intermediate
-language.” This includes code generated by a preprocessor or
-other proprietary software. As such, the Compilation Process in this
-case does not involve any proprietary software; it qualifies as
-Eligible, and the exception is available for this program.</p></dd>
-
-<dt>I use GCC in conjunction with proprietary assemblers and/or linkers to
-compile my program. Can I still take advantage of the exception?</dt>
-
-<dd><p>Yes. The Compilation Process ends when the compiler generates
-Target Code, which includes output that is “suitable for input
-to an assembler, loader, linker and/or execution phase.” In
-other words, the Compilation Process in this case is over when you
-have assembly code or unlinked object files from GCC, and so it does
-not involve any proprietary software. It qualifies as Eligible, and
-the exception is thus available for this program.</p></dd>
-
-<dt>I use GCC to compile parts of my program, and a proprietary
-compiler to compile other parts. The pieces are combined afterward,
-during assembler or linking phases. Can I still take advantage of the
-exception?</dt>
-
-<dd><p>Yes. In this case, each Independent Module is turned into Target Code
-through an Eligible Compilation Process. Even though different modules
-will go through different processes, the exception is still available
-for this program.</p></dd>
-
-<dt>Why is compiler intermediate representation excluded from the
-definition of “Target Code?”</dt>
-
-<dd><p>When we first considered adding a plugin infrastructure to GCC, we
-were deeply concerned about the possibility that someone would write a
-plugin that would merely save GCC's internal, low-level compilation
-data structures to disk. With that done, other software would be able
-to optimize or otherwise improve that code without being directly
-connected to GCC. It may have been difficult for us to argue that
-those programs should be subject to the GPL's copyleft, so we wanted
-to discourage these sorts of arrangements.</p>
-
-<p>We do that by excluding such output from the definition of Target
-Code. Because of this, even if someone writes a plugin that saves
-this information to disk, any programs that change the structures
-before GCC writes out Target Code will be involved in the Compilation
-Process. If that program is proprietary, the exception will not be
-available to any software compiled with it; the object code that GCC
-ultimately creates will have to be distributed under the terms of the
-GPL.</p></dd>
-
-<dt>Will Classpath use this new exception?</dt>
-
-<dd><p>Even though Classpath's current exception serves a similar purpose,
-we are not updating it at this time. Because of recent developments
-in the free software Java community, the priorities for Classpath's
-licensing policies are different from other GCC libraries, and we are
-evaluating it separately.</p></dd></dl>
-</div><!-- for id="content", starts in the include above -->
-<!--#include virtual="/server/footer.html" -->
-<div id="footer">
-
-<p>
-Please send FSF & GNU inquiries to
-<a href="mailto:address@hidden"><em>address@hidden</em></a>.
-There are also <a href="/contact/">other ways to contact</a>
-the FSF.
-<br />
-Please send broken links and other corrections or suggestions to
-<a href="mailto:address@hidden"><em>address@hidden</em></a>.
-</p>
-
-<p>
-Please see the
-<a href="/server/standards/README.translations.html">Translations
-README</a> for information on coordinating and submitting
-translations of this article.
-</p>
-
-<p>
-Copyright © 2008 Free Software Foundation, Inc.,
-</p>
-<address>51 Franklin St, Fifth Floor, Boston, MA 02110, USA</address>
-<p>Verbatim copying and distribution of this entire article are
-permitted worldwide, without royalty, in any medium, provided this
-notice, and the copyright notice, are preserved.
-</p>
-
-<p>
-Updated:
-<!-- timestamp start -->
-$Date: 2009/03/23 21:46:04 $
-<!-- timestamp end -->
-</p>
-</div>
-
-<div id="translations">
-<h4>Translations of this page</h4>
-
-<!-- Please keep this list alphabetical by language code. -->
-<!-- Comment what the language is for each type, i.e. de is German. -->
-<!-- Write the language name in its own language (Deutsch) in the text. -->
-<!-- If you add a new language here, please -->
-<!-- advise address@hidden and add it to -->
-<!-- - /home/www/html/server/standards/README.translations.html -->
-<!-- - one of the lists under the section "Translations Underway" -->
-<!-- - if there is a translation team, you also have to add an alias -->
-<!-- to mail.gnu.org:/com/mailer/aliases -->
-<!-- Please also check you have the language code right; see: -->
-<!-- http://www.loc.gov/standards/iso639-2/php/code_list.php -->
-<!-- If the 2-letter ISO 639-1 code is not available, -->
-<!-- use the 3-letter ISO 639-2. -->
-<!-- Please use W3C normative character entities. -->
-
-<ul class="translations-list">
-<!-- English -->
-<li><a href="/licenses/gcc-exception-3.0-faq.html">English</a> [en]</li>
-</ul>
-</div>
-</div>
-</body>
-</html>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- www/licenses .symlinks exceptions.html gcc-exce...,
Brett Smith <=