standards: References

1 
1 8 References to Non-Free Software and Documentation
1 ***************************************************
1 
1 A GNU program should not recommend, promote, or grant legitimacy to the
1 use of any non-free program.  Proprietary software is a social and
1 ethical problem, and our aim is to put an end to that problem.  We can't
1 stop some people from writing proprietary programs, or stop other people
1 from using them, but we can and should refuse to advertise them to new
1 potential customers, or to give the public the idea that their existence
1 is ethical.
1 
1    The GNU definition of free software is found on the GNU web site at
1 <http://www.gnu.org/philosophy/free-sw.html>, and the definition of free
1 documentation is found at <http://www.gnu.org/philosophy/free-doc.html>.
1 The terms "free" and "non-free", used in this document, refer to those
1 definitions.
1 
1    A list of important licenses and whether they qualify as free is in
1 <http://www.gnu.org/licenses/license-list.html>.  If it is not clear
1 whether a license qualifies as free, please ask the GNU Project by
1 writing to <licensing@gnu.org>.  We will answer, and if the license is
1 an important one, we will add it to the list.
1 
1    When a non-free program or system is well known, you can mention it
1 in passing--that is harmless, since users who might want to use it
1 probably already know about it.  For instance, it is fine to explain how
1 to build your package on top of some widely used non-free operating
1 system, or how to use it together with some widely used non-free
1 program.
1 
1    However, you should give only the necessary information to help those
1 who already use the non-free program to use your program with it--don't
1 give, or refer to, any further information about the proprietary
1 program, and don't imply that the proprietary program enhances your
1 program, or that its existence is in any way a good thing.  The goal
1 should be that people already using the proprietary program will get the
1 advice they need about how to use your free program with it, while
1 people who don't already use the proprietary program will not see
1 anything likely to lead them to take an interest in it.
1 
1    If a non-free program or system is obscure in your program's domain,
1 your program should not mention or support it at all, since doing so
1 would tend to popularize the non-free program more than it popularizes
1 your program.  (You cannot hope to find many additional users for your
1 program among the users of Foobar, if the existence of Foobar is not
1 generally known among people who might want to use your program.)
1 
1    Sometimes a program is free software in itself but depends on a
1 non-free platform in order to run.  For instance, many Java programs
1 depend on some non-free Java libraries.  To recommend or promote such a
1 program is to promote the other programs it needs.  This is why we are
1 careful about listing Java programs in the Free Software Directory: we
1 don't want to promote the non-free Java libraries.
1 
1    We hope this particular problem with Java will be gone by and by, as
1 we replace the remaining non-free standard Java libraries with free
1 software, but the general principle will remain the same: don't
1 recommend, promote or legitimize programs that depend on non-free
1 software to run.
1 
1    Some free programs strongly encourage the use of non-free software.
1 A typical example is 'mplayer'.  It is free software in itself, and the
1 free code can handle some kinds of files.  However, 'mplayer' recommends
1 use of non-free codecs for other kinds of files, and users that install
1 'mplayer' are very likely to install those codecs along with it.  To
1 recommend 'mplayer' is, in effect, to promote use of the non-free
1 codecs.
1 
1    Thus, you should not recommend programs that strongly encourage the
1 use of non-free software.  This is why we do not list 'mplayer' in the
1 Free Software Directory.
1 
1    A GNU package should not refer the user to any non-free documentation
1 for free software.  Free documentation that can be included in free
1 operating systems is essential for completing the GNU system, or any
1 free operating system, so encouraging it is a priority; to recommend use
1 of documentation that we are not allowed to include undermines the
1 impetus for the community to produce documentation that we can include.
1 So GNU packages should never recommend non-free documentation.
1 
1    By contrast, it is ok to refer to journal articles and textbooks in
1 the comments of a program for explanation of how it functions, even
1 though they are non-free.  This is because we don't include such things
1 in the GNU system even if they are free--they are outside the scope of
1 what a software distribution needs to include.
1 
1    Referring to a web site that describes or recommends a non-free
1 program is promoting that program, so please do not make links to (or
1 mention by name) web sites that contain such material.  This policy is
1 relevant particularly for the web pages for a GNU package.
1 
1    Following links from nearly any web site can lead eventually to
1 non-free software; this is inherent in the nature of the web.  So it
1 makes no sense to criticize a site for having such links.  As long as
1 the site does not itself recommend a non-free program, there is no need
1 to consider the question of the sites that it links to for other
1 reasons.
1 
1    Thus, for example, you should not refer to AT&T's web site if that
1 recommends AT&T's non-free software packages; you should not refer to a
1 page P that links to AT&T's site presenting it as a place to get some
1 non-free program, because that part of the page P itself recommends and
1 legitimizes the non-free program.  However, that P contains a link to
1 AT&T's web site for some other purpose (such as long-distance telephone
1 service) is not an objection against it.
1 
1    A web page recommends a program in a particularly strong way if it
1 requires users to run that program in order to use the page.  Many pages
1 contain Javascript code which they recommend in this way.  This
1 Javascript code may be free or nonfree, but nonfree is the usual case.
1 
1    If the purpose for which you would refer to the page cannot be
1 carried out without running nonfree Javascript code, then you should not
1 refer to it.  Thus, if the purpose of referring to the page is for
1 people to view a video, or subscribing to a mailing list, and the
1 viewing or subscribing fail to work if the user's browser blocks the
1 nonfree Javascript code, then don't refer to that page.
1 
1    The extreme case is that of web sites which depend on nonfree
1 Javascript code even to _see_ the contents of the pages.  Any site
1 hosted on 'wix.com' has this problem, and so do some other sites.
1 Referring people to such pages to read their contents is, in effect,
1 urging them to run those nonfree programs--so please don't refer to
1 those pages.  (Such pages also break the Web, so they deserve
1 condemnation for two reasons.)
1 
1    Instead, please quote excerpts from the page to make your point, or
1 find another place to refer to that information.
1