Marketing Open Source ProjectsEdit this guide on GitHub
Marketing is as crucial as code to any open source project’s success. Organizations that participate in open source projects play a vital role in developing a sustainable ecosystem around a project by marketing the project through their own networks. Organizations, in turn, benefit from those marketing efforts by growing their visibility in the project community and associating their own brand with the project. The benefits can be seen in a growing project leadership role, attracting developers to your organization, and promoting your open source products and services. The key is to promote the project first and always remain authentic and true to the open source ethos of openness and transparency.
Learn how to promote an open source project to attract contributors, find users, and raise the profile and credibility of your project. Do this while simultaneously growing your own open source credibility within the project community, attracting talented developers, and promoting your open source projects and services.
The challenge of marketing open source projects
Marketing can be perceived as a dirty word. The negative connotation can drag down efforts to discuss the subject seriously, let alone deploy a marketing plan. However, the reality is different from the perception. Without a strong marketing effort shining light on a project, even the most brilliant code can wither and die in the dark of obscurity.
“We who work on open source projects want to work on projects that other people find valuable, that other people use, that are widely accepted within the industry, and the reality is that doesn’t just happen by magic,” says Dawn Foster , OSS Strategy Lead at Pivotal Software.
While the strengths of the technology alone can occasionally attract a crowd to form the basis for a community, that scenario is no more the norm than winning the lottery.
“The notion ‘if you build it, they will come’ is completely wrong. At the very least, it is an excuse for some short-sighted and dangerous assumptions about what it takes to make a project successful,” said Deirdré Straughan, Open Source Content Lead at Amazon Web Services (AWS), in her talk at Open Source Summit NA two years ago. “Just building it is rarely enough, yet a lot of people still hope that great code alone will be successful. That attitude sunk quite a few technologies and even entire companies.”
Given the tremendous growth of open source in the past decade, marketing open source projects is increasingly important.
“There are over 80 million repos on Github. There are also many duplicate functions being created by different people so that there could be five or more libraries to solve one problem. If you don’t actively communicate what your project is doing and what you’re looking for, people are not going to join you,” says Nithya Ruff , senior director of the Open Source Practice at Comcast.
“People are not even going to discover you, so it’s a question of if you want to be relevant, if you want to grow your user base, your communities, and to raise money for your project, then yes, you do need to go out, and communicate, which is what marketing actually is.”
Marketing involves a plethora of actions bundled in a single function: selling. That is true even when what you’re selling happens to be free.
“Marketing is about selling. Open Source is free. I don’t have to try to sell anything, so why would I need marketing?” asks Straughan. “The thing is, you are selling. You’re just not selling stuff, and you’re not directly asking for money. You are selling ideas, and the currency you are requesting in return is something extremely valuable, which is people’s time and attention.”
Of course, most projects will need to ask for money and other material support as time goes on. Marketing becomes even more essential then. Without such support, a project will inevitably hit a wall from a lack of contributors and maintainers, a lack of creative infusion, and a lack of momentum.
“Perhaps we just need to use a different word. We may need to use community development or project advocacy as a word in the open source realm as opposed to marketing, and perhaps then people will realize that they need to do it,” says Ruff.
By any name, marketing requires expertise and a precise set of tools. It is not reliant on a set of soft skills, as it is often perceived to be. A strategic plan must be built, specific and measurable goals laid out, specialized tools used, and messaging hammered out. A brand must be named, a logo drawn, the problem solved promoted to certain craftsman and not thrown to the wind.
But that’s not to say that soft skills are not also required for a marketing plan to be successful. If the marketing is too slick, too commercialized, it will undoubtedly be rejected by the very audience it seeks.
“The marketing tactics should be very, very different in company versus community. If you just duplicate what’s done in company marketing, people could get turned off that this is a commercial sales pitch, or it’s too slick, or it’s too smooth, and they don’t want to be involved in that,” says Ruff.
“Community engagement tends to be more about a different set of tactics. It’s creating good documentation. It’s creating an easier contribution guide. It’s being at meet-ups. It’s developer-to-developer advocacy of the project, it’s demoing the project. Those are the things that often work as opposed to a very glossy, smooth marketing that often happens in companies.”
For an open source marketing campaign to be successful it must be done right from the outset, meaning it must be guided and executed with sensitivity, openness and authenticity.
Collaboration and co-marketing
A successful marketing effort begins and ends with collaboration, just like an open source project does. Trust is tantamount and that calls for transparency.
“You need to be very transparent about the roadmap, about the project’s objectives, and also demonstrate what the goal of the project is, and how it’s being run,” says Ruff. “And also reveal what the governance model is for the project because open source developers who want to get involved in the project want to know that the leadership of the project is someone they would trust, but more importantly, that it’s not being hijacked by one company, one party or another.”
However, as it is with all things open source, communication is not one way. The community must be given ample opportunity to have its say.
Good practices in getting buy-in on marketing plans used by a variety of projects include:
- Having discussions on the mailing list so that everybody can follow the debate and weigh in
- Allowing at least 48 hours for everyone to weigh in because not everyone is in the same time zone or even on the same continent
- Documenting discussions and events and posting them in a common area where everybody can access the information and see what’s happening.
- Periodically providing a face-to-face venue where people can actually come together, build relationships, and build trust with each other.
- Plan meetups at events, to enable and encourage hallway conversations, advisory board meetings, and other in-person encounters.
There are several ways to organize marketing, for example by establishing a marketing committee or even by hiring a professional marketing firm. Different projects organize marketing planning and deployment in different ways, but the most successful always starts with a deliberate decision that is supported by the project community. One good example is the Fedora Community’s Marketing Team and how they organize in a transparent fashion with calls to action.
“In the Yocto Project, we set aside some of the membership dues for advocacy teams, a sub-team of the board to use. That allowed us to pay for the website, to pay for having a good presence at conferences, for giveaways, for collateral, and other kinds of marketing work that needed to be done,” said Ruff.
It is common for projects to undervalue the marketing and focus on developer resources instead. To prevent this common mistake from sabotaging your project’s marketing efforts, bring volunteers and staff on board that can help keep marketing and developer resources in proper balance and on target.
How marketing is done in collaborative projects and open source foundations
Funding is essential for most marketing efforts. Smaller projects can benefit from volunteer-fueled, bootstrap tactics that cost little or no money, but this strategy will only carry a project so far. Smaller projects will eventually find that they need more resources for marketing too. Most projects address this need by building a pool of resources from the community and corporate contributors or sponsors.
Certainly you should look for assistance from companies that use your project. Approaching a large user to ask for support is an accepted and expected practice. Such requests are generally well received because it is as much to a user’s advantage to keep that project viable as it is to the people who started the project and the community that supports it.
“Ask them to volunteer to support you from a code contribution, money, evangelization, and/or marketing advocacy perspective. That is, I think, fair game,” says Ruff.
This is rarely done via a formal request sent to corporate users, but rather it begins as a discussion in established relationships within the project.
“If a project leader wants to do something with Pivotal for example, they could approach me or the half a dozen other people who are participating in something like Kubernetes and we could chat about what we could do together,” Foster explained.
Beyond looking internally for marketing resources, projects can look outwards to an umbrella organization and open source foundations for assistance. For example, if your project is a cloud tool, then you might benefit from the bigger umbrella of the CNCF or OpenJS Foundation. Another example is the ASF which helps projects with press releases which is a useful form of marketing.
Project leaders rarely, if ever, solicit support from corporations or organizations that they are not affiliated with in some way. The reason why is simple and straightforward: the project is collaborative, and so is the marketing because everyone involved wants the project to succeed.
“People want to get the word out about the stuff that they’re doing, whether they are contributing code, or contributing resources and support, or both,” says Foster. “Pooling resources, including money and marketing talent, or using those funds to hire a marketing agency, is the smart way to get the word out.”
Once sufficient resources are added to the pool, there must be a structure in place to govern how those resources are used. Generally, this function is in the province of the project’s advisory board. Usually there are two sub-parts of the advisory board. The first is the technical steering committee, which makes all the road map and technical decisions. The second sub-part is the governing board of directors, which governs the positioning of the project, the name and logo, the website, promotional activities, event participation, and even consistency in explaining the features and functions in demos. Volunteers, marketing committees, and hired marketing agencies typically deploy the steps in the marketing plan, but it is an advisory board that provides the guidance.
However, the success of the marketing campaign rests as heavily on community participation as it does on the advisory board. Strategic planning is key, but it is all for naught if no one brings the plan to bear. There are lots of opportunities for the community to get involved and share the load. The important thing is to leverage the skills of community members. For example, some people are great at public speaking so it would make sense to ask them to speak at events.
It is important to note, however, that marketing is a true discipline rather than the soft skill it is perceived to be. While it is important to leverage the individual skills within the community, it is a mistake to believe that anyone can handle marketing, no matter how smart those people may be. There is a reason, after all that organizations like the Linux Foundation went to the effort of building a strong and complex marketing support infrastructure for projects which leaves little to chance.
“People think of it as kind of a non-technical skill or a soft skill, but the reality is that it is not really something that you can just pick up and do without having any kind of training,” says Foster. “People who do marketing for a living have a whole set of tools that they use to do everything from identifying target audiences, to managing big lists, analyzing data, and measuring the results of marketing campaigns.”
It is a wise choice to also actively recruit people with marketing skills for your project. While code contributions will always be at the heart of any project, supporting roles such as documenting and marketing, can also be crucial.
“The big open source projects have loads of people who are working on things outside of code,” says Foster. “They have people who are working on events, working on documentation, working on promotion, evangelism, product and program management, and all of these things. Within Kubernetes, one of the areas that I participate in is the contributor experience special interest group, where we work to make the on the experience for contributors better.”
Marketing committees are a good way to organize the marketing workloads internally. This enables smart orchestration of everything from the volunteers charged with producing community assets such as collateral materials, websites, blogs, YouTube videos, and social media to planning event support from speakers to booths and meetups. Generally speaking, marketing committees execute the marketing plan as developed or approved by the governing board.
Co-marketing opportunities and best practices
In addition to the project’s own marketing resources, contributing organizations can help market the project via co-marketing initiatives which benefit all participants.
“There are a lot of opportunities to do some co-marketing with the companies that are involved in the open source project,” says Foster. “The big companies have rather large promotion engines and they do a lot of marketing. Open source projects can certainly benefit from being included in that.”
By making it clear that they support one or more open source projects, organizations can attract talented developers who are skilled or interested in those projects – which is a win-win.
To identify co-marketing opportunities, you can start by talking over ideas with the employees of big companies that are working on your project, because they are in a position to see both the project’s and the company’s interests and where they dovetail.
“A lot of the co-marketing opportunities probably come from the employees who are working in those projects bringing opportunities back into their company,” says Foster. But feel free to ask for ideas or pitch ideas to people to get the discussion rolling.
To keep marketing efforts balanced, be sure to follow community guidelines, develop your own marketing strategy, and devote resources accordingly.
Case studies to raise project awareness
It is a common practice to build case studies to promote awareness of open source project usage. This can be done within a company, as part of a co-marketing exercise or on behalf of an open source foundation. For example, the Kubernetes project publishes case studies along with its parent foundation CNCF on production usage and lessons learned. A good case study is one that showcases the challenge, solution and benefits of adopting a project, you can browse some good examples here:
- Capital One: Supporting Fast Decisioning Applications with Kubernetes
- Squarespace: Gaining Productivity and Resilience with Kubernetes
- How HomeAway uses Node.js to Rev Operations to Scale and Tame Acquisition Woes
- Node.js Drives Major Scale and Reliability at Uber
- Node.js Helps NASA Keep Astronauts Safe and Data Accessible
Creating a marketing strategy
There are similarities and differences between marketing a commercial product and marketing an open source project. What makes an open source marketing strategy unique stems from its decidedly un-commercial end goal.
Companies do marketing to acquire customers who then buy the product and thus grow the company’s revenue, which is their end goal. By contrast, an open source community would want to acquire users because they want their software to be more useful by a broader set of communities, and for those people to help contribute to improving the software and moving the software forward. Since the goals are very different, the tactics should be too.
You can see the difference in how marketing tactics are accepted in the commercial market and the open source community too. Slick ads, videos, and other materials tend to succeed in the commercial market but fall flat in the open source community. Authenticity, transparency, and a real solution to a real problem carry more weight in the community.
Market intelligence is crucial to success. You want to make sure that the project is solving a crucial problem and that can be articulated well. You also need to find out how your project differs from others that are tackling the same problem. But you’ll also need to know what the end goal is.
“The other piece is what do I need for this project? Do I want to grow my user base, or do I want to grow a contributor base, or do I need money to raise money for this project because we cannot sustain the hardware or the infrastructure, or the hosting costs, or other cost that the project has,” Ruff explains. “That then sets in place what the marketing plan should be, and which methods you will use, to reach those target audiences, and solve those problems.”
In other words, the project itself can point you to the marketing plan you need.
“The marketing strategy dovetails a bit on the structure of the project. If the marketing strategy dovetails directly into what the project is trying to accomplish, then things should work pretty seamlessly,” says Foster. “It’s just a matter of having people on the inside of the project who can help articulate what the project is trying to do in order to help figure out what the marketing strategy should be.”
Identifying internal resources available
Staffing the marketing effort will be a top concern as someone needs to be responsible for executing each step in the plan. Volunteers can help with many of the individual tasks from sending emails to giving keynote speeches at events.
Projects can also ask member companies and contributor companies to loan marketing talent and marketing executives to help with the effort. This has the added advantage of having a dedicated and skilled staff at the wheel on a regular, if not full time, basis. But this can be a bit tricky to manage and keep in balance since the same companies are likely contributing money and other resources as well.
Stick to your community guidelines, the same ones that govern fairness, openness, and trust so that the community knows the project isn’t being hijacked or overly influenced by one company.
Having a governing board oversee the budget also helps keep distance between invested forces and project decisions on spending. But before you have budget overseers, you need a budget to oversee, which is likely to come from member and contributing companies as previously discussed. But the community can stretch the budget further by pitching in.
“We typically look for developer resources but overlook marketing resources. We should clearly advertise for things like a community manager for this project, or a volunteer to do a logo, or to make the website, etc.,” says Ruff.
Budgets can be stretched further by using websites and social media channels to boost your reach. You’ll want to leverage the entire community on these efforts to gain the most audience reach and lighten the workload of keeping information current.
“You need a website – or you can just do it on GitHub – but make sure to document your project very clearly on GitHub. A lot of projects are also using Twitter for project promotion,” says Ruff. “Community members are also making sure to present and do talks at conferences about the project. They also know how to recognize and celebrate people who are helping, by either sending them a T-shirt or giving them a thank you on the web or on Twitter. There’s just a lot of good that you can get out of an engaged community,” she says.
Setting goals means spelling out exactly what you want to accomplish. For example, stating “more users” as a goal is not specific enough to measure and determine the level of success you need to accomplish. Give your goal a specific value or a specific outcome that you can measure success against.
“I always go back to users. Look at what you have and then decide perhaps to double the number of users, and then take some of the users and convert them into contributors, and then convert some of the contributors to maintainers,” Ruff advises. “You might decide that a goal is to find someone to be a community manager, or someone who will do some of the marketing. The goal can be the growth of the project in that fashion: Users, contributors, roadmap, etc.”
As the adage goes, you cannot manage what you cannot measure. But neither can you claim success if you cannot validate the claim. By setting specific goals, you’ve determined what your measure. From there, you need to choose the metrics and tools that will help you measure and track your marketing plan’s performance.
You can find metrics and marketing dashboards on Github and in various projects that you can either use as examples or use directly, such as the tools, analytics, and dashboards within the CHAOSS project .
There is an abundance of such tools, and that alone can be overwhelming. Stick to the base metrics that answer your question “how are our marketing efforts performing in terms of project impact?”
You may even be able to use some of the metrics already on your existing project dashboard that you use to manage the project. If your project doesn’t have such a dashboard, or if you rather create one specifically aimed at tracking marketing impact on the project, you may want to use something like OSS-dashboard or other commercial tools to do so.
In other words, use the metrics that are directly related to your stated end goal(s) for the project. The burning question isn’t how many people read your blog or watched your YouTube video, but how many of those people became users and contributors.
“For small projects, the information that they get out of Github may be plenty. It just tells them how many people are downloading their project, how many people have starred their project, how many people are forking it, how many contributors they have, how many issues are pending, how quickly do they resolve issues, all of those things will really give them a fast way to see how they’re doing,” says Ruff.
Branding and messaging
Branding your project gives it “stickiness” in the minds of the larger open source and developer communities. It’s a simplified reminder of what your project is and what it can do. It is vital to get your branding message right at the outset because your project will likely suffer a significant setback if you must change the name and brand later.
You might want to wait for your project to grow some before you name it or start the branding process.
“Our company only assigns brand and names to projects that are really big projects for us. If it’s a small project, we don’t bother doing legal checks or put that much time and effort into branding it because it’s just a tiny library or a tiny piece of code,” says Ruff.
“But if it’s a major project that we’re open sourcing, we will go through all that work, so I would give the same guidance to teams. If you’re going to go big, you must move to make sure that the name you’re using and the brand is available for use, and you’re not conflicting with anyone else,” Ruff added.
When it’s time to start branding actions in earnest, it’s very important to also leverage the value of the open source brand too, in order to give your new brand a significant boost.
“Open source as a brand has a very positive connotation. It says that it’s open, it’s transparent, it’s authentic, it’s community-created, it’s innovative, it’s moving in a fast pace, it gives you a chance as a user to get involved, to see the code, to contribute, to change, to modify the code, all of which users are looking for as opposed to being dependent upon a vendor,” says Ruff.
While leveraging the open source brand is critical, so is protecting the brand’s value. It is essential to uphold the openness, authenticity, and integrity of the brand. Why? Because the brand is a symbol of what people love about open source and specific projects.
You see examples of that in stickers on developer and other community members’ laptops, phones, and even luggage in support of their favorite projects. These stickers are important word-of-mouth catalysts.
To develop a following that will proudly promote your brand through stickers, or word-of mouth, or by volunteering, you can involve the community in the branding and messaging process before you decide on anything. Getting buy in before you launch a marketing plan is critical to both short-term and long -term success.
Do make sure that you’re clear from a legal perspective on everything from Intellectual Property (IP) laws including copyrights, patents, project name, branding, etc. Some organizations such as The Linux Foundation and non-profits like The Apache Software Foundation can offer some assistance to their respective members regarding the legal issues that need to be addressed.
Branding and trademark guidelines
A key goal of some open source projects is to prevent technical drift away from a core set of functionality, which is usually accomplished via a conformance program and a set of branding and trademark guidelines. Such compatibility strengthens the ecosystem by providing end users with confidence that data and solutions from one environment can work in another conformant environment with minimal friction. A trademark conformance program, around a particular trademark held by the project, can be used to encourage conformance with the project. Anyone can use the open source project code however they want, but if a downstream solution wants to describe itself as conformant using the project’s conformance trademark, it must meet the project’s definition of conformant. For example, the Kubernetes community has a community developed conformance program for the “Kubernetes Certified” program to ensure different Kubernetes products are compatible with each other at some level.
Getting the word out
Inside the community
The important thing to remember is that you are competing for developers mind share, you’re competing with user mind share, against millions upon millions of repos on GitHub. Developers and users can choose to spend their free time work on any open source project that interests them, including other projects and libraries that directly compete or are similar to yours.
It is also critical to raise the profile of your organization within a project and build a solid reputation. This in turn attracts developers to the project and is fundamental in recruiting developers to the organization as well.
Word-of-mouth marketing in the community is foundational to the success of any project and a critical element in raising the profile and reputation of participating members and member companies. Some of the best ways to spark and encourage word-of-mouth activities is by participating and answering questions in the community mailing lists, wikis, forums, and any activities where project members are highly accessible and ready to help.
It’s also essential to make it easy for new people to get up to speed on the project and contribute freely. Some of the most successful projects do that by operating by a code of conduct so everyone feels welcome and respected. This code of conduct should include: a readme document that clearly explains what the project is; documentation that clearly explains how to get involved, where to make a contribution; a FAQ to answer small or common issues quickly; an outreach effort to help people get involved and help them stay onboard; and, a strong inclusive culture that does not tolerate discrimination or mistreatment of participants.
Another good way to market internally is to host hackathons and other community events, which could include social meetups. There are successful meetup programs out there like CNCF Meetups or NodeJS Meetups programs that you can learn from”
“Be sure to recognize the loyal contributors and the people who are prolifically contributing, give them T-shirts, invite them to events, recognize them publicly so that you continue to retain them in your project, and show that you care, and you appreciate the work that they’re doing,” says Ruff. “It’s just like managing a team anywhere. You want people to feel respected. You want people to feel included. You want people to feel that their contributions are valued, and that it’s a good team to be with.”
You could also consider creating an “ambassador program” for your project or community. For example, the Docker Captains and Cloud Native Ambassadors are all examples of programs that empower community members with benefits to help expand the message of your project.
As previously discussed, good code is not sufficient to make a project successful. Money is often needed to grow a contributor base, sustain the hardware or the infrastructure, cover the hosting costs, or other cost that the project incurs. Donating money to a project also raises a member’s profile and proof of stewardship essential to rising through the ranks.
Webinars and community meetings
Holding public community meetings where there is a participatory agenda and the meetings are disseminated afterwards is an effective form of marketing. For example, the Kubernetes community holds a frequent public meeting where everyone is invited to present what they are working on, including newcomers. These meetings are then uploaded to a video service for easy discovery and dissemination. Some organizations also hold webinars on a continuing basis. For example, the CNCF hosts webinars to benefit its project and member community.
Outside the community with events and more
It is equally important to market outside of the community to attract newcomers to help with your project mission. A prime place to do this type of marketing is at events. Attending, sponsoring, and presenting are all valid and usual marketing tactics. Presenting at an event is a way to refine your message, and can be tailored to the audience. You can also choose to host your own event if your budget allows, this provides a great opportunity to gather developers and users in one place. There are a variety of event hosting companies out there, or you can partner with an organization like the Linux Foundation to host your event.
Using social media for marketing, both in the context of an event and as a broader communication vehicle, can also be highly effective. Whichever social medium you choose, remember that messages can be multi-purposed. For example, by tweeting a job opening wherein a company also names the open source projects it works with and contributes to, the company can attract job candidates and the project branding can be amplified. Job listings elsewhere can similarly pull extra marketing duty.
Content, such as blog posts, tutorials, demos, whitepapers, and videos, also plays a critical role in attracting and retaining members. This content can also serve the purpose of sharing information on the project and how to contribute beyond just coding. The more content you have out there, the more people are likely to see and respond. Just be sure the content is current and that outdated material is removed.
Direct marketing, such as emails and online advertising, is also important in external marketing as these enable you to proactively reach out to people who may not have otherwise heard about your project. These can be used to raise awareness, or to promote a specific call to action. Be sure all messaging meets community guidelines and your marketing plan’s criteria.
Another idea for marketing the project for free is SEO (Search Engine Optimization), you can optimize the project page itself or write article that you will optimize that will get visitors to your project. This is described in detail in the article How to Promote your Open Source Project with SEO
Contributors to this guide: