High Priority Free Software Projects
The FSF high-priority projects list serves to foster the development of projects that are important for increasing the adoption and use of free software and free software operating systems. Our list helps guide volunteers and supporters to projects where their skills can be utilized, whether they be in coding, graphic design, writing, or activism. The FSF does not ask to run or control these projects; some of them are in fact GNU projects (and all are welcome to apply), but we are happy to encourage them whether they are done under our auspices or not. We hope that you can find a project here where your skill, energy, and time can be put to good use.
Some of the most important projects on our list are replacement projects. These projects are important because they address areas where users are continually being seduced into using nonfree software by the lack of an adequate free replacement.
Please email any suggestions you have about the list to email@example.com.
(This list is in no particular order.)
- Reverse engineering projects
- Gnash, the free software Flash player
- Coreboot, the campaign for a free BIOS
- Free software replacement for Skype
- Free software video editing software
- Free Google Earth Replacement
- Help GNU/Linux distributions be committed to freedom
- GNU Octave, free software Matlab replacement
- Replacement for OpenDWG libraries
- Reversible Debugging in GDB
- Free software drivers for network routers
- Free software replacement for Oracle Forms
- Automatic transcription
- Free Software Replacement for BitTorrent Sync
Although Gnash handles many popular sites and media (such as YouTube), much work is needed to be a full replacement for Adobe's Flash player. Visit http://www.gnu.org/software/gnash/ for more details about installing and using Gnash.
Ways to help. The easiest way to start helping the Gnash project is to use the program and to file bug reports. If you want to find out how to become a contributor to the Gnash project, consider joining the Gnash developers mailing list (firstname.lastname@example.org), the Gnash discussion mailing list (email@example.com), or dropping by #gnash channel on irc.freenode.net.
In many cases the BIOS or boot firmware is the only thing standing in the way of a person running their system using exclusively free software (learn more about the FSF's Campaign for a Free BIOS). Visit http://www.coreboot.org to learn more about the development of Coreboot, supported systems, and how you can get started running a free BIOS.
Ways to help. One of the biggest ways you can help the Coreboot project is to encourage vendors to release their specifications so that the Coreboot software can be made to run on those systems. If you wish to learn more about becoming a Coreboot developer, visit the #coreboot channel on irc.freenode.net, or join the Coreboot mailing list to talk with the current developers. One additional area where there is a need for development and attention is in the development of a free software VGA BIOS on graphics cards. We encourage you to pressure graphics card manufacturers to release their VGA BIOS as free software. If you'd like to begin development on a free software VGA BIOS, a good starting point would be the Geode LX chipset by AMD, for which full documentation is available. Also, some coreboot ports still rely on proprietary microcode -- we need to separate the list into ports that do and don't, and for the ones that do, we need to figure out how to replace the proprietary bits or work without them.
The Chinese government, for example, was found to have been spying on Skype conversations already, and they are probably not the only ones. We do not want to encourage the creation of a Skype compatible client, but instead, we want to encourage you to create, contribute to, or promote the use of free software replacements for Skype, such as Ekiga, and to encourage adoption and use of free VoIP, video, and chat protocols such as SIP and XMPP/Jingle.
Ways to help. Developers are needed to work on the projects developing a free software replacement for Skype. There are a number of such programs, such as Ekiga, Twinkle, Coccinella, QuteCom, and Jitsi. Unfortunately, these programs only replace some of Skype's functionality, and only in some situations. The Mingle project builds on Jabber to provide multiparty calling, and is supported by a grant from the NLnet Foundation. NLnet also supports the openMSRP project in this area. Developers should consider helping free software VoIP and video, chat, and multimedia communications projects.
Not a developer? There's still a lot you can do. Using one of the free software Skype replacements listed above is a great start. You can also help by contributing to the documentation and tutorials for such projects, as well as filing feature and bug requests.
Everyone can track progress and stay up to date with replacements for Skype on the LibrePlanet wiki.
More and more everyday computer users are becoming amateur videographers, and we need to make sure that their operating systems come complete with free software to meet their needs.
Ways to help.There are a number of quality, free software video editing programs, such as Kino, Cinelerra, AVIDemux, Kdenlive, LiVES, Lumiera, as well as PiTiVi, Blender, and the Open Movie Editor. Along the way, the easiest way to help is to use these editors and to encourage others to do the same. You can help these projects directly by submitting bug reports, adding features, improving usability, and creating tutorials, guides, and documentation.
Accessing Google's data may not be possible, so any client should work with various other data sources, including free map data projects such as OpenStreetMap.
Ways to help.Develop or improve a 3D rendering engine that reads KML files on par with Google Earth. Contribute to free map data services such as the OpenStreetMap project, and contribute to geographical map programs such as Marble.
Ways to help. See a complete list of free GNU/Linux distributions that could use your help. To learn more about what makes for a free GNU/Linux distribution, see our Guidelines for Free System Distributions. You can also help by working to move other popular distributions that don't currently meet the criteria toward being fully free.
GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command-line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab.
Visit http://www.gnu.org/software/octave for more information on downloading, installing, using, and getting involved in the GNU Octave project.
Ways to help. We encourage you to create high-level packages in GNU Octave with the goal of creating replacement functions for packages provided by Matlab. You can learn more about getting involved in GNU Octave by joining their mailing list and checking the "help wanted" page.
Ways to help. The GNU package LibreDWG is a free C library to handle DWG files. It aims to be a free replacement for the OpenDWG libraries. (DWG is the native file format for AutoCAD.)
Ways to help. We need your help in developing free software drivers and other low-level software to run network routers. One way to do this is to contact the device manufacturer and ask them to release their specifications and/or code as free software. If you know of routers that do not require the use of proprietary software please let us know by contacting firstname.lastname@example.org. Projects seeking funding in this area should consider applying for a grant from the NLnet Foundation.
Ways to help. If you are interested in working on this project, please join the mailing list -- replacementforms-discuss.
Ways to help. If you are interested in working on this project, please introduce yourself and help with building the wiki page detailing the work that needs to be done.
Bittorrent Sync is a peer-to-peer, two-way file synchronization utility with fine-grained access controls. We need a free software version of this client or free software that can be used for the same purpose. To help with this project, start by joining the LibrePlanet wiki group used to coordinate the project.