Free Software Directory:Participate
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:
- The directory-discuss mailing list.
- The Friday Free Software Directory IRC meeting. For details and time of the meeting, check the home page.
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:
- Login to the directory.
- Head to our 'Submit a new entry' page. (Also linked in the sidebar.)
- 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. (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.
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:
- 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 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.
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.
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 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:
- Tools for getting maintainers involved.
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.