High Priority Free Software Projects
The FSF high-priority projects list serves to foster work on 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 feel it necessary to use nonfree software due to the lack of an adequate free replacement.
(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
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 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.
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. Using proprietary phone software means that we can't be sure who is listening in, because we can't see the code.
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.
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.
Many users feel the need to use proprietary software for video editing because they are unable 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 their needs.
Ways to help. There are a number of quality, free software video editing programs. The most active are Kdenlive, PiTiVi, and Blender. Others include Cinelerra, AVIDemux, LiVES, and Lumiera. 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 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.
Projects like Trisquel and gNewSense are dedicated to distributing a complete GNU/Linux operating system that contains only free software. They are two of a list of high-quality distributions that modify Debian and Ubuntu to create a complete free operating system without any binary-only blobs or package trees that contain proprietary software.
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.
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. 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.)
Reversible debugging (the ability to "step backwards" through a program) is an obviously powerful tool. Since being added to this list, GDB has implemented some reversible debugging support. The GDB maintainers are now looking for contributors interested in building on this foundation.
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 email@example.com. Projects seeking funding in this area should consider applying for a grant from the NLnet Foundation.
To get started, head over to the LibrePlanet wiki area for this project. Please share your plans and work there, so others can help you!
We need a compatible free software replacement for Oracle Forms that works with free SQL databases. This software would allow people currently using the proprietary Oracle DB to more easily migrate to a free software database system, without having to rewrite all of their user-interface applications.
Ways to help. If you are interested in working on this project, please join the mailing list -- replacementforms-discuss.
We need software capable of automatically transcribing recordings. YouTube is beginning to offer this service, but this is a kind of computing that we should be doing on our own systems with free software.
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.