GNU High Priority Enhancement Projects List

We are looking for programmers to add these features to various programs (often GNU packages, but sometimes not). Please talk with the developers of the existing program first, to discuss how best to cooperate with them, so they will be glad to install your changes when you have them done. Please follow all the conventions of their project.

Please inform <maintainers@gnu.org> when you start one of these projects, and when you have it ready to install — or if you run into an obstacle that stops your progress.

  • Modify aspell or hunspell to handle a gender dictionary. The gender dictionary for a given language would record the gender of each known word, if it has a gender.

    The purpose of this is to enhance the command to check a single word. It should report the word's gender, if the dictionary states its gender. Then we could extend the command M-$ in GNU Emacs to report the word's gender. Other editors could be extended likewise.

    Most of us know of languages where the genders are “male”, “female” or perhaps “neuter”. However, some languages classify nouns in other ways. In linguistic terms, any classification of nouns into categories is called “gender”. This feature should let the gender dictionary specify any set of genders and classify nouns into them. It should handle whatever set of genders the current dictionary defines.

    Some languages use suffixes on verb forms to classify the subject by gender. It would be useful if the extension can analyze a verb form and say which gender it applies to its subject, object, or other related nominal.

  • Write a good free manual for source control using Git.

    The git man pages are useful but, being man pages, they are designed to remind the user of details rather than to teach readers the basic concepts of using git. This is a consequence of the basic structure imposed by man pages: each one is about one subcommand. That is fine for reviewing the details of that subcommand, but the good way to organize a manual is by concepts. See the Documentation node in the GNU Coding Standards for more explanation.