Open source is the collective energy of people with a shared interest in a topic. There's a wide range of people involved. Some will be there because it's part of their work. Others will be there just out of personal interest. What are the people involved motivated by? And how do they interact?
If a person is working with a particular stack, they may want to be involved whenever they run into a problem or an edge case.
I was reflecting on the personas I often encounter in open source, and spent some time gathering thoughts on why they might take part - and how they take part. I figured it might be interesting!
🕴️Carys the corporate maintainer
Motivation: day job work, and fame
Problems: community management, work-life balance
Carys is an expert in her field, and is part of a team in a big company that works on libraries that have captured the attention of the industry in general. Part of her daily workflow includes fixing bugs, adding features, and improving documentation. Her team has been given the mandate to work on the open source library as the company uses it internally, and through establishing a large market of users, they're able to have a large hiring pool of people familiar with their technologies. Carys often speaks at conference due to the large amount of attention her work gets. When Carys changes job, she usually becomes less involved with the project.
🏋️ Ffion the freetime maintainer
Motivators: networking, career, helping others
Problems: Lack of compensation, work life balance, community management
Ffion spends many hours outside of work maintaining a library. She started working on the open source project as she saw a need that was missing in the community. Her project started small, but gained traction when others saw the use cases it solved. Ffion once used the project heavily at work, but no longer works with the stack it uses in her day job. Despite this, she spends a lot of her free time using the project to implement personal projects.
🦸 Nia the helpful
Motivors: helping others, learning, career
Problems: Lack of recogniztion, work-life balance
Nia rarely contributes code to the main repository, but actively provides support to those who seek it. She actively takes part in discussions, answering questions people may have about the project or related best practices. Nia doesn't have a direct finical reason to contribute, but indirectly benefits from the community becoming stronger.
✍️ Ciaran the questioner
Motivators: getting work done, learning
Problems: roadblocks to using a new project (documentation, use case mismatch)
Ciaran is using the project at work, but often runs into cases where the documentation isn’t clear enough. He reaches for the community help forums. Sometimes his questions help others spot places where the documentation can be improved, or inspire others to ask follow up questions.
Ciaran has a twin, too - Cellan. The difference between the two is that Cellan prefers real time chat. Often Cellan's messages get lost due to the ephemeral nature of chat applications, whereas Ciaran’s questions show up in Google results.
👀 Liam the lurker
Motivators: learning, career development
Problems: time
Liam spends a lot of his time hanging out in the community. He doesn't say much, but follows debates and questions closely. Whenever there's an interesting link, he's among the first to read it. At work, he often has in-depth knowledge about technologies used.
🥷Rhydian the rogue
Motivators: Funding, competing projects, personal
Problems: authority
Rhydian appears to be like Nia or Ffion. He'll give useful tips, or even code contributions. Secretly he will attempt to make himself seem like a useful member of the community, while taking actions that harm the community. It could be through malicious code contributions, or influencing the community in counter productive ways.
🧌Tristan the Troll
Motivators: amusement, contrarian
Problems: authority
Tristan causes chaos and arguments where ever possible. He adopts stances and opinions that might not even reflect his true thoughts, purely to introduce discontent. Tristan enjoys derailing conversations and heavy usage of meme gifs. Tristan is occasionally used by Rhydian to damage a community. Tristan sometimes solves useful problems, and over time becomes closer to a Ffion.
🔗Cerith the casual follower
Motivators: knowing more
Problems: taking time
Cerith will read big posts or version announcements, mainly after finding the link on link aggregator sites or social media. Cerith may occasionally submit a Github issue or a comment, but otherwise is not active in the community. Cerith's interest is mainly driven by his needs in his professional life.
🕶️Osian the outsider
Motivators: work-life balance, work
Problems: fall out of the loop with new updates
Osian has no interest in the project, beyond sometimes working on projects in his day job that uses it. He might end up on the documentation pages, or looking on StackOverflow that mention it. He doesn't stay up to date with any news related to it, and has no current interest in being more involved.
Different communities will have different combinations of these personas. Smaller projects might have more helpful people, as the community is small - meaning the impact an individual might have is higher, driving motivation. Bigger projects will have a wide range of people, and usually corporate backing.
Engagement can be a double-edged sword. Those who are highly engaged are more likely to contribute to the project, be it with code, or with ideas for direction. At the same time, passionate people often passionately disagree. If you’re doing something for free, you’re going to have a different level attachment to it than with paid work.
I’d rather a few engaged people, who challenge ideas and direction, than the apathy of the masses.
Any large project or community benefits from understanding the members involved, at work or in personal life. Maybe these personas would be useful for others trying to manage their community.