Skip navigation list, Skip to content, site-wide navigation or skip to search.

Free Software Foundation

Personal tools
Join now
You are here: Home Campaigns High Priority Projects

High Priority Free Software Projects

by John Sullivan Contributions last modified January 31, 2011 17:04

There is a vital need to draw the free software community's attention to the ongoing development work on these particular 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 non-free software by the lack of an adequate free replacement.

Please email any suggestions you have about the list to

List of high-priority projects


The goal of the GNU PDF project is to develop and provide a free, high-quality, complete, and portable set of libraries and programs to manage the PDF file format (ISO 32000), and associated technologies.

The PDF format is an international standard (ISO 32000) and current free software support for PDF contains few of the supported features. We believe that we urgently need a collection of free software PDF libraries and programs that can fully implement this standard and provide users with many of the features they are currently missing in their PDF applications, such as support for interactive forms and JavaScript validation, annotation support, and embedded movies and 3D artwork—just to name a few.

Ways to help: There are many opportunities for volunteers to help take part in the creation of this project, from low-level C-programming, to high-level web programming, from copyediting documentation, to creating artwork for use throughout the applications, manuals, and software itself. Also, consider making a directed donation through the FSF, directly to this project.

Gnash — the free software Flash player

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 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 (, the Gnash discussion mailing list (, or dropping by #gnash channel on

Coreboot — the campaign for a free BIOS

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 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, 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.

Free software replacement for Skype

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.

Ways to help. The easiest way to help is to not use Skype and to encourage the use of a free software replacement instead. There are a number of programs, such as Ekiga, Twinkle, Coccinella, QuteCom, and SIP-Communicator that are working replacements for Skype. 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. 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.

Free software video editing software

Many users are seduced into using 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, 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.

Free Google Earth Replacement

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, and contribute to geographical map programs such as Marble.

Help GNU/Linux distributions be committed to freedom

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 — free software Matlab replacement

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 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.

Replacement for OpenDWG libraries

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.)

Free software to support RARv3

While not recommended for typical usage, especially when formats like bzip2 and lzip can provide high-levels of compression while supporting free software, the RARv3 archive format supports split volumes, and other features. The only free software presently available for it is unrarlib, which can only read rar archives, not write them, and only up to rar v2.9, not the now-prevalent rar v3. Supporting it will take some effort, since the file format is not publicly documented, it will have to be reverse-engineered from rar files.

Ways to help. 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 in GDB

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.

Ways to help. See this general information about GDB's current support for reversible debugging, and this list of additional tasks (at the end of the page). If you have further questions please contact

Free software drivers for network routers

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 Projects seeking funding in this area should consider applying for a grant from the NLnet Foundation.

Free software replacement for Oracle Forms

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.

Automatic transcription

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.

PowerVR drivers

PowerVR is a popular 3D graphics engine found in phones, netbooks, and laptops, for which we currently have no free software driver capable of doing 3D graphics acceleration.

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.

High-Priority Projects Fund

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.

Document Actions

The FSF is a charity with a worldwide mission to advance software freedom — learn about our history and work.