Difference between revisions of "User:Svetlana"

From Free Software Directory
Jump to: navigation, search
 
 
Line 1: Line 1:
__NOEDITSECTION__
 
 
__NOTOC__
 
__NOTOC__
<div style="content: '.';visibility: hidden;display: block;height: 0;clear: both;"></div>
 
  
Anybody can update or submit new entries to the directory. Please review the [[Free_Software_Directory:Requirements|Requirements]].
+
''Please note that this page is still under development.''
  
To edit, you must register first. If you don't already have a [https://directory.fsf.org/wiki?title=Special:UserLogin&returnto=Main+Page&type=signup|Free Software Foundation Central Login] ([https://my.fsf.org/join member] or [https://my.fsf.org/user/register non-member]) you need to create one: It is mandatory to allow this wiki software to allow you to edit on it.
+
Software needs to meet [https://www.gnu.org/philosophy/free-sw.html the free software definition] to be listed at the Free Software Directory. Rules of thumb:
  
We talk about three things here -- how to submit, update, and delete entries.  
+
* All links and homepages of projects should point to free software and free documentation.
 +
* If a software program runs on proprietary operating system, then the version of the program that runs on free software operating system should be as good or better.
 +
* The software program itself should not package any program-data, art assets loaded by the program, or software which is under a nonfree license. If art or data is available for the game under a nonfree license but not packaged directly with it, that is a different matter and one we should be more flexible about. 
 +
* Contact address for contributors should only be listed if they also appear publicly in a prominent and public manner on a website directly related to the project &mdash; we don't want generate more spam for free software authors.
  
== Submit new entries ==
+
Below is the (in progress) checklist for determining whether a submission meets the standard to be included in the Directory. There are two steps involved:
  
To submit a new entry to the directory:
+
# Code licence check (including authorship and dependencies)
+
# Documentation licence check
# [[Special:UserLogin|Login to the directory]].
+
 
# Head to our '''[[Form:Entry|'Submit a new entry' page]]'''. (Also linked in the sidebar.)
+
== 1. Code license ==
# Enter the name of the package or software program.
+
 
# You will be brought to a multi-part form -- don't panic! Only the first few fields are required. ([[Free_Software_Directory:Workflow/Entry|Form documentation]] helps you to complete the form, but it can also be completed by another volunteer or by the reviewer.)
+
:''Note: MAME's license prohibits commercial use. This means that nothing which depends on MAME should be added to the Directory. This is also true for xmame and sdlmame.''
# The final step is to go to the last tab and press the '''save button''' at the bottom.  
+
 
 +
=== Normal Projects ===
 +
 
 +
(edge cases will be dealt with below)
 +
 
 +
* If there is one, take a look at the README file. It often contains dependency notes, project history, licensing policy and other info that can tell you right away whether or not you are dealing with free software. The same can be true for files like RELEASE or RELEASE NOTES.
 +
 
 +
* Look for a license. Hopefully, it will be right at the top of the program's directory in a file called "LICENSE" or "COPYING" or even "GPL" but this is merely convention. Developers can put the license anywhere and call the file containing it anything. If it's not at the top look for a directory called doc (short for documentation.) If you have a file that you believe is GPL'ed but you can't find the license and want something more precise to grep than the word 'copyright' you can try 'coon' for GPL2 or 'affero' for GPL3 
 +
 
 +
* If it is one of our licenses, look it over to make sure it's complete. A word count is a good way to catch altered or truncated licenses. If it has been altered, you can ask the maintainers if they edited the license on purpose, (usually they didn't.) They'll probably offer to fix it and then you can list the project. Of course, you can also skip the correspondence and just not list the project.
 +
 
 +
* If it's not one of our licenses, check it against our list here, http://www.gnu.org/licenses/license-list.html to see if it's a free software license. You'll also be able to check to see if it's compatible with any of our licenses.
 +
 
 +
* After you seem to have a piece of software under a free license, then you'll want to check that the whole program is actually using that license or some combination of free and compatible licenses. It is not OK to use non-free software modules and then just slap a GPL on the top of the package.
 +
 
 +
Here are a few ways to check for problems:
 +
 
 +
look for a subdirectory called lib, this is where libraries reside. Libraries are often added in toto from other projects and that means they often come with their own license. (Although less common, the same goes for any subdirectories entitled "resources" "tools" "plugins" or "modules.") If the lib license is free and compatible, then there's no problem. If it's not compatible or it's a proprietary license, then we have a problem.
 +
 
 +
look in the file called src, there may be other licenses in there too.  
 +
 
 +
grep for 'copyright' to see what some of the program headers say. A typical header will reference the license and may mention how you're allowed combine it with other files and if you may upgrade the license. If the headers reference non-free licenses then we have a problem.
 +
 
 +
try grepping 'java' or 'commercial' or 'proprietary' just for fun.
 +
 
 +
What about a whole bunch of binary files that you can't open? Try grepping the name of the file or subdirectory and you may find a license that only pertains to the binary files.
 +
 
 +
==== Red Flags ====
 +
 
 +
These issues make a program non-free.
 +
 
 +
*  Unlicensed sources files.
 +
 
 +
*  Restrictions on private use, ie: you can only use this software with our other software, with our online service or to do one specific task/or anything EXCEPT one specific task or type of task
 +
 
 +
*  "non-transferrable" any license that says you may not share the software is non-free. An "exclusive" license is also a red flag.
 +
 
 +
* Not mentioning sharing or changing. A free license must proactively say you are allowed to share or redistribute, convey, give to others, etc.  It must also proactively say that you are allowed to modify it, change it, etc.
 +
 
 +
*  Loads of binary files in what is supposedly "source" without the files to create those binaries.  
  
Please note that when you save, your submission won't appear. '''Don't Panic!''' The reason it is not appearing is because updates
+
*  "non commercial or academic purposes only" any license that prevents you from charging $$ for distribution (modified or not) is not free.  
and new submissions need approval by an administrator before they will
 
appear publicly. Logged-in users can tell if they are seeing the latest
 
version of the page, or if there are newer versions of the page waiting
 
for approval by a message at the top of the page.
 
* Not the latest version message: ''This is the approved revision of this page; it is not the most recent. View the most recent revision.''
 
* Latest version message: ''This is the approved revision of this page, as well as being the most recent.''
 
  
Until approved you can review or improve your submission by editing it
+
*  Central control ie: requiring notification or publication of changes
as outlined below.
+
 +
*  Possibility of revocation, including clauses that cover any time someone makes an accusation of patent or copyright infringement.
  
== Update an entry ==
+
*  Forcing acceptance of future license changes or upgrades without the consent of the user. This is why we use "or at your <b>option</b>, any later version"
  
To update an entry:
+
==== Red Herring ====
  
# [[Special:UserLogin|Login to the directory]].
+
These things may seem odd but they don't actually impact the freeness of a program.  
# Click "Edit With Form" at the top of the page you'd like to update.  
 
  
When you update an entry, you edit the latest version of the page,
+
*  No mention of the copyright holder (necessary to report copyright violation).
approved or not.
 
  
To find entries that haven't been updated in a while, check the [[Free Software Directory:Participate/oldies]] page and [[Free Software Directory:Broken links]]. You can also see a [[Special:ApprovedRevs|list of approved pages or pages waiting for approval]]. They are often added by people who are new and do not complete the form fully. Please correct and expand these entries to help the reviewers and reduce the review queues!
+
*  Requiring money, email sign-up or some other hurdle to getting the software in the first place.
  
== Delete an entry ==
+
*  Expressing the wish for some kind of notification or documentation of changes, but not requiring it.
  
If a submission doesn't meet criteria for inclusion in the directory,
+
*  Weird opinions about the GPL or random advice included in the header don't make the software unfree as long as they are merely opinions and not additional restrictions
it can be proposed for deletion, and deleted by an administrator from the drop-down menu.
 
To propose an entry for deletion, edit it's description to start with:
 
  
<nowiki>[[Category:Candidates for deletion]]</nowiki>
+
*  Claiming a jurisdiction for the license and not necessarily guaranteeing portability. This kind of CYA is OK, esp. since we don't know of any problems with specific jurisdictions.
This is a candidate for deletion: (describe why here) <nowiki>~~~~</nowiki>
 
  
Then it will show up in [[:Category:Candidates for deletion]].
+
*  It is OK to ask people to mark and date their modifications when redistributing and even to ask people to say why they've made their modifications, ie: Qhull's license
  
Please always state "Other/additional reason:" when you delete entries, because
+
=== Edge Cases ===
when a page is deleted, it will show up in [[Special:Log/delete|the deletion log]] with a stated reason
 
for its rejection, so users trying to submit a project can know how to
 
correct any errors (if possible). Preserve Talk pages when approriate (eg for malware like [[Talk:IceCat/Web_of_Trust_-_WOT]]).
 
  
Check on [https://archive.org archive.org] if a package's homepage is gone.
+
This is not static information. Policies about adding non-free code obviously don't change, however the way projects are licensed or the way they interact each other is definitely subject to change.  
  
When an entry is deleted, also search for references to it by other
+
* Free programs for accessing specific non-free data that ought to be free: There are programs that are designed for access to specific network services.  In most cases that is not a bad thing.  But there is one kind of case which we should not list.  This is for programs designed to access a server to look at a specific collection of data which we could envision as a published, free work. A dictionary is an example of this.  You could very well have a copy of a free dictionary on your machine.  Thus, a program to access a non-free dictionary on a web site is a way of making a non-free dictionary seem acceptable. So please don't list programs like that. If more cases like this come up, we should talk about them.
entries. For example, it may be listed as a "related project" for some
 
other entries. These references need to be edited out manually; deleting
 
an entry does not automatically remove them. The
 
[[Special:WhatLinksHere|What links here]] tool comes handy when hunting
 
down the links.
 
  
If the package is a particularly popular or well-known proprietary
+
* If software is freely licensed but is bundled with artwork that is not, do we consider the program to be free? From RMS "Images and sounds need to be free if they are essential parts of the software. But if they are just decoration, and easily replaced, then they do not have to be free." Sound and artwork fall into the category of essential for interactive games. Logos on otherwise utilitarian projects do not.  
package, it might make more sense to have the page redirect to free  
 
alternatives already listed on the directory. That way, if a person
 
searches the directory for the proprietary program, they can be directed
 
to free equivalents.  
 
  
== Extra ==
+
*  Export clauses. It is OK for the copyright-holder to disclaim responsibility for any problems the user encounters in attempting to export the software. It not OK for the copyright-holder to require compliance with export laws as a condition of use. There are lots of sneaky ways to phrase things and the interpetations of these stipulations are evolving so if you have any question about an export clause, take it to the compliance officer.
  
These tools are auxiliary, they do not replace this guide or the requirements.
+
* Indemnify? It is OK for a license to require distributors, who are offering some kind of warranty to their recipients, to indemnify the program's other developers.  See the Apache License version 2, Common Public License, and Eclipse Public License.  It is not OK for a license to require all users to indemnify the developers; the original Squeak License does this.
 +
 +
* Requiring the preservation of logos in redistributions/derivative works is a tricky issue. We're okay with it to a limited extent, but we don't want that preservation to become so difficult that it interferes with the four freedoms. It's a good sign if the license puts limits on the logos' display: the Common Public Attribution License is a good example of something along those lines that we accepted. It is not OK if the license just says that you have to preserve the logo, without any additional conditions or explanations. If you see something like this that's unfamiliar, take it to the compliance officer.
  
* Check out the [[Free Software Directory:Participate/Script aid | script aid]] made by [[User:Adfeno|Adfeno]].
+
== 2. Documentation license ==
* [[Free Software Directory:Participate/Using pywikibot | Using pywikibot]] to work with entries in the directory.
 
* [[Special:Version]] - Useful for MediaWiki, and Semantic Forms, and so on, when you need to evaluate version specific syntax.
 
* If you are an administrator looking for directions, check out the [[FSD:Workflow|workflow page]].''
 
  
You can also join the '''[http://lists.gnu.org/mailman/listinfo/directory-discuss directory-discuss list]''' or join us each week for the '''Friday Free Software Directory IRC meeting'''! For details and time, check the [http://www.fsf.org/blogs/directory FSF blog].
+
# We don't include projects that contain non-free documentation.  
 +
# We can include projects that have links to non-free documentation on their websites, but we don't include those links in our entry
 +
# Documentation that doesn't claim a specific license is assumed to be "generic copyright" which is non-free
 +
# Short notes that are included in the package and are not preceded by a copyright notice, ie: README files are OK
  
<!-- Move this to the Free_Software_Directory:Workflow/Entry ?
+
[[Category:Documentation]]
== Guidelines for choosing Version Status of an entry ==
 
* Stable: If it has a release and no indication of the type, choose stable.
 
* Historical means no longer works on any currently supported free software distribution. Since that is hard to determine, some hints are:
 
** The last release or source code change is probably older than 2007.
 
** It's not being maintained by Debian (it's not a [https://packages.debian.org/wheezy/allpackages package in wheezy]).
 
** If you are using a Gnu/Linux distro, it doesn't compile or run for you.
 
You can always revive historical free software to run again. -->
 

Latest revision as of 00:32, 10 November 2016


Please note that this page is still under development.

Software needs to meet the free software definition to be listed at the Free Software Directory. Rules of thumb:

  • All links and homepages of projects should point to free software and free documentation.
  • If a software program runs on proprietary operating system, then the version of the program that runs on free software operating system should be as good or better.
  • The software program itself should not package any program-data, art assets loaded by the program, or software which is under a nonfree license. If art or data is available for the game under a nonfree license but not packaged directly with it, that is a different matter and one we should be more flexible about.
  • Contact address for contributors should only be listed if they also appear publicly in a prominent and public manner on a website directly related to the project — we don't want generate more spam for free software authors.

Below is the (in progress) checklist for determining whether a submission meets the standard to be included in the Directory. There are two steps involved:

  1. Code licence check (including authorship and dependencies)
  2. Documentation licence check

1. Code license

Note: MAME's license prohibits commercial use. This means that nothing which depends on MAME should be added to the Directory. This is also true for xmame and sdlmame.

Normal Projects

(edge cases will be dealt with below)

  • If there is one, take a look at the README file. It often contains dependency notes, project history, licensing policy and other info that can tell you right away whether or not you are dealing with free software. The same can be true for files like RELEASE or RELEASE NOTES.
  • Look for a license. Hopefully, it will be right at the top of the program's directory in a file called "LICENSE" or "COPYING" or even "GPL" but this is merely convention. Developers can put the license anywhere and call the file containing it anything. If it's not at the top look for a directory called doc (short for documentation.) If you have a file that you believe is GPL'ed but you can't find the license and want something more precise to grep than the word 'copyright' you can try 'coon' for GPL2 or 'affero' for GPL3
  • If it is one of our licenses, look it over to make sure it's complete. A word count is a good way to catch altered or truncated licenses. If it has been altered, you can ask the maintainers if they edited the license on purpose, (usually they didn't.) They'll probably offer to fix it and then you can list the project. Of course, you can also skip the correspondence and just not list the project.
  • If it's not one of our licenses, check it against our list here, http://www.gnu.org/licenses/license-list.html to see if it's a free software license. You'll also be able to check to see if it's compatible with any of our licenses.
  • After you seem to have a piece of software under a free license, then you'll want to check that the whole program is actually using that license or some combination of free and compatible licenses. It is not OK to use non-free software modules and then just slap a GPL on the top of the package.

Here are a few ways to check for problems:

look for a subdirectory called lib, this is where libraries reside. Libraries are often added in toto from other projects and that means they often come with their own license. (Although less common, the same goes for any subdirectories entitled "resources" "tools" "plugins" or "modules.") If the lib license is free and compatible, then there's no problem. If it's not compatible or it's a proprietary license, then we have a problem.

look in the file called src, there may be other licenses in there too.

grep for 'copyright' to see what some of the program headers say. A typical header will reference the license and may mention how you're allowed combine it with other files and if you may upgrade the license. If the headers reference non-free licenses then we have a problem.

try grepping 'java' or 'commercial' or 'proprietary' just for fun.

What about a whole bunch of binary files that you can't open? Try grepping the name of the file or subdirectory and you may find a license that only pertains to the binary files.

Red Flags

These issues make a program non-free.

  • Unlicensed sources files.
  • Restrictions on private use, ie: you can only use this software with our other software, with our online service or to do one specific task/or anything EXCEPT one specific task or type of task
  • "non-transferrable" any license that says you may not share the software is non-free. An "exclusive" license is also a red flag.
  • Not mentioning sharing or changing. A free license must proactively say you are allowed to share or redistribute, convey, give to others, etc. It must also proactively say that you are allowed to modify it, change it, etc.
  • Loads of binary files in what is supposedly "source" without the files to create those binaries.
  • "non commercial or academic purposes only" any license that prevents you from charging $$ for distribution (modified or not) is not free.
  • Central control ie: requiring notification or publication of changes
  • Possibility of revocation, including clauses that cover any time someone makes an accusation of patent or copyright infringement.
  • Forcing acceptance of future license changes or upgrades without the consent of the user. This is why we use "or at your option, any later version"

Red Herring

These things may seem odd but they don't actually impact the freeness of a program.

  • No mention of the copyright holder (necessary to report copyright violation).
  • Requiring money, email sign-up or some other hurdle to getting the software in the first place.
  • Expressing the wish for some kind of notification or documentation of changes, but not requiring it.
  • Weird opinions about the GPL or random advice included in the header don't make the software unfree as long as they are merely opinions and not additional restrictions
  • Claiming a jurisdiction for the license and not necessarily guaranteeing portability. This kind of CYA is OK, esp. since we don't know of any problems with specific jurisdictions.
  • It is OK to ask people to mark and date their modifications when redistributing and even to ask people to say why they've made their modifications, ie: Qhull's license

Edge Cases

This is not static information. Policies about adding non-free code obviously don't change, however the way projects are licensed or the way they interact each other is definitely subject to change.

  • Free programs for accessing specific non-free data that ought to be free: There are programs that are designed for access to specific network services. In most cases that is not a bad thing. But there is one kind of case which we should not list. This is for programs designed to access a server to look at a specific collection of data which we could envision as a published, free work. A dictionary is an example of this. You could very well have a copy of a free dictionary on your machine. Thus, a program to access a non-free dictionary on a web site is a way of making a non-free dictionary seem acceptable. So please don't list programs like that. If more cases like this come up, we should talk about them.
  • If software is freely licensed but is bundled with artwork that is not, do we consider the program to be free? From RMS "Images and sounds need to be free if they are essential parts of the software. But if they are just decoration, and easily replaced, then they do not have to be free." Sound and artwork fall into the category of essential for interactive games. Logos on otherwise utilitarian projects do not.
  • Export clauses. It is OK for the copyright-holder to disclaim responsibility for any problems the user encounters in attempting to export the software. It not OK for the copyright-holder to require compliance with export laws as a condition of use. There are lots of sneaky ways to phrase things and the interpetations of these stipulations are evolving so if you have any question about an export clause, take it to the compliance officer.
  • Indemnify? It is OK for a license to require distributors, who are offering some kind of warranty to their recipients, to indemnify the program's other developers. See the Apache License version 2, Common Public License, and Eclipse Public License. It is not OK for a license to require all users to indemnify the developers; the original Squeak License does this.
  • Requiring the preservation of logos in redistributions/derivative works is a tricky issue. We're okay with it to a limited extent, but we don't want that preservation to become so difficult that it interferes with the four freedoms. It's a good sign if the license puts limits on the logos' display: the Common Public Attribution License is a good example of something along those lines that we accepted. It is not OK if the license just says that you have to preserve the logo, without any additional conditions or explanations. If you see something like this that's unfamiliar, take it to the compliance officer.

2. Documentation license

  1. We don't include projects that contain non-free documentation.
  2. We can include projects that have links to non-free documentation on their websites, but we don't include those links in our entry
  3. Documentation that doesn't claim a specific license is assumed to be "generic copyright" which is non-free
  4. Short notes that are included in the package and are not preceded by a copyright notice, ie: README files are OK


Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.

The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.