Tools and Code
What Open Source projects use for work and coordination
Open Source Design
There are basic tools that most projects use. It is helpful to be familiar with them, since this is where most coordination and work is done. There are tools for designers, some of them open source, too, but these tools vary and, if you are a designer you are likely to know them already. This article is about the tools that developers use.
Issue trackers
An issue tracker allows to register problems with the software and discussions about how to solve them. Prototypically, this is a technical problem like the program crashing in a certain condition. However, issue trackers are often used to collect all sorts of problems with the software, including usability problems and feature requests.
It is helpful to first read some existing issues to understand how the issue tracker is used and what tone of communication is typical. Don’t forget that many (but not all) issue trackers allow the use of images, which can be helpful for clarification of problems and to make redesign suggestions.
Code
Just knowing how to program in general is helpful to follow some conversations of developers. However, to contribute code you need to know the specific programming language that is use on the project and often how to use other code (libraries) as well. You also need knowledge of the code of the project. Code of a non-trivial project can span hundreds of pages, and is usually not easy to understand. Usually, people learn how to contribute code by doing some small changes in particular parts of the code and then slowly expanding.
Git
Open source programs are created in one or several programming languages. Different programmers can contribute code. Combining code from several programmers is done via a version management system. The one used most widely is git.
Even if you do not code, you might get in contact with git, since git is often used to manage non-code contributions as well, so icons, translations or text for documentation might also be added through git despite it being a tool made to manage source code – so it more or less struggles with other kinds of content. A simple change or addition is usually not too difficult, though even that will get you in contact with the ideas of commiting changes and then pushing them to a central sever to share them. Git is sadly notoriously difficult to learn, so the use of a graphical git client or a platform like GitHub, GitLab or Gitea is helpful for beginners.
Mailing lists
Particularly older projects use mailing lists instead of web forums for their discussions. It is a way to send a mail to one address and have many people receive it, making to good for group discussions. To read and to post you need to “subscribe” to the list. Before you post, read along for a bit to see if the mailinglist is right for you and to know what tone is common on it.