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. The projects on our list are neither run, controlled, nor maintained by the FSF, but are supported entirely by the individuals in the free software community. 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. 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 non-free software by the lack of an adequate free replacement.
Please email any suggestions you have about the list to firstname.lastname@example.org.
List of high-priority projects
- Gnash — the free software Flash player
- Coreboot — the campaign for a free BIOS
- Free software replacement for Skype
- Membership and donor transaction and contact system
- Free software video editing software
- Free Google Earth Replacement
- gNewSense — The all free software GNU/Linux operating system
- GNU Octave — free software Matlab replacement
- Replacement for OpenDWG libraries
- Reversible Debugging in GDB
- Free software drivers for network routers
Gnash is a GNU program to play Flash movies. Flash is an animation and multimedia file format from Adobe. Gnash is based on GameSWF, and supports most Flash (SWF) version 7 as well as some of versions 8 and 9. 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 (email@example.com), the Gnash discussion mailing list (firstname.lastname@example.org), or dropping by #gnash channel on irc.freenode.net.
Coreboot is a free software project aimed at replacing the proprietary BIOS (firmware) you can find in most of today's computers. In many cases the BIOS 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.
Skype is a proprietary Voice-over-IP program that uses a proprietary protocol. Skype is seducing free software users into using proprietary software, often two users at a time. 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 alternatives to Skype, such as Ekiga, and to encourage to adoption and use of free VoIP, video, and chat protocols such as SIP and XMPP/Jingle.
Ways to help. The easiest way to help is to not use Skype and to encourage the use a free software alternative, instead. There are a number of programs, such as Ekiga, that are working alternatives to Skype. Users of such programs should file bug reports and feature requests to the projects. If you are not a developer, you can consider contributing to documentation and tutorials for such projects, as well as filing feature and bug requests. Developers should consider helping free software VoIP and video, chat, and multimedia communications projects.
One aspect of the Free Software Foundation that impresses many in the non-profit world is that we run our organization entirely with free software. However, much of our software for contacting our members, keeping track of donors, and managing transactions was developed ad hoc and is starting to become difficult to manage and maintain. There are also many additional features we wish we had. This is true across the entire non-profit sector, and there is a strong need for more good free software donor transaction and contact systems.
Ways to help. We recommend contacting us at email@example.com, as well as other non-profit organizations to do an assessment of needs and specifications for such a system before starting to develop it.
Many users are seduced into using proprietary software for video editing because they are uanble to achieve the effects they want using the current state of the art in free software video editing and production software. 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 there needs.
Ways to help.There are a number of quality, free software video editing programs, such as Kino, Cinelerra, and AVIDemux. 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.
Google Earth is a proprietary software program for visualizing and annotating map data. We need a free software version of this client. 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 Open Street Maps.
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 Open Street Maps project.
gNewSense is dedicated to distributing a complete GNU/Linux operating system that contains only free software. It is a high-quality distribution that extends and improves Debian and Ubuntu to create a complete free operating system without any binary blobs or package trees that contain proprietary software.
Ways to help. The easiest way to start helping gNewSense is to install and run it. To begin volunteering for gNewSense we recommend you start at the gNewSense community page, and consider joining the appropriate mailing lists and/or IRC channels to find out specific ways you can begin helping.
Watch Stephen Fry talking about gNewSense, or see a complete list of free distributions. To learn more about what makes for a free GNU/Linux distribution, see our Guidelines for Free System Distributions.
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.
OpenDWG is a collection of CAD files, a specification for CAD format, and proprietary software tools for creating and manipulating CAD files. We need a similar initiative that is committed to software and user freedom
Ways to help. There are a number of free software design programs that can manipulate CAD files. We need to promote sharing CAD files that people are free to use however they wish, share with their neighbor, and redistribute modifications, as well as corresponding free software. If you know of an existing project or you wish to spearhead the creation of such a project please contact letting us know the details.
Reversible debugging (the ability to "step backwards" through a program) is an obviously powerful tool. GDB does not support it today, but the foundations have been laid, and the GDB maintainers are looking for contributors interested in expanding those foundations.
Ways to help. Visit http://sourceware.org/gdb/news/reversible.html for more details on how you can get started helping or supporting this project. If you have further questions please contact .
Free software projects such as OrangeMesh make it easy for users to turn their network routers into mesh network access points. However, there is no way of running OrangeMesh at this time without the use of proprietary software.
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 .
Help us to build our high-priority projects fund so that we can continue bringing the community together and directing development, resources, and time to projects that urgently need our attention.
Are these software projects or political projects?
Software must often meet certain standards or practices in order to interoperate with other software programs or hardware devices. In some cases our suggested path for completing projects on the HPP list may be to contact device manufacturers or standards bodies to request or encourage them to release specifications, software, or to adhere to implement certain standards that respect user-freedom.