Spread the word: Marketing your FOSS project

4 minute read

I received a question from a FOSS project maintainer, paraphrased here:

We’ve created a new project and are ready to tell people about it. We’d like more contributors and patrons and need some pointers on how/where to get the word out. How can we publicize the project to a wide audience?

What they describe is a fairly common marketing use case for FOSS projects…or, well, pretty much any other thing looking to get eyeballs &/or support.

So that’s my first pointer: Pick up some practical intro to marketing books from your local public library (and read them, natch). Marketing knowledge is remarkably useful.

Pointer two: Right up front, define what success will look like for this effort. You have a goal or you wouldn’t be looking to do all this work. In very clear and explicit terms, what is that goal? “Downloads next year are triple what we had this year,” or “We have 12 new contributions a month from at least 4 new contributors.” Or maybe “We have 30 long-term patrons,” or “All our testing infrastructure costs are covered by patrons.” Concrete is important here. Don’t be wishy-washy. Unclear goals aren’t attainable because you can never tell whether you’ve reached them.

Pointer three: Get the outreach team together (it may just be you) and answer these questions

  • Whom do you want to reach? You may have multiple audiences for your outreach. For instance: contributors, users, and patrons may have some overlap as audiences but generally speaking they each have different needs and their heads turn for different messages. If it turns out you want to reach multiple audiences, you may need to craft multiple messages and get the word out in multiple places.

  • What does the audience(s) care about? It can be helpful to define each audience as a single persona/character. “Ellen is a potential user. She’s privacy-conscious and GPG-encrypts her email when possible. She’s very interested in the IndieWeb movement and runs her own Mastodon server for her and her friends and family…” Understanding and having empathy for your audience, knowing what they care about, allows you to create messages that they’re more likely to pay attention to.

  • Where does the audience(s) you want to reach hang out? You want to reach your audience, but where can you do that? These are known as the channels for your outreach. Conference talks? Online videos? Websites? News sites? Mailing lists? Newsletters? Discord/Discourses? Social networks? One size does NOT fit all where audience outreach is concerned. Each of these channels will have their own communication norms, so knowing this can help you to craft the message to be something that’s effective or at least not offensive.

  • What are the other projects in this space, either competing or complementary? Gain some situational awareness. Understand what else is out there in the landscape, where it’s moving to, and why. Your audiences will be asking about these other players, so best to anticipate that and incorporate mention of them in your messaging right up front. Comparisons, integrations, etc. What you discuss will depend upon what your audience cares about.

Now you’ll be prepared to start creating the messages and getting them out there. This may include reaching out to the channels to establish relationships and get into their publishing pipeline. For instance, if you want to get an article placed in something like lwn, FOSSlife, or opensource.com, these editors will have their own processes and timelines, and you’ll need to work with that rather than your own schedule.

Whatever else you do, please try your best to run the messaging past a member of the appropriate audience before pushing it live. Don’t assume that you know better than the audience what they need, and never assume you don’t need an editor. The audience member can help with a lot of that and catch many things before they become problems.

It sounds like a lot of work, I know, but if it starts feeling overwhelming then remember: You don’t need to do it all and you don’t need to do it all at once. For instance, if you want to reach multiple audiences, then maybe focus on just one at first then expand to others later. Or perhaps set a goal of one outreach message every other week until you can get the hang of it. Limiting the initial scope of the outreach project can also help you get a handle on the ongoing work that’ll be involved with it. Some types of outreach may lead to a lot of follow-up or conversation, and that can take a lot more time. It’s best to get a sense of that before you end up over your head.

There are some pointers, but it’s only a quick summary. Marketing is a big complicated thing that can’t be covered in a single blog post. There’s a reason people get paid to think about and do this stuff full time: it’s hard to do it well.