Difference between revisions of "Free Software Directory:Participate"

From Free Software Directory
Jump to: navigation, search
m (Let's show the full name of the organization)
m (Reverted edits by Sudoman (talk) to last revision by Mmcmahon)
(Tag: Rollback)
(53 intermediate revisions by 12 users not shown)
Line 3: Line 3:
 
<div style="content: '.';visibility: hidden;display: block;height: 0;clear: both;"></div>
 
<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]].
+
The Free Software Directory is edited by a community of volunteers and FSF staff members.
  
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.
+
Besides this wiki itself, there are two main channels to follow as part of your participation:
  
We talk about three things here -- how to submit, update, and delete entries.  
+
* The '''[http://lists.gnu.org/mailman/listinfo/directory-discuss directory-discuss mailing list]'''.
 +
* The '''Friday Free Software Directory IRC meeting'''. For details and time of the meeting, check the [[Main_Page|home page]].
 +
 
 +
Anybody can update or submit new entries to the Directory, including their own programs. Please review the [[{{ns:4}}:Requirements|requirements]] for entries.<br>
 +
The [[#Project Teams|project teams]] are subscribed to the mailing list and often attend the meetings, assisting and guiding the users when necessary.
 +
 
 +
To submit a new entry or update an existing one, you must have an FSF account. If you don't already have a [{{fullurl:{{ns:-1}}:CreateAccount}} Free Software Foundation Central Login] ([https://my.fsf.org/join member] or [https://my.fsf.org/user/register non-member]), create one, and then click <code>Log In</code> on the Directory.
  
 
== Submit new entries ==
 
== Submit new entries ==
Line 13: Line 19:
 
To submit a new entry to the directory:
 
To submit a new entry to the directory:
 
   
 
   
# [[Special:UserLogin|Login to the directory]].
+
# [[{{ns:-1}}:UserLogin|Login to the directory]].
# Head to our '''[[Form:Entry|'Submit a new entry' page]]'''. (Also linked in the sidebar.)
+
# Head to our '''[[{{ns:106}}:Entry|'Submit a new entry' page]]'''. (Also linked in the sidebar.)
 
# Enter the name of the package or software program.
 
# 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.)
+
# You will be brought to a multi-part form -- don't panic!<br>Only the first few fields are required. ([[{{ns:4}}:Workflow/Entry|Form documentation]] helps you to complete the form, but it can also be completed by another volunteer or by the reviewer.)
 
# The final step is to go to the last tab and press the '''save button''' at the bottom.  
 
# The final step is to go to the last tab and press the '''save button''' at the bottom.  
  
Please note that when you save, your submission won't appear. '''Don't Panic!''' The reason it is not appearing is because updates
+
Please note that when you save, your submission won't appear. '''Don't Panic!''' The reason it is not appearing is because updates 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.  
and new submissions need approval by an administrator before they will  
+
* Not the latest version message: <q>This is the approved revision of this page; it is not the most recent. View the most recent revision.</q>
appear publicly. Logged-in users can tell if they are seeing the latest  
+
* Latest version message: <q>This is the approved revision of this page, as well as being the most recent.</q>
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  
+
Until approved you can review or improve your submission by editing it as outlined below.
as outlined below.
 
  
 
== Update an entry ==
 
== Update an entry ==
  
 
To update an entry:  
 
To update an entry:  
 +
# [[{{ns:-1}}:UserLogin|Login to the directory]].
 +
# Click "Edit with Form" at the top-right of the page you'd like to update.
 +
 +
When you update an entry, you edit the latest version of the page, approved or not.
 +
 +
To find entries that haven't been updated in a while, check the [[{{ns:4}}:Golden Oldies|Golden Oldies]] project team's page. You can also see a [[{{ns:-1}}: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!
  
# [[Special:UserLogin|Login to the directory]].
+
=== Searching in source trees ===
# 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,
+
When it is necessary to verify that the source code of a software contains or does not contain certain terms it is good to use automated GNU tools.
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!
+
Recursive search is a technique that starts from a custom root directory and examines the contents of all descendant nodes (files and directories) in the filesystem. Recursive search allows you to search for text in an entire source tree with a single command, without the need to use graphical interfaces.
 +
 
 +
A basic <i>example</i> of this kind of deep search using regular expressions is:
 +
 
 +
grep --recursive --ignore-case --files-with-matches --extended-regexp "^.*(commercial|proprietary|license|rights).*$" ./src/
 +
 
 +
This <i>example</i> is a good starting point: it does a case-insensitive search in <i>all</i> files contained in the directory <code>./src</code> of the words matched by the regular expression (commercial, proprietary, license and rights, <code>^</code> matches the beginning of a line, <code>$</code> matches the end of a line). You can add the option <code>--invert-match</code> to match the words that are <i>not</i> matched by the regular expression and remove the option <code>--files-with-matches</code> to also view the matched contents and not only the file names. This tool accesses the files in read-only mode and does not cause alterations, so it is possible to practice at will by gradually making changes to the command line.
 +
 
 +
Execute <code>info grep</code> for more information.
 +
 
 +
Lastly, there are scripts and packages which might be useful for the review, even for newcommers. As for packages, examples include the simpler <code>licensecheck</code> and the more advanced <code>fossology</code>. For the case of scripts, the community keeps a list of [[{{ns:4}}:Scripts|scripts]] which might be helpful.
  
 
== Guidelines for choosing Version Status of an entry ==
 
== Guidelines for choosing Version Status of an entry ==
Line 47: Line 62:
 
* Historical means no longer works on any currently supported free software distribution. Since that is hard to determine, some hints are:  
 
* 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.
 
** 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]).
+
** It's not being maintained by Debian (it's not a [https://packages.debian.org/stretch/allpackages package in stretch]).
** If you are using a Gnu/Linux distro, it doesn't compile or run for you.
+
** 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.
 
You can always revive historical free software to run again.
 +
 +
==Friday IRC Meeting==
 +
 +
The [https://www.fsf.org/ Free Software Foundation (FSF)] hosts the Friday IRC Meeting to help new volunteers get started working on the Directory, as well as to discuss ongoing or new Directory projects.
  
 
== Delete an entry ==
 
== Delete an entry ==
  
If a submission doesn't meet criteria for inclusion in the directory,
+
If a submission doesn't meet criteria for inclusion in the directory, 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:
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>
+
<blockquote>
This is a candidate for deletion: (describe why here) <nowiki>~~~~</nowiki>
+
: <nowiki>[[Category:Candidates for deletion]]</nowiki>
 +
:: This is a candidate for deletion: (describe why here) <nowiki>--~~~~</nowiki>
 +
</blockquote>
  
Then it will show up in [[:Category:Candidates for deletion]].
+
Then it will show up in [[:{{ns:14}}:Candidates for deletion|the category about candidates for deletion]].
  
Please always state "Other/additional reason:" when you delete entries, because
+
Please always state "Other/additional reason:" when you delete entries, because when a page is deleted, it will show up in [[{{ns:-1}}: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 appropriate (eg for malware like [[Talk:IceCat/Web_of_Trust_-_WOT]]).
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.
+
If the issue is that the software is no longer available, make sure to check on [https://archive.org archive.org]. Archive.org can sometimes be the last home for free software that is no longer maintained but could still be useful.
  
When an entry is deleted, also search for references to it by other  
+
When an entry is deleted, also search for references to it by other 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 [[{{ns:-1}}:WhatLinksHere|What links here]] tool comes handy when hunting down the links.
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 the package is a particularly popular or well-known proprietary 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.
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 ==
+
== Donations and Cryptocurrency Donations ==
  
You can 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 (and how to figure it out in your time zone), check the [[Main_Page|main page]].
+
Entries have a space for listing where users can donate, as well as a checkbox for indicating that the project accepts cryptocurrency donations. The donation text box should be filled with the url to the project's donate page, not the particular cryptocurrency address. This is because the address could change, and it also means that we don't have to verify the wallet address when listing the donations.
  
These tools are auxiliary, they do not replace this guide or the requirements.
+
== Mentions ==
  
* Directory import project: The project enables us to import package information from free software repositories. Long ago a friend put together scripts that we used to import thousands of entries. But thousands upon thousands more could be added if we update the import scripts. The project has been sitting idle for a while now at <[https://savannah.gnu.org/p/directory https://savannah.gnu.org/p/directory]>, just waiting for volunteers to jump in and refine it.
+
When you mention a user's profile or name, you must always sign. If you forget the signature (which must always be in the form <code><nowiki>
* [[Free Software Directory:Participate/Approval script|Automating revision approval]] by [[User:Iank|Ian Kelling]].
+
--~~~~</nowiki></code>) make a minor change to add it.
* Check out the [[Free Software Directory:Participate/Script aid | script aid]] made by [[User:Adfeno|Adfeno]].
 
* [[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]].''
 
* For admins to quickly review and approve many changes, see [[Free Software Directory:Participate/Approval script | Approval script]].
 
  
 +
In other words, please '''always''' make an internal link to the userpage of the person you are replying to with <code><nowiki>[[User:accountname]]</nowiki></code> ''and'' sign with <code><nowiki>--~~~~</nowiki></code>.<sup>[https://www.mediawiki.org/wiki/Help:Notifications/Types#Mentions ref]</sup> Unsigned mentions will not produce a notification for the mentioned.
  
<!-- Move this to the Free_Software_Directory:Workflow/Entry ?
+
This is specially useful because, if you are commenting in a thread inside a talk page and if you follow this advice, you '''don't''' need to comment on the talk userpage of the person you are replying to.
== 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:  
+
<center><hr style="width:50%;">Administration</hr></center>
** 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]).
+
== Administration of [[{{ns:4}}:Participate/MediaWiki|MediaWiki]] ==
** 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. -->
+
* '''If you are an administrator looking for directions or scripts''', check out the [[{{ns:4}}:Workflow|workflow page]].
 +
* [[{{ns:4}}:Website guidelines|Website guidelines]] for people who want to make contributions to the layout and the design of the directory.
 +
* Check often for [[{{ns:4}}:Buggy entries|buggy entries]] and fix them.
 +
* [[{{ns:-1}}:Version]] is useful for MediaWiki, and Semantic Forms, and so on, when you need to evaluate version specific syntax.
 +
* Finally, if you have experience and a particular interest that you want to work on, you can start or join a team:
 +
 
 +
{{/teams}}
  
 
== Outreach ==
 
== Outreach ==
  
* Tools for getting [[Free Software Directory:Participate/maintainers | maintainers]] involved.
+
* Tools for getting [[{{ns:4}}:Participate/maintainers | maintainers]] involved.
 +
 
 +
== Dispute resolution ==
 +
* [https://en.wikipedia.org/wiki/Wikipedia:Dispute_resolution Generic dispute resolution]<!-- "If there's like a policy document from wikipedia that we can reference on the topic [of unresolved disputes] that would be helpful." - Donald Robertson -->
 +
* [[Free_Software_Directory:Administrative_dispute_resolution|Administrative dispute resolution]]

Revision as of 20:49, 17 December 2020


The Free Software Directory is edited by a community of volunteers and FSF staff members.

Besides this wiki itself, there are two main channels to follow as part of your participation:

Anybody can update or submit new entries to the Directory, including their own programs. Please review the requirements for entries.
The project teams are subscribed to the mailing list and often attend the meetings, assisting and guiding the users when necessary.

To submit a new entry or update an existing one, you must have an FSF account. If you don't already have a Free Software Foundation Central Login (member or non-member), create one, and then click Log In on the Directory.

Submit new entries

To submit a new entry to the directory:

  1. Login to the directory.
  2. Head to our 'Submit a new entry' page. (Also linked in the sidebar.)
  3. Enter the name of the package or software program.
  4. You will be brought to a multi-part form -- don't panic!
    Only the first few fields are required. (Form documentation helps you to complete the form, but it can also be completed by another volunteer or by the reviewer.)
  5. The final step is to go to the last tab and press the save button at the bottom.

Please note that when you save, your submission won't appear. Don't Panic! The reason it is not appearing is because updates 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 as outlined below.

Update an entry

To update an entry:

  1. Login to the directory.
  2. Click "Edit with Form" at the top-right of the page you'd like to update.

When you update an entry, you edit the latest version of the page, approved or not.

To find entries that haven't been updated in a while, check the Golden Oldies project team's page. You can also see a 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!

Searching in source trees

When it is necessary to verify that the source code of a software contains or does not contain certain terms it is good to use automated GNU tools.

Recursive search is a technique that starts from a custom root directory and examines the contents of all descendant nodes (files and directories) in the filesystem. Recursive search allows you to search for text in an entire source tree with a single command, without the need to use graphical interfaces.

A basic example of this kind of deep search using regular expressions is:

grep --recursive --ignore-case --files-with-matches --extended-regexp "^.*(commercial|proprietary|license|rights).*$" ./src/

This example is a good starting point: it does a case-insensitive search in all files contained in the directory ./src of the words matched by the regular expression (commercial, proprietary, license and rights, ^ matches the beginning of a line, $ matches the end of a line). You can add the option --invert-match to match the words that are not matched by the regular expression and remove the option --files-with-matches to also view the matched contents and not only the file names. This tool accesses the files in read-only mode and does not cause alterations, so it is possible to practice at will by gradually making changes to the command line.

Execute info grep for more information.

Lastly, there are scripts and packages which might be useful for the review, even for newcommers. As for packages, examples include the simpler licensecheck and the more advanced fossology. For the case of scripts, the community keeps a list of scripts which might be helpful.

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 package in stretch).
    • 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.

Friday IRC Meeting

The Free Software Foundation (FSF) hosts the Friday IRC Meeting to help new volunteers get started working on the Directory, as well as to discuss ongoing or new Directory projects.

Delete an entry

If a submission doesn't meet criteria for inclusion in the directory, 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:

[[Category:Candidates for deletion]]
This is a candidate for deletion: (describe why here) --~~~~

Then it will show up in the category about candidates for deletion.

Please always state "Other/additional reason:" when you delete entries, because when a page is deleted, it will show up in 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 appropriate (eg for malware like Talk:IceCat/Web_of_Trust_-_WOT).

If the issue is that the software is no longer available, make sure to check on archive.org. Archive.org can sometimes be the last home for free software that is no longer maintained but could still be useful.

When an entry is deleted, also search for references to it by other 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 What links here tool comes handy when hunting down the links.

If the package is a particularly popular or well-known proprietary 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.

Donations and Cryptocurrency Donations

Entries have a space for listing where users can donate, as well as a checkbox for indicating that the project accepts cryptocurrency donations. The donation text box should be filled with the url to the project's donate page, not the particular cryptocurrency address. This is because the address could change, and it also means that we don't have to verify the wallet address when listing the donations.

Mentions

When you mention a user's profile or name, you must always sign. If you forget the signature (which must always be in the form --~~~~) make a minor change to add it.

In other words, please always make an internal link to the userpage of the person you are replying to with [[User:accountname]] and sign with --~~~~.ref Unsigned mentions will not produce a notification for the mentioned.

This is specially useful because, if you are commenting in a thread inside a talk page and if you follow this advice, you don't need to comment on the talk userpage of the person you are replying to.



Administration

Administration of MediaWiki

  • If you are an administrator looking for directions or scripts, check out the workflow page.
  • Website guidelines for people who want to make contributions to the layout and the design of the directory.
  • Check often for buggy entries and fix them.
  • Special:Version is useful for MediaWiki, and Semantic Forms, and so on, when you need to evaluate version specific syntax.
  • Finally, if you have experience and a particular interest that you want to work on, you can start or join a team:

Project Teams

Outreach

Dispute resolution



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.