Hacker News new | past | comments | ask | show | jobs | submit login
How Do Developers Promote Open Source Projects? (arxiv.org)
249 points by eqcho4 29 days ago | hide | past | web | favorite | 74 comments

A very useful article, thank you for sharing.

This is definitely a hard problem for solo developers who are like me and have significant difficulty with social aspects. I've never submitted any of my projects or writing here, because I have this underlying feeling that I'd be bothering people. It also doesn't help to be on a site filled daily with dozens of really incredible projects that feel so much more deserving of attention. Yet I've often found myself bewildered by concepts such as SEO and promotion, and I much prefer to spend my time coding. I hate to generalize, but I can't imagine I'm particularly unique in this regard.

But indeed, it's a serious growth limiter when we are stuck working alone. I feel like any serious open source project really needs someone on the team who groks all the social stuff and can get the word out to the right parties who would be interested. A networking service to connect these two types of people would truly be invaluable, I feel.

I was also told that technical writing helps a lot, and indeed, despite being a little guy in a small niche, two of my articles were submitted by others recently, and seeing such a positive response has been a huge boost to my self-esteem and confidence. (It did ruin my bounce rate stats though, went from 44% to 87% in two days :p)

But yeah, I'll agree with the arXiv conclusion that HN is an incredibly valuable resource for open source developers, with a very friendly community behind it.

I've found it incredibly useful to seek out potential users, either in HackerNews, niche subreddits, or small local conferences/workshops. There you are likely to find small projects like your own, some of whom will find your stuff useful. A small community of even 3-4 people providing feedback and encouragement to your work can go a long way.

If I can't find anybody interested in my work, I will take a good look at whether my project is actually as useful as I thought it was, and if I need to reorient my goals. Usually it's because existing tools already solve the problem well enough, and I didn't do my background research. Or because I didn't even have a problem statement in mind to begin with. Or I'll find that I didn't write enough documentation. Feedback is invaluable.

Sometimes I will work on something just because it's fun, or because I'm learning new things. That's okay, but in that case I have made an explicit decision to not care about popularity or usage.

The importance of social aspects seems to be inversely proportional to the technical difficulty of the problem being solved. Easier problems or otherwise nontechnical problems will see many open source solutions, and to stand out you have to use many of the same marketing techniques as commercial software. Harder problems generally see fewer solutions and the natural flow of people looking for solutions generally means you don't have to invest much in social efforts.

For example, our major open source project (https://github.com/sheetjs/js-xlsx, currently at 17K stars) started as a solo project, and most of the "growth" was driven by the complexity of the underlying problems as well as the general acceptance of JS.

> A networking service to connect these two types of people would truly be invaluable, I feel.

That's a great idea, and something that YC/HN itself could be able to help out with, beyond the simple "Show HN" type articles.

Very cool concept. I remember reading about a YC company in a recent batch working on something like this. Can't find the HN post though.

I'm excited to dissect this paper, I strongly agree that marketing is everything for the success of a project. I have a really technical background and for me "marketing" doesn't mean any woo-woo, it's 1) crafting a clear message, 2) highlighting benefits vs features, 3) measure returns so you know where to focus marketing activities (aka your time).

To give an example with numbers, last year we launched Solo [1], an open security key. Solo is the successor of U2F Zero, a project that sold about 5k units = ~$45k in mid 2017-2018. In just 3 months (Sep-Nov 2018), focusing on a crowdfunding campaign [2], we made $125k from about 3k backers. Note, in the campaign, that we always referenced to benefits vs features (not trying to say this is perfect, just trying to show concrete examples -- also, most of the structure is copied frm Pebble [3], one of the most successful Kickstarter campaign):

- FIDO2: easy to use and always secure login.

- Open source: verified and trustworthy.

- Colors: choose from many to match your style.

- Hardware: quality that won't let you down.

- Getting Started guides: multilingual and accessible around the globe.

I just want to clarify that in no way I'm saying marketing comes before making the product. Of course, without U2F Zero, we couldn't have Solo made and shipped in just 3-4 months. Experience and technical abilities to execute are everything. But marketing makes the difference between good/sustainable revenue (or in general success, however you define it) vs not.

Very strictly related, is talking about your own project, to everybody. Marketing should help crafting a clear message, and focusing on why the listener should care. This brings to new ideas and -I think- it's at the core of open source.

Back to our example, while talking about Solo we got to know another project, Tomu [4], a tiny device that fits in the USB port, and by connecting with their team we ended up making Somu [5], a tiny security key that fits in the USB port, bringing together the best of both projects, namely tiny form factor and security.

In summary, I think that marketing not only is key to make your product successful, but also to help you talk about it and share it in a way that will bring more ideas, and even bigger success.

[1] https://solokeys.com

[2] https://www.kickstarter.com/projects/conorpatrick/solo-the-f...

[3] https://www.kickstarter.com/projects/getpebble/pebble-2-time...

[4] https://tomu.im

[5] https://www.crowdsupply.com/solokeys/somu

online forums like HN and reddit aren't useful for meaningful feedback - seek out local meetups and pitch your idea

If you submit your project to HN you will be getting unparalleled feedback imho. The depth and range of expertise here is incredible - from VC to legendary developers and CEOs - and a lot of people are comfortable sharing their feedback. On top of that, there are just experts across all intellectual fields hanging out here.

But it's technical feedback, it's idea feedback, product feedback, it's not likely to seed your users or paying customers. And a lot of submissions go unnoticed.

Submission to HN is not enough in itself. The title and link in any "Show HN" submission needs to be calibrated to both catch the eyes of the right HN readers (so they learn - if only fleetingly - that the project exists) and also intrigue them enough to devote 5-10mins of their time to investigate the project and offer feedback.

I have not managed to work out (yet) how to craft such a submission for my OS project. Putting in the time and effort to get to the stage where a submission does generate interest/responses is the entry price that I need to pay, to earn those responses.

In the meantime browsing HN has become one of my main pleasures, and an education on subjects way beyond my comfort zone.

Yep, I’m in the same boat. Worked on a project and made a Show HN that linked to Github that linked to the website and docs. No comments or upvotes so I’m sure it got lost in the sea of other Show HN posts.

Try again, timing can matter a lot. Friday 4pm est vs Monday morning will change the number of responders and even the responses

Thanks man, I’ll give it a shot!

Look at the work SaaS websites do to ensure visitors become users, the same stuff should help open source project submissions: having a clear value proposition, a direct call to action, a desired outcome for a visitor etc. A readme showing a bunch of steps to munge your code into something useful can be considered a very poor landing page if the point is to discuss the product.

Like anything, it takes practice, and there is a lot of unpredictability involved. The distribution of votes is power law. Here is my submission history over the past 12 years or so:


The good thing is often even posts that get just 1 or 2 upvotes or 1 or 2 comments, sometimes lead to the most meaningful offline impact.

100% disagree. HN and reddit have been invaluable for getting feedback on our open source work, and a quick back of the envelope search of my emails has found in the hundreds of off-thread conversations over the years spawned by these posts. Even if sometimes the threads in themselves sometimes don't produce "meaningful feedback", they often lead to a new connection or two that can produce years worth of highly helpful assistance.

I'm a little worried that this only studies channels and not the original content itself. I've personally used most of these channels and have found a rather "bucket-of-crabs" sort of reaction, unless I'm very, very careful to release an absolutely perfect post.

There generally seems to be only a level of tolerance for projects released by big companies. If you have a FANG coolant behind your name, it doesn't matter what you're releasing, how long you've been working on it, or even how big your team actually is, you'll grab a ton of popularity.

But as a solo dev releasing under my own name, the only things I can get attention for are basically hacks in niche topics. The long-standing, well designed work I do, that is used in real projects, with tons of documentation and proven results, at best gets ignored. At worst, I get accused of "re-inventing the wheel", even for things I invented.

I've never gotten anyone to join me on a project. There are a lot of self-fulfilling prophecies that "solo-dev work won't be around in a year, so don't bother even starting". Either I release too early and people don't want to join because nothing is finished, or I put a ton of effort into documentation and contribution guidelines and then things just get ignored. Just when is it a good time to go from code I've written on my own to sharing with others?

It just really makes it seem like FOSS is only for people who have a big, recognised company backing them. I've even had a project or two copied by recognized companies, with no larger team than one or two people, and watched their half-baked early releases quickly eclipse my own efforts just because they could get people to join the effort and work for free.

This mirrors my experience 100%. I'd like to say that you are not alone but...well...

We are all alone together.

Just checked your profile, didn't realize you were the author of PrimroseVR. Now I feel even more alone-together with you, I'm the sole developer for JanusWeb and my experience completely matches what you describe.

Pretty depressing how open source projects by individuals can at best hope to "inspire" devs at FAANG companies to just do the same thing and then use their company's immense resources and developer relation teams to promote their project over the ones that existed before them. I wonder how many talented devs have had this happen to them only to give up and stop trying.

LOL, thanks. I tend to think the only reason Primrose had any attention was because it was the only complete framework for WebVR in the browser at the time. I remember using JanusVR in 2014 at a VR meetup on someone's DK2 and really liking it. But all I had at home was a smartphone in a cardboard box that I had hacked together myself shortly after seeing the Google Cardboard announcement. I only got a DK2 after Tojiro started releasing his WebVR builds of Chromium, then got lucky that my design was similar enough to his early WebVR API design that the port only took a day.

Primrose existed for a year before A-Frame came out. And overnight, I somehow became the copycat. In the second year, I even saw claims I was copying ReactVR.

Incidentally, way early on, I had been planning to extend Primrose to run in JanusVR. But after the third year, I just couldn't get past the burnout and was getting professional dev work only for Unity. So here I am now, I'm the head of VR at a foreign language instruction company, where I'm working exclusively in Unity. I have a new framework I call Juniper, but I haven't really told anyone about it because I just don't care anymore. It's good enough that it's just for me. It's open on Github, and if someone stumbles on it, that's ok, but otherwise I'd rather focus on working for money than working for criticism on HN.

Yup, very similar story here. I'd been working on a WebGL engine called Elation Engine since 2011, and when VR hit the scene, I quickly added support for barrel shader and WebSocket tracking, then when WebVR was a thing added support for that as well. Those times were exciting, it felt like indies and hackers were driving the technology, and the possibilities were endless.

I joined Janus in 2016, after Facebook bought my previous employer and fired my team. I'd added support for loading Janus worlds within my engine, which opened it up to normal web browsers, and the team at Janus was excited for the possibilities. It was a great story of how I was able to turn an open source project into a paying job, and people were EXCITED about what we were building! We had investors and users, everything was great!

Fast forward to today. The team is broken and burnt out. Many left when we couldn't secure another round of funding and the paychecks dried up. The code is in a poor state because we kept chasing what platform gatekeepers and potential investors told us THEY wanted to see. The founder and myself both had kids within a month of each other and can no longer work like we used to. One guy's wife left him because he was spending so much time travelling and promoting the project. We have less users than ever, despite our tech being years ahead of what people think is possible. We still pretend like we're a normal healthy happy company, because we still believe in the idea and nobody's going to invest in a company of depressed burnt out people. But now even that fantasy is unsustainable, it's probably time to just give up and get a regular old job.

Of course success was never guaranteed, but what we didn't expect was how we'd just end up shunned and ignored. When A-Frame first launched, they listed Janus as an inspiration, but once they reached some level of success and saw us as competitors, they wrote us out of that history book - literally just removed us from the list of inspirations, but kept other projects like SceneVR (whose author also credits Janus as his inspiration). We've got literally thousands of interconnected worlds people have built which nobody visits or links to, but if someone makes a similar world with A-Frame or Babylon, we're sure to hear all about how great and new and innovative it is.

Modern open source is not the same scene it used to be. I don't know what's next. It's pretty depressing.

I just don't talk about my stuff online that much anymore. I'm still excited by VR, probably more so now than ever now that I have a great job where people really appreciate me. I can do so much better work now. I can actually look at my GitHub commit records and see the timeline.

I try (and often fail) to remember the 90/9/1 rule of online communities. 90% of people are only lurkers. The next 90% (9% of total) of people only comment. It's only 1% of people that create things. It's why I have retreated from taking about my projects online. Literally 99% of the people looking at your project have no idea what it's like to build something.

Stay in touch. You can find my contact info on my website. I might need help in the future.

I wonder if Linus Torvalds--without the name recognition--would be able to release Linux today? His first posts about it were met with some complaints about "GNU Herd will be here any day", but despite being super primitive, he somehow still got enough people on board to become a self-sustaining project.

Hell, I wonder if anyone other than Google, Apple, or Microsoft could successfully release a brand new operating system today. Everything seems to be about consolidation to a single norm of "like Linux". Where did the diversity of tech go?

I remember in the 90's you could publish anything and people would try it out because boredom I guess. Now there is so much to choose from. But I think its still possible if you find a good channel. Literally an IRC channel or niche forum where you will find your first users. Before starting a project, ask yourself who will be the first users and where do I find them.

My first user is always myself. I write code to make my work easier. It grows over time and then I start thinking others might also find it helps them with similar work.

Also allow yourself a budget and to search for an existing solution. If you are gonna spend 100 hours on something, a couple of thousand dollars is not that much if you can just buy an already existing solution. For example, I wanted a feature in my text/code editor, and the only product that had that feature cost 1000/month, I thought that was too much so I spent several hundred hours creating my own editor ... And of course no one is interested in my editor besides myself. That's a lot of opportunity cost, time that I could have spent doing something else.

It's ironic that so many people here are complaining about their solo projects not gaining traction, but nobody seems to want to pitch into somebody else's project and make it their own. Please don't take it personally, I simply noted a pattern and the fact that I'm writing this on your comment in particular is just random chance.

In your example, why would you start yet another editor? There are hundreds, possibly thousands, already out there. Instead of writing your own, you could have taken the one that's popular and closest to what you want, and started to change it to fit your needs (or written a plugin, if the editor allowed for it).

One of my own favourite experiences with open source development was when I basically revived an existing project by starting to make contributions to it, which then pulled the original creator back in and ultimately others as well.

In my case I couldn't actually find any project I could contribute to, until after I had the editor I wanted. But similar projects kept popping up, some backed my big corp. I thought about abandoning my own editor and implement the features I needed in any of the similar projects, but I didn't like the architecture and they where made in languages that I didn't like. My editor also was ahead. Although it did not take long until the other projects surpassed my editor in capabilities. I have also later found many projects like mine that are now abandoned. It's very ironic indeed. I kept working on it hoping that I could pivot and find market fit to make some money off it, but it seems dead impossible. And at the same time similar projects are backed by investors.

Out of curiosity, was this a web text editor? It's difficult to imagine that you'd be able to be ahead of real native text editors with a solo project.

Text rendering is extremely hard, but there already exist optimized libraries with hardware acceleration. Web browsers in particular have very optimized text rendering engines. It's still slow, but it's faster then for example terminal based text rendering. The bottleneck in text rendering is not rendering per see, but actually putting the pixels onto the screen. Browsers have a disadvantage compared to native because of complex rendering pipeline, while native have more low level access. I for example tried to make a bitmap text renderer to see if it could be made any faster, but it was much slower then existing rendering API's - that's how optimized they are. Yet they are still slow. Rendering a full screen of text takes around one millisecond. That's however well into the 60 times per second refresh time budget, which lets you spend the rest of the time budget doing stupid things like parsing the whole document on every key stroke.

Oooooh yeeeaah, there it is. I was waiting for the ol' "don't reinvent the wheel".

I'm just so dead tired of this argument. Why doesn't Mozilla give up on Firefox and just start contributing to Chromium? Why is Preact a thing when you could just contribute to React? Why do Grunt and Gulp exist, or WebPack vs Rollup?

In my case, on many occasions, the thing I needed just didn't exist, in any form. Other cases, the thing I needed existed, but was poorly-written, or wouldn't integrate into my existing system.

I'm just tired of the fundamental assumption from people arguing in these threads being "you didn't do your due diligence". You don't know the history of our projects, yet you come in here and tell us "you're doing it wrong".

And this argument is so often used to ignore the work of solo-devs, yet completely get on board with big-name companies.

I've literally had people tell me that I shouldn't have built Primrose, I should have contributed to A-Frame. A-Frame wouldn't exist for a whole year when I made Primrose. Was I supposed to just sit on my ass for a year and wait for "my betters" to make something that suited my needs?

I've written my own text editor, too. Because there were no syntax-highlighting text editors that drew to HTML5 Canvases, which is what I needed to get code editing in WebVR to work.

I've written my own ORM. Because at the time, there were no light-weight ORMs that were driven by the database schema for .NET. Microsoft didn't release Entity Framework for more than TWO years after I wrote my ORM.

I'm currently writing my own VR/AR abstraction layer, because I don't like VRTK (it was legitimately junk when I first started, though I've been told it is better now, though it's not clear how) and Unity's cross-platform XR system (which also didn't exist when I started, and is also junk).

I don't begrudge Mozilla making A-Frame. I completely understand that businesses are not going to want to play in someone else's backyard. But when I have a business doing something and I make the same decisions, I get replies from "the community" like yours. I begrudge people like you who have made FOSS into a cult of the giganto-corp.

Why is the oneous on solo-devs to contribute? Where were the people telling Facebook to fix Angular instead of making React?

I think you're barking up the wrong tree here. Context is king, so please don't just make the worst possible assumptions about context.

I actually agree with you about most points, but the example was about text editors (and my possibly incorrect assumption was that this was about native text editors, not web abominations). There are plenty of those that are being developed already by solo devs, or at least noncommercially by communities. Contributing to those should be the default path unless there are very good reasons pointing in the other direction.

Of course the fear is that you spend a few thousand dollars on a potential solution, use it for a few months only to discover that it does only about 60% of what you really need and/or it's painful/difficult to use. So now you're either stuck with a substandard solution, or you are going to do the work yourself anyway, and are out the few thousand dollars besides.

I find the bucket-of-crabs observation super interesting. It's likely a problem not often talked about (nobody likes to admit or suggest envy).

At the same time, there is some justification when developers get put off by certain OSS projects.

I think 90% of OSS projects shouldn't exist at all, just like 90% of music releases (think dozens of millions of songs!) shouldn't exist at all.

"I made a thing" != "this thing should be shared/promoted". Projects so often lack rationale, research and rigour.

Of course, solving your own problem for yourself is always fine, but sharing it with the world should imply some caution.

I think the problem is that there is much more emphasis on the technology stack and trendy patterns than there is on the actual product. When I build software, I build it for a purpose and it is designed for maintainability. I'm not doing it just to play around with a new toy. But it seems most of the attention goes towards toys.

I swear, most of the ML projects I see right now are basically, "I totally figured out how to setup TensorFlow and stumbled on a large set of pre-existing training data." The resulting project looks unusable as a product or component of a product. And given the difficulty in setting up the environment and finding training sets, I have some doubts as to replicability or even likelihood anyone will try to replicate it. It almost feels like you could create completely fake results and nobody would question it.

Not meant to be a shot at the ML field, but more at the technology "community" that consumes this stuff. It's like magazine articles vs books. Everyone reading articles about books, literary critique, discussing authors and genres. Few people actually reading books. Fewer still writing them.

Redis is a good counterexample, so there is hope for solo / small team developers.

Redis gets contributions from Redis Labs and Amazon. Although it tends to take a very long time for PRs to get merged.

Its one of the reasons behind my fork KeyDB which coincidentally got its initial traction from a HN post [1]

[1] https://news.ycombinator.com/item?id=19368955

I love the redis service, and the people, but you're not wrong about the slow PR process.

I went through the source to start correct spelling mistakes, and submitted my first pull request back in April. Where it has languished ever since.

Some open pull requests date back 5+ years, with zero comments. I'd love to help close/comment on them, but it seems that there is little interest in such cleanup.

If you ever have the time I’d appreciate any help you van give with KeyDB. It’s an attempt to accelerate progress in the Redis universe.


I'm unlikely to contribute to your project, because I don't use it. But here is a sample pull-request:


Looking, briefly, I see there are the same kinds of typos present, presumably from when you created your fork. e.g. "opeation" in src/blocked.c

IIRC it started as a guy eating pizza in front of the sea. Later, when it got traction, he made his own company around the project and got external support of big companies.

I guess the long times to merge are because it is a very opinionated project. (But I'm not using it or following the details.) If you agree with his opinion you will be happy. If you disagree you will be unhappy. The nice part of open source is that if you disagree, you can fork the project.

Its crazy how much Microsoft et.al spend on marketing their open source projects. Have anyone had any luck selling their OSS to a big company in order to keep working on it?

The author of GNOME Builder did a kickstarter to fund development and later RedHat hired him into a role where he primarily continues working on it.

It happens, but it's not exactly common.

There are many open source projects got submitted to HN everyday but not many got the chance to be upvoted to front page and attract traffic. So I built a service called Porter[1] to collect HN submissions, filter out news about open source projects and send digested email to subscribers. There is also a `explore` page[2] at Porter which will show the daily submitted projects. You can find from the page that only two or three projects get a lot of upvotes and many projects got zero upvote at all.

I was wondering if many users are using Porter, I might have a chance to bring traffic to those projects developed by solo developers and becoming good channel for promoting and discovering. But just like those open source projects, I have problem promoting my service too. I don't feel like to spam people by submitting the url everywhere. There are organic growth but it's not fast enough for me to put a lot of resource in it. I guess marketing for open source related projects and services is always a hard problem especially for solo developers.

EDIT: Those projects that got exceptional growth might have successfully attract traffic from HN. But just submitting your projects to HN does not guarantee any growth.

[1] https://porter.io

[2] https://porter.io/explore/

I'm subscribed to Porter and I really like it! Between Porter and Github Explore I feel I have a pretty good picture about new projects arriving on the scene. One request though: I'd love to see direct links to the Github repos in question from the email and the web digest. It takes too many clicks to reach the actual repos and I'm not really interested in the trend graphs that porter offers

I'm not here to promote my own publications, but if you search for basically any language or technology that your project is associated with and follow it with "weekly" or "newsletter" (e.g. "javascript weekly" or "python weekly") you will almost certainly find a newsletter curator hungry to promote your project (if it's any good or would be of interest to their readers). I have almost half a million such subscribers now, plus about the same on Twitter, across various developer niches.

Somehow it feels wrong to be using Open Source software based on the authors' promotion efforts rather than the software's merit. It'd be better to have fewer evangelists and more meticulous developers. Then again, just like startups, mediocre projects can gain traction and improve significantly by attracting decent developers with a good vision/mission statement/presentation.

But I think the point is that users can't learn about projects that deserve that merit unless they become popular.

Useful projects will become popular eventually through word-of-mouth, but nowadays they have to fight promotion efforts by the less useful competition. That's what I don't like...

These days, people often won't even try software with merit unless it has corresponding promotion. Someone mentioned my open-source tool on Twitter recently as an easier solution to someone's problem, and the person with the problem said "well it doesn't sound easier to me to learn a new tool I've never heard of". Even though of course they were hearing about it just then :) So it doesn't matter how good the tool is, people have to have "heard of" it multiple times (i.e. the tool has to be actively "promoted") before they will start to use it.

In my experience, if the open source project solves a software development problem, presenting it as an answer in Stack Overflow can drive lots of consistent, long-term traffic.

I had genuinely never thought that was even a possible channel - yet it seems so obvious.

I'm totally biased here, but I feel like the newsletter option in the chart should be higher. I mean, how much visibility will you get from a low-follower Twitter account or a small blog?

I run Web Tools Weekly (https://webtoolsweekly.com/ - ~11,500 subs) and Tech Productivity (https://techproductivity.co/ - new, ~1000 subs) and I can tell you that any good open source project that fits will get great click through rates.

I also recommend any of the newsletters by Cooper Press, which have way more subscribers than mine do (https://cooperpress.com/publications/ - see the top comment in this thread, by the founder of Cooper Press).

As someone with several thousand-star+ repos, I can say that the majority of traffic (and stars) on each repos is strongly correlated with a Reddit/Hacker News submission (although lately Tweets have been much better).

GitHub has deployed a project discovery widget on their logged-in homepage, but I've never used it to discover a project.

The GitHub weekly popular projects/interests email has been getting me to discover some really good projects as of late.

This is not surprising. I've noticed that github stars, everyone's favorite vanity metric, go nuts if you wind up on the front page of HN for a while.

I'd be curious to hear if front-page or #1 status on HN correlates to deeper metrics of engagement with OSS and/or engagement with new for-profit services. Does going to front-page or #1 have a meaningful effect on, say a, SaaS business?

Vanity metric seems about right - I noted that when a project I helped start (https://github.com/lemire/simdjson) first got a wave of stars on HN, it tended to lag other OSS projects with similar numbers of stars on other metrics of engagement. Despite being pleased to see all those stars, one has to remind oneself that it's equivalent to "yay, someone bookmarked us".

I thought the purpose of an abstract is to briefly summarize rather than beat around the bush and tease you into reading the whole paper. Reading the linked summary of this paper was nothing but infuriating!

I often find me searching for a package that does XYZ on npm and find just so many. But most of them are either badly designed (!!!), have bugs, no typings or just don't do what I would expect they do. The few good ones are just impossible to find in reasonable time and I have to implement it on my own.

I think having a curated list of packages with clear categories and alternative comparisons would be of great value to both package consumers for finding an high quality package and package publishers for being promoted if their package is of high quality.

>>> The few good ones are just impossible to find in reasonable time and I have to implement it on my own.

I think you just put your finger in bon's main problem - but how to turn that into pypi/cpan??

I personally avoid promoting my free software projects. I don't see any benefit in doing so, only downsides.

I write the software for my own benefit. I then share it for the benefit of others, but sharing it requires a near-zero amount of effort (`git remote add` and `git push`, basically). I sometimes then derive a benefit to myself when others improve or otherwise contribute to my work.

This only holds as long as my userbase consists mostly of competent technical people who are able and hopefully willing to contribute, and not likely to waste my time.

Dealing with support requests and so-called bug reports from non-technical users that found out about my software from a blog post somewhere is simply not a way in which I'm willing to spend my limited free time.

If I knew that my free software was being used by millions of people, I won't deny that it'd give me a bit of an ego boost, but I am not sure it's really worth anything at all, really. It certainly isn't worth the many hours of free customer support (a thankless minimum-wage job even if it were paid) I'd have to provide.

By contrast, having it be used by a handful of like-minded individuals, who might contribute actual code, or simply talk about other interesting technical topics, related or not, provides a ton of value for little to no effort from me.

So I think I will continue mentioning my free software only in mailing lists, and hope that no one ever sees fit to blog or tweet about it :)

I would be curious if some of you that _do_ care about promoting your work would say why you care about it, though. Do you expect the popularity of your free work to have an impact in your professional career? Or is the satisfaction from providing value to so many people worth the huge extra effort to get there? Or is it something else?

Super interesting. Good marketing is often crucial for the success of OS projects. And it’s often overlooked by developers.

Fun that they named HN in it!

> the success of OS projects

How do you define success in this context?

The most important success metric for any software is number of users.

Why is that important? For me and my projects the important thing is that they solve my problems, and maybe help some other people. The number of other people they help is not something I care about, or can actually know.

I'm almost at the point in development where promoting my compatible text/binary formats [1] [2] would be important, but I'm stuck for ideas on how to do that. I've gone through all of the channels they list, but it seems like a chicken-and-egg problem, where only eyeballs beget eyeballs. I've seen that happen with other projects I've done, where it suddenly goes to 1000 stars over the course of a month. But ask me how it actually happened and I couldn't tell you...

[1] https://github.com/kstenerud/concise-binary-encoding/blob/ma...

[2] https://github.com/kstenerud/concise-text-encoding/blob/mast...

You can promote any GitHub project by adding https://2fb.me/ in front of a URL. You can see it in action https://2fb.me/https://github.com/sheetjs/js-xlsx

This is my solo project. It hasn't really taken off to date but who knows. If you find it useful for your work, at the conclusion of the share it will ask for a small donation.

It's interesting that email isn't more common in promotion of OSS. It seems like there's lack of tooling and so people put it in the "too much work" bucket. Email is one of the most successful marketing channels across all industries and so it's a shame there's nothing out there for open source makers to help them easily add email to their toolbelt.

I'm building https://gitmail.io, an email marketing tool for open source projects. Reach out if you'd like to voice your thoughts!

If you're looking for the recommendations:

Open source project managers should consider the use of Twitter (47 projects among thetop-100 most popular GitHub projects have active Twitter accounts), Users meetings (which are organized or supported by 41 projects), and blogs (which are used by 38projects).

Open source project managers should also consider promotion on social news aggregatorsites. Successful posts on Hacker News may have an important impact on the popularityof GitHub projects. However, only 10% of the Hacker News posts about the studied projects have had some success.

They work on things people care about.

Then Hacker News and Network Effects takes care of the rest.

How many virtual DOM libraries were out there before React? Were none of them as good?

Marketing is important.

Enyo for example.

Yeah this is what I think too and it's not just limited to open source projects.

If it's "good good" then you won't have to promote it too much because it will spread by word of mouth, but in order to get the point where word of mouth is useful a ton of people need to see it.

Even if you have something great that people want, if only 1,000 people see it you might not ever get a lot of growth because the numbers aren't there.

A prime example of this would be something like the Rails tutorial by Michael Hartl. You don't see him advertising it relentlessly. People just constantly link others to it because it's useful.

One way is via comments, like this:

PyWarm, the functional API to build neural networks for PyTorch https://github.com/blue-season/pywarm

Well I thought it was funny.

My project has 10K+ stars:


Most of the traffic has come from HN!

And a ton of organic search (tho my project has a generic name that is hard to find in search) so word of mouth.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact