Easy Tasks First

Intent: Start working on easy tasks that provide instant gratification and help you to overcome entry barriers.

Motivation

Start contributing to a FLOSS project can be daunting, and prospective contributors may face challenges to entry into the FLOSS world. You may be a novice programmer, that is used to develop small programs by yourself. Or it may be the case that you have some experience with traditional software development, where tasks are previously assigned to developers, testers, and so on, but not with self-assigned tasks in a community of volunteers. You may even have no programming knowledge at all, but still want to contribute to a FLOSS project. In any situation, it important that prospective contributors manage to overcome entry barriers and keep interested in contributing.

Problem

How can you start to contribute to a FLOSS project and yet keep interested?

Forces

Many forces are involved when you are preparing yourself to make your first contributions:

Solution

Look for easy tasks that need to be performed and start working on them. You will probably complete them in a reasonable amount of time and feel instant gratification. Easy tasks include working on bugs that have trivial fixes, adjusting the style of the source code to match the project coding style, or other housekeeping tasks.

Suggestions for easy tasks can be found in different places, but it is desirable that you try to find them by observing and interacting with the development ecosystem.

Trade-Offs

Pros:

Cons:

Rationale

Humans are mostly short term and oriented towards instant gratification, seeking for immediate results. By performing manageable tasks in FLOSS projects, contributors can build their understanding of the system incrementally while they contribute, and keep their interest and motivation to contribute.

Besides knowing the code, there is also a lot of other aspects of a free software project that a developer can get used to by working first on “trivial” tasks: getting used to the procedure for submitting contributions and having them reviewed by more experienced project members, interacting with the project infrastructure (bug tracking systems, communication channels, etc) and others. By the time the new contributor has acquired the expertise to work on more difficult tasks, the supporting infrastructure may not be an issue anymore.

Known uses

When the LibreOffice project started, the initial team wanted to attract new contributors. They created an initiative called Easy Hacks, that provides guidance for new contributors and lists of tasks considered easy for newcomers to accomplish.

GNOME has a similar initiative called GNOME Love, which is “the place to learn how to start contributing to GNOME”. Besides providing guidance on the topics contributors need to learn, GNOME Love also includes marking bugs that should be easy for new contributors to solve.

Noosfero has a list of tasks marked as Easy to Solve where prospective developers can find bite-sized bugs to fix or enhancements to make.

You might want to Look for TODO Lists that already contain tasks categorized by difficulty level.

In general, you are dealing with easy tasks when you Write Documentation or Translate To Your Language important parts of the documentation.

What Next

After selecting easy tasks to start with, you might want to look at some . Having the Right Version for the Task is crucial, and make sure you Review Your Changes before submitting them.