www-commits
[Top][All Lists]
Advanced

[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. &lt;http://fsf.org/&gt;
+ </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 (&quot;Exception&quot;) is an additional
+permission under section 7 of the GNU General Public License, version
+3 (&quot;GPLv3&quot;).  It applies to a given file (the &quot;Runtime 
Library&quot;) 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 &quot;Independent Module&quot; 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>&quot;GCC&quot; 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>&quot;GPL-compatible Software&quot; is software whose conditions of
+propagation, modification and use would permit combination with GCC in
+accord with the license of GCC.</p>
+
+<p>&quot;Target Code&quot; 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 &quot;Compilation Process&quot; 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 &quot;Eligible&quot; 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&mdash;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";>&lt;address@hidden&gt;</a>.</p>
+
+<h3>How the Exception Works</h3>
+
+<p>The permission you need&mdash;to convey the object code from these GCC
+libraries under your own project's license&mdash;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 &ldquo;Independent Module,&rdquo; 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 &ldquo;Compilation Process.&rdquo; The
+output you get from it is called &ldquo;Target Code,&rdquo; 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
+&ldquo;Eligible,&rdquo; 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
+&ldquo;under terms of your choice.&rdquo;</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&mdash;which is rare&mdash;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 &ldquo;code
+entirely represented in a high-level, non-intermediate
+language.&rdquo; 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 &ldquo;suitable for input
+to an assembler, loader, linker and/or execution phase.&rdquo; 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 &ldquo;Target Code?&rdquo;</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 &amp; 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 &copy; 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>&nbsp;[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 &amp; 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>&nbsp;[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&mdash;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";>&lt;address@hidden&gt;</a>.</p>
-
-<h3>How the Exception Works</h3>
-
-<p>The permission you need&mdash;to convey the object code from these GCC
-libraries under your own project's license&mdash;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 &ldquo;Independent Module,&rdquo; 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 &ldquo;Compilation Process.&rdquo; The
-output you get from it is called &ldquo;Target Code,&rdquo; 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
-&ldquo;Eligible,&rdquo; 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
-&ldquo;under terms of your choice.&rdquo;</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&mdash;which is rare&mdash;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 &ldquo;code
-entirely represented in a high-level, non-intermediate
-language.&rdquo; 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 &ldquo;suitable for input
-to an assembler, loader, linker and/or execution phase.&rdquo; 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 &ldquo;Target Code?&rdquo;</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 &amp; 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 &copy; 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>&nbsp;[en]</li>
-</ul>
-</div>
-</div>
-</body>
-</html>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]