CVSROOT: /web/www Module name: www Changes by: Brett Smith <brett> 10/09/29 21:09:45
Modified files: philosophy : philosophy.html Added files: philosophy : assigning-copyright.html Log message: add RMS article about assigning copyright CVSWeb URLs: http://web.cvs.savannah.gnu.org/viewcvs/www/philosophy/philosophy.html?cvsroot=www&r1=1.325&r2=1.326 http://web.cvs.savannah.gnu.org/viewcvs/www/philosophy/assigning-copyright.html?cvsroot=www&rev=1.1 Patches: Index: philosophy.html =================================================================== RCS file: /web/www/www/philosophy/philosophy.html,v retrieving revision 1.325 retrieving revision 1.326 diff -u -b -r1.325 -r1.326 --- philosophy.html 6 Sep 2010 14:22:48 -0000 1.325 +++ philosophy.html 29 Sep 2010 21:09:40 -0000 1.326 @@ -15,6 +15,8 @@ <p>Hot off the presses, here are the latest published articles on free software and the GNU project.</p> <ul> + <li><a href="/philosophy/assigning-copyright.html">When a Company + Asks For Your Copyright</a></li> <li><a href="/philosophy/google-engineering-talk.html">GNU & The Free Software Foundation - Engineering Tech Talk at Google</a></li> <li><a @@ -27,8 +29,6 @@ the Public Domain Manifesto</a></li> <li><a href="/philosophy/selling-exceptions.html">On Selling Exceptions to the GNU GPL</a></li> - <li><a href="/philosophy/lest-codeplex-perplex.html">Lest CodePlex - perplex</a></li> </ul> <h3 id="aboutfs">About Free Software</h3> @@ -128,7 +128,7 @@ <p> Updated: <!-- timestamp start --> -$Date: 2010/09/06 14:22:48 $ +$Date: 2010/09/29 21:09:40 $ <!-- timestamp end --> </p> </div> Index: assigning-copyright.html =================================================================== RCS file: assigning-copyright.html diff -N assigning-copyright.html --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ assigning-copyright.html 29 Sep 2010 21:09:40 -0000 1.1 @@ -0,0 +1,222 @@ +<!-- Parent-Version: $Revision: 1.1 $ --> + +<!-- This is the template document for GNU web pages. We use + server side includes (#include) for common elements, for + instance, the very first line of the file. If you're reading + this in its expanded form, you can retrieve the original source, + with the SSI statements intact, from + http://web.cvs.savannah.gnu.org/viewvc/*checkout*/www/server/standards/boilerplate.html?root=www&content-type=text%2Fplain +--> + +<!-- Instructions for adapting this boilerplate to a new project: --> + +<!-- 1. In the line above starting "Parent-Version:", remove the + "$Revision...$" from around the revision number, + leaving just Parent-Version: and the number. --> + +<!-- 2. Replace "baz" with the name of your project. + You should be able to do this with search and replace; + making sure that the search is case insensitive and + that the case of the replacement matches the case + of the string found. In Emacs, query-replace will do this + when case-fold-search and case-replace are both non-nil + and both search and replacement string are given in lower case. --> + +<!-- 3. Of course update the actual information according to your project, + such as mailing lists, project locations, and maintainer name. --> + +<!-- 4. You can use the patch-from-parent script to semi-automate + merging future changes to the boilerplate with your file: + http://web.cvs.savannah.gnu.org/viewvc/*checkout*/www/server/standards/patch-from-parent?root=www&content-type=text%2Fplain +--> + +<!--#include virtual="/server/header.html" --> +<title>When a Company Asks For Your Copyright +- GNU Project - Free Software Foundation</title> +<link rel="canonical" + href="http://www.fsf.org/blogs/rms/assigning-copyright" /> +<!--#include virtual="/server/banner.html" --> +<h2>When a Company Asks For Your Copyright</h2> + +<p>Companies that develop free software and release it under the GNU GPL +sometimes distribute some copies of the code in other ways. If they +distribute the exact same code under a different license to certain +users that pay for this, typically permitting including the code in +proprietary programs, we call it “selling exceptions”. If they +distribute some version of the code solely in a proprietary manner, we +call that releasing a purely proprietary version of the program.</p> + +<p><a href="http://www.gnu.org/philosophy/selling-exceptions.html">http://www.gnu.org/philosophy/selling-exceptions.html</a> explains why +selling exceptions is acceptable, though only barely. By contrast, +releasing a purely proprietary version is outright wrong, like +any other proprietary software.</p> + +<p>Companies normally sell exceptions using code they themselves have +developed. Since they hold the copyright on that code, they can +legally distribute it in any manner, even in multiple manners in +parallel. But what happens when you publish a modified version of +that free program, and the company wants to include your changes in +its version?</p> + +<p>Since you got the program under the GPL, when you distribute a +modified version you have to license it under the GPL. If the company +receives a copy, it will be able to use those changes under the GPL; +it won't be allowed to include your changes in that program and sell +exceptions for it. It also won't be able to release purely +proprietary versions containing your code. If this is the outcome you +want, you get it by default. However, if the company intends to sell +exceptions, it will probably decide not to use your changes.</p> + +<p>Suppose, though, that you're not opposed to selling exceptions and +you're willing to let the company do so while including your changes +in the program. You can agree to this, but you need to be careful +about what you sign, or you may be surprised by the results.</p> + +<p>The company will probably invite you to assign or license your +copyright to the company. That in itself is not inherently bad; for +instance, many GNU software developers have assigned copyrights +to the FSF. However, the FSF never sells exceptions, and its +assignment contracts include a commitment to distribute the +contributor's code only with source and only permitting +redistribution.</p> + +<p>The company's proposed contract may not include such a commitment. It +might instead let the company use your changes any way it likes. If +you sign that, the company could do various things with your code. It +could keep selling exceptions for a program including your code. It +could release purely proprietary modified or extended versions +including your code. It could even include your code <em>only</em> in +proprietary versions. Your contribution of code could turn out to be, +in effect, a donation to proprietary software.</p> + +<p>It is up to you which of these activities to permit, but here are the +FSF's recommendations. If you plan to make major contributions to the +project, insist that the contribution agreement require that software +versions including your contributions be available to the public under +a free software license. This will allow the developer to sell +exceptions, but prevent it from using your contributions in software +that is only available under a proprietary license.</p> + +<p>If your contributions are smaller, you could accept a condition that +the company make your contributions available in a free software +project. This would allow the company to use your contributions in +modified software that's only available under a proprietary license. +Releasing proprietary software is never a good thing, but if your +changes are smaller, it might be more important to improve the free +version than resist the nonfree versions.</p> + +<p>You can control these outcomes by insisting on the proper conditions +in the contract. To allow selling exceptions for the program that +contains your code, but refuse to let the company release purely +proprietary versions containing your code, you can insist on a +condition more or less like this:</p> + +<blockquote> + <p>Any program based on (as defined in GNU General Public License + version 3) Hacker's code that FOO distributes shall be made + available by FOO under a) the “GNU General Public License (GPL), + version 2 or later”, or b) the licensing in (a), above, but with “2” + replaced by any higher existing GPL version number. Provided FOO + makes the program available as source code gratis to the public in + this way, it may also distribute the identical program to some of + its users under terms permitting them to link the program's code + with nonfree code and release the combination in binary form under a + license of their own choosing.</p> +</blockquote> + +<p>Or, if what you object to is that some variant <em>of your code</em> +might be released solely in a proprietary version, you can insist on a +condition more or less like this:</p> + +<blockquote> + <p>Any program based on (as defined in GNU General Public License + version 3) Hacker's code that FOO distributes shall be made + available by FOO under a) the “GNU General Public License (GPL), + version 2 or later”, or b) the licensing in (a), above, but with “2” + replaced by any higher existing GPL version number. Provided FOO + makes the program available as source code gratis to the public in + this way, it may also distribute the same version of Hacker's code + in other programs released under other licenses of its own choosing.</p> +</blockquote> + +<p>If the program is released under the GNU Affero GPL, then add “Affero” +before “General”, change “GPL” to “AGPL”, change “2 or” to “3 or”, and +it could make sense to replace “that FOO distributes” with “that FOO +distributes, or deploys on a server accessible to users other than +FOO”.</p> + +<p>The FSF has had these texts reviewed by a lawyer, but you should get +your own legal advice before using them.</p> + +<p>When a company says which of these conditions it will accept, that +will show you how far it plans to depart from the principles of free +software. Then you can respond to ensure your work will contribute to +the free software community and not be diverted into proprietary +software.</p> + + +<!-- If needed, change the copyright block at the bottom. In general, + all pages on the GNU web server should have the section about + verbatim copying. Please do NOT remove this without talking + with the webmasters first. + Please make sure the copyright date is consistent with the document + and that it is like this: "2001, 2002", not this: "2001-2002". --> +</div><!-- for id="content", starts in the include above --> +<!--#include virtual="/server/footer.html" --> +<div id="footer"> + +<p>Please send general FSF & GNU inquiries to +<a href="mailto:g...@gnu.org"><g...@gnu.org></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:bug-...@gnu.org"><bug-...@gnu.org></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 © 2010 Free Software Foundation, Inc.</p> + +<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: 2010/09/29 21:09:40 $ +<!-- 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 web-translat...@gnu.org 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. + + See also '(web-trans)Capitalization': + http://gnu.org/software/trans-coord/manual/web-trans/html_node/Capitalization.html + --> + +<ul class="translations-list"> +<!-- English --> +<li><a href="/server/standards/boilerplate.html">English</a> [en]</li> +</ul> +</div> +</div> +</body> +</html>