This is an updated version of an article originally published in October 2021.
The previous article described the benefits of a career in free and open source software, along with four steps toward getting the skills you need for such a career. This article concludes the series with four more steps that put these skills to use.
Join a free software project and delve in diligently. That’s perhaps the most important activity you can do to understand free software. Just as you have to hang around native language speakers to learn a language—no amount of vocabulary or grammar study will give you the feel—you have to make free software part of your life in order to be good with it in a career.
What project should you join? If you use a particular piece of free software, it’s natural to follow the community that maintains it. You can also look for projects that achieve social goals that are important to you. If a project is small and has only a few community members, your participation may inject new energy. If the project is large, you can learn a lot by joining it and observing.
In a community, you learn the concepts and memes that people cite while discussing the software, their goals, and the challenges they face. You might interact with people around the globe, and learn how to build positive relationships across borders and cultures. You learn what to say and not to say. (Of course, if you think people are being excluded or ignored, you should speak up and try to change the culture.)
You learn a lot about other projects too, because each free software project is part of an ecosystem. Participating in one community prepares you for membership in the larger mycorrhizal networks of technology, free software, and social action.
It takes special skills to work with people online—skills that have become even more crucial since the COVID-19 pandemic hit. Free software communities have been operating mostly online for decades and have forged these skills, so you can learn a lot there.
How can you engage? Listen for a while, then venture a question. Also answer a question—share the knowledge you learn as you go along. Volunteer to write some documentation, some marketing, a splash page, etc. Submit a bug report (hint: choose a community that makes bug reporting easy and responds well to people who submit them)—and then offer bug fixes. Resolve disputes, or pose constructive challenges to the community.
I can’t offer more specific advice about how to participate, because the workings of each culture differ. To me, success means respecting the culture you’ve joined while encouraging the participants to respect the larger world culture we are all part of.
As you become recognized, you will be asked to take on leadership roles. You may find yourself serving on boards, attending conferences, judging contests, running fundraisers, and so forth. This kind of work is critical to the health of projects. But it gives you great benefits too—take it from me, who has been involved in nonprofit volunteering all my life. You will become close to leaders in your field, learn the hot new issues, and open up still more opportunities. So step up and give of yourself at the highest levels.
If you have thrown in your lot with an open source project and are spending hours doing work for them, it’s natural to provide additional support by seeking out sources of funding. Almost every open source project could use some cash. In fact, the lack of financial support for open source projects is one of the biggest problems in computing today.
Some companies back free software projects with money and code contributions, but others are content to incorporate the software into critical parts of their infrastructure without giving anything back. Whether you work for a company using open source software or just contribute to the project as an individual, you can speak up and try to get users of the software to recognize their responsibilities.
Furthermore, small amounts of funding are available from many foundations in the free and open source software world, especially for start-up projects. Research these opportunities and consider applying for funding for your project. The foundations often provide guidance on legal, organizational, and other issues as well.
If you’re a creative artist, you might be able to design and produce items that promote the project, and even earn a little money for it through sales. Never dismiss the importance of small contributions.
After learning some technology, you can start making contributions to it. Doing so is not pure altruism: It opens up opportunities, perhaps even job opportunities.
Can new programmers make a real contribution to free software? You might have heard that many major open source projects are supported by corporations. For instance, « 75% of the Linux code is written by programmers working for corporations. » This shouldn’t discourage you from trying to contribute to your favorite project. If it benefits from a lot of paid professionals, just think, « I could be one of them someday. »
Programming is the core skill needed by software projects, naturally, but documentation is also sorely needed. (Remember what I said about the quality of documentation earlier.) Anything that creates some digital artifact—even a graphic—can be stored in a version control system. These systems precisely track who did what, and you can point to them to show off your expertise.
Two popular version control sites, GitHub and GitLab, have set up systems consciously designed to show off contributors’ skills. For instance, the sites let people attach markers called « stars » to projects they use, and other people can see how many stars the projects have earned. GitHub and GitLab can be the virtual equivalents of the portfolios artists carry from interview to interview.
As you rise through different stages in this article, gaining knowledge and participating to a greater extent in free software, you get to the stage of proving your skill through certifications. These certifications are valued by some companies more than others, and are particularly valuable in certain countries. Check around the industry and job categories you’re interested in to see whether the hiring managers value a particular certification.
I will speak here only about certifications from the Linux Professional Institute, as publishers of this article. The certifications from LPI measure mostly system administration skills, but cover also some programming (which is a necessary skill in modern system administration). LPI has worked with a type of psychologist known as a psychometrician to create tests that measure job-ready skills and not simply book knowledge.
LPI’s Essentials certificates provide gentle on-ramps to knowledge of many topics you should know: Currently, LPI offers certificates in Linux, open source in general, security, and web development.
The material on the security certificate should be part of every computer user’s education, and the material on the open source certificate is valuable for anybody who is working in an organization that uses open source software or open content.
The Linux certificate gives you assurance that you can manage the Linux system that I advised you to get in the previous article of this series. And with the knowledge in a web development certificate, you’ll have the skills to modify web pages or create simple interactive web pages of your own.
An even higher level of community participation, open to people with LPI certifications, is to become an LPI Member. This has benefits for both the member and the larger community. Members can extend the lifetime of their certifications by teaching and doing community work. And because members participate in LPI forums and elect LPI board members, they convey the needs of the community to set the organization’s direction.
It’s obvious that computers and software are becoming more and more central to every industry and public institution. Jobs in computing are highly desired for lots of reasons: They pay well, provide pleasant work environments, allow some creativity and self-actualization, and teach skills that make people mobile. But how do you get a job like that?
Free software is an entry point into a high-tech career because its source code is open, it is usually free to use, its participants help each other, and it’s in use wherever serious computing is done.
Just as free software provides opportunities to under-privileged individuals, it provides opportunities to communities and regions left behind by traditional commerce. As an advocate of free software, you can provide more opportunities for people around the world.
My thanks to Deborah Bryant of the Open Source Initiative (OSI) and Thomas Markey of Fosshost for their review of this article.
<< Read the previous post of this series | Read the next post of this series >>