Ask HN: How much time do you spend on “marketing” your open source projects?

119 points by superasn ↗ HN
I guess the reason to start an open source project is to scratch your own itch (or because you love doing it). But finding users who will try it or collaborate with you may require some type of marketing? So did you create time to do that or is working on the project reward enough for you?

If you have a popular open source project can you tell me a few things like 1) why did you start it? 2) how did people find it? 3) did you post it somewhere to get traction? 4) do you think it's unfair to just work on something you like but never take the time to get the word out?

70 comments

[ 3.4 ms ] story [ 105 ms ] thread
Speaking from experience. Often the marketing bit is the part that gets left out. Partly because of time reasons and partly because the passion driving the tech means that gets the focus.
Responding with http://www.kiba-etl.org (a ruby data processing framework):

1) Why did I start it: I started it because Kiba ancestor https://github.com/activewarehouse/activewarehouse-etl was crawling under its own technical debt, and I still wanted a way to express data processing jobs with Ruby, without having too much maintenance work on the ETL framework itself.

2) How did people find it: I wrote a number of blog posts at http://thibautbarrere.com (including one video), and also spent quite a bit of time working on documentation at https://github.com/thbar/kiba/blob/master/README.md.

3) If I recall well, I posted on the ruby subreddit, twitter, but also gave talks at conferences.

4) It's a matter of personal preference IMO!

To summarise, as marketing for an OSS project, I'm writing blog posts, detailed documentation, videos, speaking at conferences, and tweeting, mostly.

The ratio of all this vs. ratio of actual code in the project is actually very high.

I can confirm that for me, most of my own OSS projects serve the singular purpose of scratch-itching. :) Sometimes I feel like a tool that I write is generic enough to be able to serve other people, and I market them a bit (most commonly when someone happens to ask "what do you use to do X?", both in real life and on the internet).

To answer your specific questions, I'll take my most-starred repository, https://github.com/holocm/holo (47 stars).

1) I wanted to use configuration management on my private notebook, but all existing systems seemed to be optimized for much bigger use-cases and have a lot of moving parts that need to be understood. So I thought "It can't be that hard to just deploy a few config files." Classic scratch-itching. What a fool I was. :D

2) As said above, when the discussion happened to come to the configuration mgmt topic, I chimed in and noted that my tool exists. Also, I made a website (http://holocm.org ) for documentation and a Twitter account (https://twitter.com/holocm ) to announce releases, and retweeted the announcements into my private account to spread them.

3) I never did a "Show HN" for some reason. I did, however, give a lightning talk at the 31C3 (the recording is in the pinned tweet on the Twitter account, if you're interested).

4) How is that "unfair"?

Everything you do you do because of some sort of motivation. For me, my OSS projects are all about "I need something that works for me", so a working system on my machine is all the reward that I need. I do a small amount of publicity, such as replying here ;), but not because I need the attention. It's just a nice bonus.

Artha (http://artha.sourceforge.net), an offline open source, cross-platform English thesaurus built atop WordNet.

I had to publizie it in the Ubuntu Forums where I got good traction: suggestions, appreciation, feature requests. It eventually made it into the Debian repo and now is in most distro repos including Fedora, Suse, etc.

I'd say it was equally fun for me to get the feedback and incorporate it back into the system. I enjoyed it as much as coding it.

I work on mainly one open source library on github. I made sure to submit it to npm and blogged on a big site (thinkmof like tutorial like site for devs) about it once. Other than that, because it's just a useful little module people have interest in, it gets downloaded and discussed naturally.

Another little project I have is a bot for slack, this one was picked up randomly by a person on the internet who decided to do a better Readme.md version as a medium tutorial and got me traction...its pretty good for something this small and useful (I guess) If I were to make this worth marketing efforts, I would:

- self promote in quora, stackoverflow

- listen to relevant keywords in twitter and reply to those

- launch it on HN as a ShowHN

- find all relevant subreddits, contribute a little then self promote

- give a talk at local meetup community or lightning talk about it.

As you can see my suggestions, they match pretty much what you would do in non oss projects to get some traffic going Btw I loved this question

Good projects speak for themselves. Use cases, code design, documentation, commit history, ... should be setup well right from the beginning. Then simply speaking with everybody who might be interested in your project should start spreading your project into the wild.
There seems to be ample evidence against this idea, namely that I cannot think of a single commercial product that is not in some way promoted. Surely, there would be a few products that are good enough to get the best return on investment from allocating all resources to improving the product? But even cocaine cartels run CRM operations.

Yeah, I'm sure there are a few companies that don't spend money on advertisement. But those are probably allocating quite a lot of resources to making sure you know they're not advertising.

I started an open source project a few years ago that was relatively popular within a small community of developers. I started it because I wanted to learn more about certain programming concepts and I wanted some practice at running an open source project. I promoted it by writing a few blog posts and by commenting on relevant posts by other developers. I also answered a fair number of StackOverflow questions with the recommendation to use my project as a solution (and learned early on that you should include the disclaimer that it’s your project). It was actually really fun responding to those StackOverflow questions because I got to see how my work could be used, and sometimes that gave me inspiration to make it better. I’ve also created open source projects that I think are really useful but that I never promoted. I feel like those projects are of less value to the developer community overall, but you never know who might find it useful.
Marketing is getting something of value on the shelf.

Advertising is making sure it doesn't stay there.

Any large and successful open source project that I can think of hinges entirely on the originator's ability to communicate what the project is to the right people -- just like product is 10% code, I'd say open source project is also 10% code. Actually just thinking about a few of them now, I start by thinking "Michael Meeks" before I think Libreoffice, "Miguel de Icaza" before GNOME, "Solomon Hykes" before I think Docker, and of course "Linus Torvalds" before Linux.

Look at projects like Docker -- it's built on the work of many other people, but they were too busy hacking on kernel patches to ever give talks and write end-user documentation. The result? Nobody knows what linux-vserver is or ever was, while everyone who is anyone knows what Docker is.

There are so many examples like that, and just as many counterexamples. It is a rare thing for an author to lack the human skills to communicate and still somehow have his work succeed, and usually it only happens due to their technical skillset, and oftentimes not even then.

My main open source project is http://zynaddsubfx.sf.net and during typical development I wouldn't say that I had promoted it too much. Within the past year or so I did end up doing some fundraising for the project which did turn into a marketing heavy endeavor (videos/marketing only email lists/update posts targeting users/long replies to email or forums/etc). Some of the marketing emails were fun to show off new features, but they did eat a fair amount of time when they were coming out at a reasonable pace. Outside of that one time period the application receives most of its marketing from independent interested users and release announcements.

per the questions:

> 1) why did you start it?

I took over as a maintainer when I wanted to use the application and bugs/missing features were an issue (IIRC it was without a maintainer for ~3 years).

> 2) how did people find it?

Originally the project was marketed via mailing lists/forums/blogs/software review sites/early youtube or pre-youtube videos/etc. After a few years it ended up being presented in an open source community conference. Currently a fair amount of web traffic comes from a few freeware review sites in addition to the general linux community which is spread over a larger variety of sites (and more difficult to pinpoint as most users are going to obtain copies from their package manager rather than the website).

> 3) did you post it somewhere to get traction?

The releases are posted to 2 forums, 2 mailing lists. It's original release was only posted to a single audio based mailing list (AFAIK). When working on fundraising bits were posted to 2 different other mailing lists and information was provided to 3 software review sites, one of which posted the information provided.

> 4) do you think it's unfair to just work on something you like but never take the time to get the word out?

Nope. You're spending your time working on something. If your goals align with having other people utilize your work, then by all means talk about it, otherwise there's no problem whatsoever with keeping it to yourself. Also consider that marketing for contributors and marketing for users are two (sometimes different) activities.

That's a really cool one, thanks for maintaining it! The audio Linux space is kind of niche, but awesome people like you keep it alive :D

EDIT: I find it a bit misleading now that the website shows a screenshot of Zyn-Fusion (which is not open source) instead of ZynAddSubfx. It could be clearer what is what.

It's a fair point about which screenshots are shown where, however it should resolve itself fairly soon as the new zyn-fusion UI will be entirely (vs. currently partially) open sourced by year end.

With the whole fltk/ntk vs mruby-zest(zyn-fusion) powered UIs situation the user can either be presented with a complex piece of information on the landing page or an oversimplified version. So far based upon general feedback it seems the oversimplified version is less confusing as when more information was put on the front page people didn't reliably read it.

I am very happy to hear that Zyn-Fusion will be completely open sourced. Once again, thanks for this tremendous work. I understand that financing open-source work, specially for end-user programs, is very dificult. Best wishes!
My most popular open-source project [1] I talk about at conferences, mostly C++ ones (last example [2]). I was lucky to also land a paper about it at ICFP'17 [3]. On Friday I will talk at the MeetingCpp conference in Berlin about a new library I am building (kind of experimental Redux for C++ with time-travelling debugger!).

I work as a freelancer and at the moment I do client work 3 days a week and dedicate the rest of the time to the open-source work. The open-source work includes doing research and implementing these tools, but also preparing the talks, which is a very time consuming task for me. Doing conference talks is very emotionally exhausting, I dread the previous weeks to the talk---but the feeling afterwards is very good and it is a good way to get exposure, I hope.

My dream is to some day form a social company with a coop structure that works full-time on open-source, either directly or indirectly helping clients use these tools in their system. I hope I am set up in the right direction.

Recently I opened a Twitter account to talk mostly about my open-source stuff [1]. I admittedly hate Twitter as a social network, but I've been convinced that it is a good place for networking in our industry, so I just play the game.

I keep telling myself that I should open blog too, but then I realize that one can't simply do everything all the time, so I guess maybe I'll never do it.

To your last question: is it unfair to not do marketing to your work? Totally not. Just do whatever feels right to you. If one day you realize you have built something really useful, probably you'll get the urge to tell people about it.

[1] Immutable data-structures for C++: https://github.com/arximboldi/immer

Example usage: https://github.com/arximboldi/ewig

[2] https://www.youtube.com/watch?v=sPhpelUfu8Q

[3] https://public.sinusoid.es/misc/immer/immer-icfp17.pdf

[4] https://twitter.com/sinusoidalen

Now that I think about it! that is not my most popular open source project, my most popular one is this one: https://github.com/arximboldi/gnujump

That is an oldie, that I did in high-school, just scratching my own itch (I was addicted to a game called XJump, but wanted a better version). The major marketing thing I did was submitting it to the GNU project, which helped it get some exposure. It also got packaged into Debian, which also got it into Ubuntu, which helped it get visibility and ease of install. For a while a few times a year I would receive recordings of "high scores" that people would send me to upload to the official website, where I kept a ranking. The website is now down sadly (ooops!).

Well, I'm kinda intrigued by the Redux/C++ idea. Will there be notes or video from the conference? I looked through the talks page but couldn't find anything that seemed like that.
Thanks! The talk is called "The most valuable values". A lot of it will be about "thinking in value semantics" and then I'll show the architecture of interactive software as an example. There will be video, I think :-)
2 years ago, when ethereum was the new hot sh*t. I started to build an Dapp (decentralized application). A big problem I had was to find the right database and after re-implementing the dapp with 3 different ones (pouchdb, gundb, nedb) I finally started to develop my own one, based on the best previous solution (pouchdb). It turned out that developing that single database was giving more fun and value to myself than any other software-project I had done before.

Like you said, everyone has a reason to do what he does, and so my reason is self-promo to be honest. I actually think most OSS-Projects are done by their maintainers for this reason.

For promotion I had done/do the following:

- Post on relevant subreddits

- Google for new results (last 24h) that match some keywords ("js database") and answer there if possible

- Posted it on Lobsters and other js-news-sites

- Shown HN (I did this a bit too much which maybe can be called spam by some or "growth hacking" by others)

- Currently I think about doing an egghead.io-tutorial for the project

I would say that overall I spend about 20% of the time for marketing, 20% for the code, 30% for the tests and 30% for the documentation. Most of the time I just code for some weeks and after a new release, I do some promotion.

Here is the project btw: https://github.com/pubkey/rxdb

Congratulations on almost 6k stars and 0 open issues! That takes a lot of work to keep up with the issues and very good documentation to avoid unnecessary usage issues.
Reading through your post, I was thinking "that sounds a lot like rxdb". Turns out it was!

I recently selected rxdb for an offline-first project I'm doing doing for myself. I expect it will be making my life much easier in the coming months, so thanks in advance for all the work you've put towards it!

I've contributed to lots of open source software, but the only one I can say I actually started and maintained was an open source video card driver back in the early 2000s. I pretty much didn't market or promote it at all. I think I posted once to USENET letting people know their video card now had a Linux driver. That was enough to attract a relatively small (<10) but talented group of people who pretty much took it from there. One of them even set up a web site for it and ended up maintaining it. It made it into the kernel eventually and is still there today.

I didn't really care in the slightest about vanity metrics like how many people were using it or how many people were contributing code. I wrote it because I bought a piece of hardware and it didn't work with Linux.

COMPOSITE HACKS • If Truly you Are In Need Of A PROFESSIONAL LEGIT HACKER Who Will Get Your Job Done Efficiently With Swift Response, Congratulations, You Have Met the Right HACKERS We are a group Of Professional HACKERS , a product of the coming together of Legit Hackers from the Dark-Web, (pentaguard ,CyberBerkut , RedHack , Black Hat, Anonymous ) we have been existing for over 12 years, our system is a very loose and decentralized command structure that operates on ideas rather than directives. you can also find us on the dark web at :http://my7cic3ax7oznkvu.onion (Tor Only) Frankly speaking, I always give a 100% guarantee on any job i am been asked to do, because we have always been successful in Almost all our jobs for over 12years and our clients can testify to that . To hack anything needs time though, but we can provide a swift response to your job depending on how fast and urgent you need. Time also depends on what exactly you want to hack and how serious you are. Enough time with social engineering is required for hacking. So if you want to bind us in a short time, then just don't contact us because We can't hack within one hour,sorry. Basically, time depends on your luck. If its good luck, then it is possible to hack within one hour but, if its in the other way round, it would take few hours. I have seen FAKE HACKERS claiming they can hack in 1hr , but there is no REAL HACKER who can say this (AVOID THEM). Please Note : we have only one contact email : compositehacks@gmail.com we will be happy to have you join over 2000 satisfied clients around the world to use our services. We provide prove of job before payment We offer services like: Hacking Whatsapp account giving you access to the person's whatsapp messages and history . You can check out our Latest Whatsapp Hack video https://www.youtube.com/watch?v=7_LtFUVMcxY Initiating Bank Wire Transfers at a resonable fee and completely untracable . Hacking any smart phone giving you access to all activities on the phone like , text messages , call logs , instant messenger chats and other information.(you can use this to spy on your spouse to know if he/she is cheating on you) Hacking Facebook , Instagram , Twitter and every other social network Accounts. Hacking Websites to deface , retrive information, edit information or give you admin access . Hacking into school's websites (server) to change grades without any trace . . Hacking any email service provider like Gmail , Yahoo, Comcast , Aol , Hotmail any others . Location Tracking. Hacking and selling credit cards , amazon , walmart , paypal , bank logs . Selling of untracable phones (even the pentagon can not track our phones). . Selling of Tutorial packs for Beginner Ethical Hackers You can also contact us for other Cyber Attacks And Hijackings, we do almost All. Contact us: compositehacks@gmail.com
(comment deleted)
It definitely depends on the audience you are trying to reach. I just finished building a feature selection algorithm to plug into sklearn: https://github.com/chasedehan/BoostARoota

I'm also trying to figure out the best ways to do that. What my plan is: 1) I presented it last week at the ODSC West Conference and have seen a couple people use it and give me some comments. 2) I am planning on incorporating the algorithm into some Kaggle kernels so people can see its value. It definitely works better than some other outlets. 3) Respond on Quora or other places for cases when it might be useful 4) Shamelessly plug on HN ;)

I maintain Bulma: https://bulma.io/

1) I started it because it was simply a personal CSS framework I was using myself to kick start my projects, and I wanted to share it around.

2) People found it through various websites, organically I guess.

3) I initially only posted it here on Hacker News I think. Then it was trending on Github, and other people posted it on Reddit, and other websites like Codrops.

4) I've never really tried to market Bulma. It's just a solution to a problem I had, and it also happens to solve a lot of other developers problems.

I think if your open source project solves a common issue, people will eventually find it. I discover lots of valuable tools when trying to code something.

If you need a strategy, just copy what a successful startup would do: solve a problem that lots of people have. An open source project just happens to solve a problem you personally have, and you assume others will to, so you share that knowledge.

I've dropped using the heavyweights and have been happily using Bulma for some months.

Thanks for your efforts and may you reach a healthy v1.

Just today I started my first project that uses Bulma. Thanks.
Note that "marketing" includes a lot more than what you're asking, which I believe is closer to "promotion", or "publicising".

Marketing is traditionally understood as the complete relationship of product and market, including, for example, deciding on a set of features, naming, pricing (yeah, I know–but choice of license may be a close analogue), connecting with other products, and much more.

Open source isn't synonymous with hobby!

I develop open source systems in my work, partly for internal use but also to help grow the ecosystem our firm is in, and to make a name for ourselves.

We don't market heavily right now because our documentation is sparse so more users means more support.

I think working seriously on documentation is the primary way to market open source, actually.

That means not only API references but appealing and well designed READMEs and changelogs, tutorials, blog posts, etc.

Also having a chat where people can get involved and ask questions.

Beware that users are not only fun to have. They're also a liability in that you kind of have to help them and care about them!

While I somewhat agree with you, I'd argue that this not the original understanding of OSS. The idea behind OSS (at least its' amateurish kind) has always been very simple and straight-forward: if you have something to share, just do it. All this worrying about "users" and liabilities is symptomatic of a paradigm shift, which happened, when OSS has become a key part of big corps' business strategy and marketing. Also to a lesser extent it's a consequence of the OSS being seen as a way to market yourself as a developer and steer your career, which led to Github being flooded with unusable and unfinished stuff.

So while it's true that good documentation is probably crucial for the project to become popular among the wider audience nowadays (or even to have a chance of being discovered by anyone), the absence of documentation is in no way an argument against telling fellow engineers about your work. We can figure things out, it's a part of the job :)

I kind of agree, but also not! For example, the GNU project always had thoroughly documented software. Emacs is a great example. And GNU does have an aim of getting users! So I don't think "marketing" (evangelizing, teaching, spreading) is just a thing that big corps brought in. Mostly everyone benefits from a project being well documented and accessible. Building a community around a piece of software is intrinsically valuable!

But yeah, it's not like you have to write narrative tutorials for newbies on every thing you do. I really like when there's documentation aimed at "hackers."

I'm the author and the only maintainer of Bt, Java 8 BitTorrent library: https://github.com/atomashpolskiy/bt. As of today, it has received 1136 stars.

I've started it quite literally to scratch my own itch: after having upgraded to a newer OS X, I found out that my favorite torrent client does not launch anymore. I've already been thinking about starting my own OSS project for some time (I contribute to a number of OSS as part of my job), so the decision came naturally to me.

It was clear to me upfront, that at some point the project will become too large for one person to take care of everything, and I will have to look for co-maintainers. So from the very beginning I've been spending a lot of time writing documentation, examples and polishing README, and of course paying a lot of attention to overall design "quality".

All of these things paid off, and each posting, be it on Reddit, StackOverflow, Quora or HN, received some attention, stars and downloads. People have started to post bugs and questions, and this contributed considerably to my motivation to continue working on the project.

In August I've added a GIF animation of the CLI component to the README and submitted a yet another ShowHN: https://news.ycombinator.com/item?id=14911372. It was a blast! The project received several hundred of stars over the course of two days, and the feedback was also very insightful and helpful.

> do you think it's unfair to just work on something you like but never take the time to get the word out

I honestly believe, that this is in fact an obligation for the author to get the word out, IF the project might be of interest to someone besides the author himself. Otherwise, why make this software open source in the first place?

I'd also recommend the following read for a more step-by-step advice on marketing of amateur OSS projects: https://blog.cwrichardkim.com/how-to-get-hundreds-of-stars-o....

We (Changelog) are happy to help spread the word (via our newsletter, podcasts, twitter, etc) about awesome open source projects. If you have something you'd like us to consider, hit us up here:

https://github.com/thechangelog/ping/issues

Thanks guys - I listen to the podcast regularly and love it!
I've spent a fair amount of time promoting xi-editor, most notably presenting it at RustConf last year. I've also written a bunch of "rope science" posts about fancy algorithms and data structures for text manipulation, which got attention on HN and elsewhere. I've been more quiet in recent months, but am gearing up for another major wave of community outreach soon.
1) I not maintain icecream https://github.com/icecc/icecream/ I didn't start it, I took it over because the other maintainers moved on and I badgered them enough with about a couple patches that they made me maintainer. (theoretically they still are maintainers, but I don't think they even look at it any more)

2,3) People mostly have known about this project. There are a lot of old blog posts. One advantage of a project being 10 years old is people may not have used it, but they have heard of it so when they (or someone they know) need it we come to mind.

4) Unfair? that depends. There are a lot of open source projects that are useful to exactly one person. If this is your project it is unfair to waste every bodies time marketing something they will not need. If you cannot honestly say the project is useful to someone else the time spent on marketing is a waste. In particular a lot of projects are started despite an existing project doing similar things (often as a fork), it is a lot of work to give the new project something that is compellingly better for more than just you.

On that note, I'll note that icecream and distcc do similar things. I have spoken to the maintainers of distcc and we agree with the principal that the features of icecream should be ported into distcc and then icecream killed. However since we forked distcc has got their own versions of our features. There are specific cases where only one way works, while the next the other way is the only one that works. As such I don't think we will ever port back despite a desire to do so.

0- My open source project is: https://github.com/service-bot/servicebot Website: https://servicebot.io

1- We started it because we were tired of sending manual invoices to our clients for custom web application development work. We couldn't connect our invoices, customers, and services we provided to our customers in a single place. So we built Servicebot to automate the process of invoicing through Stripe. Creating a self service portal for customers to order more work, approve existing and future work. And we open sourced.

2- We have been writing blog content to show people how Servicebot will help cut business cost but automating the billing and customer management processes.

3- We have been posting it on Medium, Reddit, HN, and a lot of word of the mouth.

4- I don't think unfair is the right word. I think it's lack of knowledge. We spent a lot more time developing a solution for our itch than to think about marketing and product roll out.