How to Market an Open Source Project
Pam Baker | 18 December 2017
The widely experienced and indefatigable Deirdré Straughan presented a talk at Open Source Summit NA on how to market an open source project. Deirdré currently works with open source at Amazon Web Services (AWS), although she was not representing the company at the time of her talk. Her experience also includes stints at Ericsson, Joyent, and Oracle, where she worked with cloud and open source over several years.
Through it all, Deirdré said, the main mission in her career has been to “help technologies grow and thrive through a variety of marketing and community activities.” This article provides highlights of Deirdré’s talk, in which she explained common marketing approaches and why they’re important for open source projects.
Why you have to market free stuff
So, what is marketing? At its most basic, she said, marketing is about getting people to exchange their money for goods and services. So you might think: “Marketing is about selling. Open source is free. I don’t have to try to sell anything, so why would I need marketing?”
But, you are selling something. You are selling ideas, and the currency you are requesting in return is something extremely valuable, which is people’s time and attention. That may feel counterintuitive, because open source generally means giving something away, but it does have substance and it does have worth. In fact, it is so worthwhile that people contribute time, money, talent, and effort to the cause. However, they can only do that if they are aware of your project and convinced of the value of supporting it.
Additionally, competition is fierce, said Deirdré. To succeed, your project must compete for attention and support with some 25 and a half million other open source projects. Thus, open source marketing is about capturing very scarce attention and resources in a very crowded environment. It’s about attracting people and resources to your project, which can be difficult to do.
According to Deirdré, the main resource projects need is people — their time and effort. They may be people who use your project, or they may be contributors. Of those who are contributors, some will work independently, often in their spare time. Others may be assigned a project by their employer, or, as is increasingly common, be specifically hired to work on a particular open source project.
“And, yes, in some cases, you are also asking for money. We would all like to believe that pure technical goodness will be rewarded, and that we should never have to think about money. However, most of us need some money to survive,” she said.
Open source is increasingly supported by companies, but many companies are unsure about which projects to invest in. To succeed, your project needs to rise above the crowd and to attract not just independent contributors, but also companies that could offer material support.
Common points of failure in marketing
“Even so, marketing often fails to happen in open source. A common reason is that many people in tech despise marketing. But you shouldn’t automatically recoil from the mere mention of marketing, because you need to be doing it if you want to survive. It will be difficult to do marketing well, if you go into it thinking it’s sleazy,” Deirdré said.
Sometimes resistance to marketing comes from a literal machismo, according to Deirdré. Marketing is considered a soft skill, a job for women, as opposed to the (ahem) “manly” work of coding. It is perceived as a lower-status role (until you get to the VP or CMO level). Other reasons for lack of marketing involve lack of funding, or simply the fact that nobody working on a project happens to know how to do it.
At its best, Deirdré said, marketing helps people understand what the technology is about, and how they can use it. It is a form of communication that is informative, truthful, convincing, and even inspiring.
There are many marketing tools readily available. First in importance, Deirdré said, is your code. GitHub is your resumé. Your basic code should be architectured purposefully and offer the capability to write libraries or modules so that the barriers to entry for a newcomer are fairly low. It should be well coded and offer tools that help people learn to use and contribute to your project.
A common pitfall relates to documentation. Many companies don’t bother with it, but documentation will help attract people to your project. Documentation usually explains all the commands and parameters and what the output means. This information is necessary, but insufficient. Additional types of documentation are needed, according to Deirdré, such as, white papers, blogs, video, podcasts, and conference talks.
Once you’ve created all this content, you need a place to put it. Obviously, a GitHub repo is necessary, but you’ll also need a website and/or wiki.
Discoverability is crucial, Deirdré said. You have created all this content, but people still have to find it. Toward that end, you should be cautious about project names. For example, if your project name is also a common word, searching for it is going to be difficult. To maximize results in a search engine, you can use keyword tags and categories that will help people find your project.
Search engine optimization is an arcane art. Being on the first page of search results for a keyword is extremely valuable. For that reason, “SEO best practice changes frequently, as search engines are in an arms race with the black hats who want to game search results,” she said. “You can easily find recent tips and tricks on how to improve your rankings. However, it usually takes about a year to make any real progress in search engine rankings. You’ll need patience.”
Everything that touches the customer is marketing, Deirdré said. For example, consider airlines. Everything about the airline experience affects what consumers think about the airline. From buying a ticket, the check-in process, boarding, the plane ride and experience, the atmosphere of the airport, timeliness in departures and arrivals, and whether luggage arrived on time and unscathed — all of these processes and experiences help shape the consumer’s opinion of the brand.
“This is also true for technology, and especially for communities and projects. Everything that somebody experiences around your project — good or bad — affects their perception of that project and whether they are going to want to participate in it,” she said.
So, community is important. Community culture is important, as is diversity. Nurture your community. If your open source community is not diverse, ask yourself why, and think about how you can attract a wider range of participation.
Diversity also means diversity of contribution. Does your project recognize and value contribution beyond just the code? Again, you’re asking people to help you do this work, so make sure that they’re recognized for it.
Kindness also matters
Look closely at the newbie experience. What is it like onboarding someone to your technology? Think, too, about growing pains. Projects, like startups, can reach a critical inflection point, when there is rapid success but things start to fall apart, because there just aren’t enough people to respond quickly.
“In conclusion, I’d like you to take away that marketing is not evil. You may already be doing it. You just may not think of some of what you’re doing as marketing,” Deirdré said.
“And marketing, particularly that which is appropriate for open source, is mostly stuff you’re probably already doing, or at least know how to do. There are even people out there who would love to help. They’re just waiting to be asked.”
Deirdré Straughan is the Content Lead for the AWS Open Source Community Engagement team. Her work for AWS includes the new AWS Open Source blog and @AWSOpen on Twitter. You can find her at @deirdres on Twitter.
Cloud Computing Compliance and Security Projects Linux How-To 2023 Diversity & Inclusion Open Source Best Practices 2022 Events Cross Technology Training and Certification Open Source LFX Blockchain Research Legal Networking and Edge Data Governance LF Energy LF Research OpenChain System Administration