登录 / 注册 Account

One of the quiet secrets of open source software projects is how much direct experience you can gain from domains and disciplines beyond software development. And the reverse is true—if you have non-developer skills and job experience, you are valuable to open source projects.

There are relatively common forms that a contribution might end up taking when submitted to an open source project. We can examine from an outside perspective how your skills and career development goals map to these types of contributions.

While conversation around technology sometimes focuses on the code and developers, it is a maxim of open source software projects that contribution is more than just code. This is evident when you study a project’s success holistically from within its ecosystem. A skilled project manager or user interface designer, for example, is just as likely as a software developer to provide the ideas and efforts behind a major success.

Types of open source contributions

Common forms of contributions might include:

  • Documentation, tutorials, FAQs, videos, etc.

  • QA/QC tests

  • Bug reports

  • Events to attend

  • Design, from project logo/brand to user interface

  • User experience testing

  • Translation

  • Advocacy and education

  • Outreach and recruiting

If you have familiarity with software projects, you might imagine titles of roles that would produce this work. Longer discussion on these aspects are found in the sections on what a contribution is and the different contributor roles within The Open Source Way 2.0 guidebook.

Digital-Transformation-Minispot-Technology-illustration-quote copy_Blog-thumbnail.pngLooking at this from the perspective of skills and careers beyond software development, there are a number of ways to bring different aspects of your current or desired profession into a project. This list is non-exhaustive and meant to provide some ideas and a way of thinking about open source projects. For a longer discussion on this topic and its benefits, read "Tips to build more inclusive projects and communities > Step four: reward contributions beyond code" from The Open Source Way.

If you are interested in sales and business development, your skills might find a unique challenge in pitching the value of a project and its community. Communication and negotiation skills are useful in areas such as fundraising and creating partnerships with other organizations and projects. 

For practicing your marketing skills, many projects have teams that work on engagement, advocacy, or outreach. In some cases, open source communities don’t have folks with  marketing skills, and they can benefit from your experience, no matter what level.

If keeping your mind turned to the strategy of an organization is your thing, you may find room to build these skills working with or as part of a board of directors or governance team. There are also sometimes opportunities to work with an overall community team to help define project goals and drive bigger community initiatives.

For honing your data science skills, the people working on marketing, outreach, user experience, and so forth often need to help understand the project, its users, and the ecosystem it exists in. The governance or leadership teams may have need of such skills in helping measure the community’s health and other analysis.

With graphic design skills, there is an opportunity to touch upon many aspects of the project, such as branding and marketing, user experience polish and maturity, and in support of the many other skillsets listed here—visualizing data,  building strategy, or forming relationships, to name a few.

While project and program management skills have obvious benefit to software development, you can also find your skills needed in engagement, marketing, outreach, documentation, and so forth—any team can benefit from your organizational skills, and the processes and structures you create. Your skills may be the difference between a long-drawn-out-idea and creating an actual deliverable for the project.

Even though product management skills might not seem to apply to open source communities, these skills are quite useful to any technical project, new initiatives, websites being created that serve people, and all newcomer initiatives. One of the skills here is to bridge the understanding between the project and the organizations it exists within and around, such as sponsoring businesses.

There are myriad ways legal skills can be useful to a project, such as to the project leadership or community team. Projects provide ample opportunities for self-learning and direct experience working on matters such as intellectual property, privacy, liability, and the many intricacies of open source software licensing.

If you are interested in people/human resource skills, some of the project areas that can use your expertise are leadership, the community team, and any newcomer initiatives. Projects have a unique set of recruiting and retention issues that benefit from a wide variety of backgrounds. More and more projects are using codes of conduct for participants and contributors, which can benefit from an entire range of personnel management skills and experience.

There's more than one way to do it

In many of these areas, you may find yourself the first person in the community with these skills, and there are often opportunities to start an effort from scratch, to build in one of these domains something that hews to your vision of how it could and should be.

Hopefully these ideas help you see how a holistic view of a project and its needs can map to not just your existing skills, but the ones you want to develop and the wider goals you wish to achieve in your life and career.


About the author

Working in the Open Source Program Office as part of the Office of the CTO providing a range of services and support to help Red Hat's open source projects become wildly successful.