Hacker News new | past | comments | ask | show | jobs | submit login
Tips For Making a Popular Open Source Project in 2021 (skerritt.blog)
232 points by makerdiety on Nov 12, 2021 | hide | past | favorite | 102 comments



I have two projects with a total of almost 7k stars. [0]

It’s worth noting that GitHub stars truly don’t translate into anything worthwhile in the vast majority of cases. You can have a massively popular project, but it doesn’t automatically translate into Twitter followers or newsletter subscribers. And those things don’t directly translate into wealth or happiness either.

Just get a job and make friends and have a life. That route has the highest expected value. I have been chasing GitHub stars for a long time, and it has never been fulfilling. I wouldn’t recommend it.

[0] https://github.com/colinhacks/zod


I wonder why anyone would want to have a popular project in the first place.

Do you think you'll get famous? Rich? Have higher status?

Well, perhaps you will get some status in a few niche circles, like when applying for conference talks perhaps?!

But other than that, all you'll get is a load of entitled users complaining about bugs, usually filling low quality bug reports, and very few actual meaningful contributions.

Most people are just like you and want THEIR PROJECT to be popular, not to contribute almost anonymously to some other random guy's popular project. Those who are more likely to contribute are usually junior devs trying to learn new skills, so expect their contributions to require lots of reviews and help from you.


> But other than that, all you'll get is a load of entitled users complaining about bugs, usually filling low quality bug reports, and very few actual meaningful contributions.

I agree that entitled users can be a real problem. I have had my share of dealing with entitled and impolite users complaining about "issues" that eventually turn out to be something that is already easily addressed by the README. Interacting with such users can indeed be disappointing.

However, except for the occasional discourteous user, most users of my tiny projects have been quite supportive. Most of them are polite while submitting bug reports. Some even leave comments to express their appreciation for the project![1] So it's not all bad!

> Most people are just like you and want THEIR PROJECT to be popular, not to contribute almost anonymously to some other random guy's popular project.

Wanting one's own project to be popular and contributing to other projects need not be mutually exclusive. Many people write their own projects as well as contribute to other projects. For example, I got into open source first by contributing[2][3] to other projects before I began publishing my own projects.

[1] https://github.com/susam/uncap/issues/9

[2] https://issues.apache.org/jira/browse/NUTCH-559

[3] https://issues.apache.org/jira/browse/NUTCH-601


I agree with you. Most my packages are around ~100 stars, and I'm met with a lot of respect and appreciation.[1][2]

My library for Correlation-IDs in Django[3] got implemented by AWX, which also was a nice experience![4]

Maybe it is the Django/FastAPI community, but "you'll get a load of entitled users" is straight up not true in my experience.

[1] https://github.com/Intility/fastapi-azure-auth/issues/24

[2] https://github.com/Intility/fastapi-azure-auth/issues/39

[3] https://github.com/snok/django-guid

[4] https://github.com/ansible/awx/pull/9332

(Bonus Correlation-ID package for Starlette/FastAPI: https://github.com/snok/asgi-correlation-id )


> Many people write their own projects as well as contribute to other projects

Yeah, I know, I do the same thing myself! The question still remains: why would you want to have a popular project? It makes no sense to desire that...

Desiring that a project exists that solves a problem well... that yes, we should all desire that, but who created it doesn't really matter... if I create a project these days, it's to solve a problem I really can't find anything else to solve, not because I want to write something popular... TBH if it becomes popular, I might see that as a problem rather than a good thing given what comes with it: feature requests, bug reports, PRs that you need to spend time on while sometimes just not wanting to accept the change, self-awareness that you can no longer just change stuff at will if you want it...

I have a few slightly popular projects, but the ones I like the most are the obscure ones I use by myself :)


My main project has gathered some stars (low hundreds) and a few followers, the occasional fork, etc. I think the project is both important and useful ... but at the same time I'm also very grateful that there seems to be such a lack of interest in it*

Why? Well I've been following my competitors' projects (other 2D canvas libraries) for a few years now. Most of these projects are being maintained by just one or two people. Their dedication to maintaining and improving these libraries - which they often took over from the original creators - is wonderful to see.

But the amount of crap the maintainers of the more popular libraries have to put up with is astonishing. People who demand immediate fixes for obscure bugs. People not willing to produce even a minimal code example to help the maintainers understand and fix the issue. People - developers! - who are too lazy to do their research and expect the maintainers to build their products for them.

So, yes. If that stress is the price to pay for having a popular project on GitHub ... I think I'll stay hidden in my little corner of the internets!

*A couple of issues raised, and no contributions, over past 3 years. On the bright side I can release updates without having to worry about backwards compatibility.


> I wonder why anyone would want to have a popular project in the first place.

Personally, I just like the feeling of knowing that I've made something that others like and find valuable.


> I wonder why anyone would want to have a popular project in the first place.

It's literally the second item in the ToC of the article.

> Why Bother? Popular Projects = More Contributors = Better Project

The author does go on to talk about how it becomes a challenge, dealing with people that are the opposite of helpful, as you also mention many people are, but the point still stands. The more popular the project, the more contributions, even if many are in the form of bugs/complaints, those are still useful. If the ratio of complaints to actual code contributions is even remotely consistent, the more complaints, the more actual code contributions. :shrug: To each their own, but at least read the article before criticizing.


Maybe a story from a maintainer would help. To contextualize, the main SheetJS open source project https://github.com/SheetJS/sheetjs has over 28K stars.

tl;dr: the project involves "crowdsourced research" which benefits from popularity.

The main social goal with the project is data preservation and integrity. Large-scale economic and political decisions are made from data and analyses in spreadsheets. For example, last year in the UK, COVID cases were underreported thanks to Excel minutiae https://www.bbc.com/news/technology-54423988

Due to various corporate stratagems, the older data representations were intentionally obfuscated. To support Excel, many developers poked around at Excel files and guessed at the structures.

In this environment, the biggest challenge is finding worksheets with random corner cases. These types of files are not easy to create and fuzzing has limited effectiveness. This is where open source and popularity come into play. The open source and JS nature of the project helps reduce testing friction (https://oss.sheetjs.com/ runs in the web browser, no need to install anything) and encourage bug reports with test cases.

There will always be "entitled users" and "low quality bug reports" but that comes with the territory. There are also meaningful issues and code contributions. Efforts at trying to prevent the low quality contributions also discourage higher quality contributions.


I used to use a popular project to get employment and it worked very well.


I have a bunch of small projects[1] that have a total of about 6k stars (with the top one having about 2k stars). Except for a few donations to my Buy Me a Coffee page, I agree that they don't translate to anything else.

All of my projects are tiny, minimal, and try to solve a small problem I encountered while doing something else. All of these tools were written for myself or my wife or just for fun! But I shared the code on the web anyway just for the joy of sharing! The joy of sharing code is something I discovered with my first encounter with computers while learning to write programs using IBM/LCSI PC Logo.[2]

The joy of sharing is the real reason for making my projects open source. In case it turns out to be useful for others, that's a bonus! If someone cares about it enough to star it, fork it, contribute to it, or send a donation, that's an additional bonus! However, my primary objective is to have fun and share the fun with others. In my opinion, computing should be fun[3] and open source is one way of the ways that computing remains fun for me.

[1] https://github.com/susam?tab=repositories&sort=stargazers

[2] https://susam.in/blog/fd-100.html#a-lasting-effect

[3] https://mitpress.mit.edu/sites/default/files/sicp/full-text/...


easy to say when you got thousands. I had to really grind for my 43 stars over 18 months and each one really made my day.

(python): https://github.com/byteface/domonic/


Have you tried doing a "Show HN" post for your project? Creating a "Show HN" post is often a good way to get some attention and feedback for your project provided your post receives a few early upvotes in the first 30-40 minutes and reaches the front page.


I had considered but it's not quite good enough yet. I posted on reddit once and got 1 upvote and 1 comment. aha. Think it's as I did it really late on a sunday. Timing is everything. But it hepled me a lot with not stressing too much about posting.


For this project and content on the net in general, You should generally show a compelling answer to the following questions within a few seconds:

What is this? Why do I care? Why is this exciting? Do I like this?

At least for me I can't answer those questions when I see your project. Maybe I'm stupid or ignorant and you simply don't want to reach me, alright fine.

Also some projects simply cannot fit into this box.

Sometimes reader enlightenment is required to see value. Those are the hardest ones.

Essentially your task is to convince the reader that you have an answer to things they never thought to question or connect together and your proposed way of doing things fixes problems they thought were just the way of the world.

That's why my more sophisticated projects do much worse than my simpler fun ones and why silly things do so well and hard things do so poorly.

There is value to solving hard problems but as the new patterns form, people forget so the appreciation of great achievement is often fleeting.

So I dunno, people suck and life is hard. Whatever


I think you're right. The project changed direction several times. from being a tag generator and a general wrapper before settling on trying to port the DOM. I still need to take it beyond being a curiosity. In ways I avoid wokring on those aspects that make something 'useful' as for me it kills the drive so I work around that aspect doing all the other bits first. And end up picking up on lots of tits bits that others don't. But I should probably fill in more of the expected functionality. It's a habit I got into to keep me engaged on a project.


Just a question... what are you actually grinding for? You get more stars, but then what?


I enjoy what I'm making and would do it for no stars. But a star can take the edge off a bad day. Also it could lead to users, feedback, contributers.


I've done a 10K+ one which did translate to followers, but keep in mind those followers are following the project, not you :) While people are grateful and supportive, do what makes you happy inside, because chasing clout and JSConf stages gets old.


How do you think the cash-in rate is for GitHub stars compared to Reddit karma? Somehow better or approximately the same?


Probably the same as the ratio of Stanley Nickels to Schrute Bucks.


For what it’s worth, I love `zod` and use it for almost every TypeScript project I work on. Most coworkers I show it to agree with me that it is incredibly useful and powerful.

Thank you for all of your hard work.


It’s a lot easier to get a job if you have started a popular open source projection. It will at least get you an interview at most companies.


> Just get a job and make friends and have a life.

That really is a narrow, normie view. Obviously it didn't work out for you but for others (and I'd put myself in the category) stars can be very meaningful, especially for work which you're proud of. In a small way you're being judged by people who understand, or at least use, what you've created and that can be more rewarding than other work, money or social interactions.

(Also, I'd rather kill myself than get a job and friends are generally not that stimulating)


Its funny since I find this comment to be the most normie way of living ever, being under the boot of people who don't give a shit about you.


Wow! Where did that come from? Especially the boot. Living life however you feel regardless of societal norms seems to be the opposite of living under a boot, doesn't it?

And who are these people exactly? It really does sound like you're projecting there.


Please don't joke about suicide.


What makes you think I'm joking?

Please try to read comments in good faith.


Reading the GP in good faith makes it obvious that you should substitute: don't talk lightly about suicide.

Also, it's an indication that you may need help. In that case, try calling a suicide help line.


I'm talking about how I genuinely feel, I don't need to censor it. Not talking about these issues is the problem.

I'm perfectly fine as long as I don't do things that make me extremely unhappy. I think that's true for most people. But thanks for your concern.


I understand the benefit of being talked out of ending a bad week early, but fundamentally we as a society do not care about suicide or people's lives as much as we pretend to, and to me this is very sad.

I wish more could be done.


That's absolutely true but I'd widen it to people with mental illness generally.


Are you Gen-Z? One of my observations is that people born in since the late 90's have known social media and metrics like Likes and Hearts since their teens. I wonder how damaged many of them are.

It's not to say that me, someone just born after the Gen-X era's declared end, isn't? also addicted to these numbers.


You're reading way too much into what I wrote. I'm certainly not addicted to numbers or social media. I don't participate in the latter really (yet here I am!) and I generally don't care what people think. I don't have any projects or stars on github and I'm not seeking them.

I was just expressing an alternative to view that seem to dismiss nerdy people who derive pleasure and satisfaction from github and a fairly smug sounding "be normal."

I'm early Gex X FWIW.


Being exposed to these things from an early age means they form a part of your early philosophy. Notably, they're around and salient during the “cynical about everything” phase that lots of teenagers go through. It might not have as big of an impact as all that.


Wow. That's a mind blown for me. I've never thought of that, but you're right. When my kids watch a YouTube video, the first thing they talk about is how many views, subscribers.


You might ask them why, because views and subscribers are interesting metrics.

I always pay attention to them because they reflect how the general public respond to different things. So they might be thinking "wow this is so stupid but it's got so many views!"


https://www.youtube.com/watch?v=uDH_o8RqR0Y&t=1015s

This guy is in the middle of Nowhere, Siberia and even the kids there care about his number of subscribers...


haha yeah that's nuts. It's funny because my kids don't watch tv or movies, and so they wouldn't know a single Hollywood celebrity, but thinking now, I guess their way of judging if someone is a YouTube "celebrity" is by subscribers alone.

... thinking now, why should Hollywood > YouTube given that the content they consume is more localised. Maybe it's me who's wrong!


> That really is a narrow, normie view.

What does “normie” mean in this context? Is it the new “square”?


I'm going to say it's used in the "derogatory shorthand for everyone who isn't like me" sense.


I meant it to mean someone who raises being "normal" above other lifestyles.


Yes


It's hip to be square!


This all seems to rest on the assumption that more (drive-by, wooed by flashy logos) contributors => better software quality / functionality.

That's... quite a bold claim.

EDIT: And if you really want contributors, then maybe instead of building yet another logging or command parsing library with a cute mascot: contribute to and fix existing codebases, or discuss design and suggest changes to a standard library? There's plenty of existing communities of people that you can work with on a 'popular' library. If the target space is so crowded that what makes a difference is pure marketing, then maybe you don't need to make that space even more crowded in the first place...


Agreed. Reminded of a classic: "What one programmer can do in one month, two programmers can do in two months" - Fred Brooks


This is so true- especially in a flattened org structure, it can get tribal very quickly.

> maybe instead of building yet another logging or command parsing library with a cute mascot

I'll admit this got a hearty chuckle out of me.


No, but stars probably correspond to use or interest in your code.

I don't think people always want contributors. I've found you're much more likely to get people who make a mess of things than coding soulmates.


I have ~4k start in 2 Python libraries. Both help fetch live news articles. Links below.

These were my first libraries.

I took the approach of promoting them as any other product. You have to "sell" your code. Even if it's 100% free.

In my opinion, the most important thing is DEMO. Just make a GIF where you showcase what your software does:

* 80% of engineers won't even bother to read the description

No one will spend their precious time trying to get through your code.

[0] https://github.com/kotartemiy/newscatcher Programmatically collect normalized news from (almost) any website.

[1] https://github.com/kotartemiy/pygooglenews If Google News had a Python library


Demos sure are important, however I would advocate using videos (.mp4) instead of GIF. That way you can pause and seek the video, to get better idea what's going on.

So many times I've come across demo GIFs/animated shell sessions that "type" at about 1000 characters a minute, and the animation loops over before I even had a chance to blink.


I agree, a live console/showcase website are even better.


The problem is that these don’t get inlined in Github/Gitlab, and people (including myself) don’t like waiting for an external link to load.


My article where I briefly explain how I approach open-sourcing my code:

https://newscatcherapi.com/blog/how-to-present-showcase-open...


Wow, this looks like a great resource for a difficulty I've been struggling for myself since a long time.

For the love of it, I can't understand what makes other GitHub repositories stand out over mine.

I'm blogging about my work, I've added more information in the readme and over the course of a view years, I've also gradually shifted course to a more appropriate process. I always wanted to be the owner of a busy open source repo. I find the idea of making this experience fascinating.

But many of my repos are still stale though I think my code is good enough.

Actually, seeing that the repository probably needs a much better designed readme makes me sad to realize that also for something so deeply rational: it's the looks that count.

On the other hand, it's true. Deeply living with a problem and solving it in code is a though challenge and I'm not sure I'm committing enough for my work to be popular.

But I'm anyways happy to now realize that I'll have to market my repos better too.


First off, I have no ideas, just questions.

Have you tested your writing? project titles, readme, docs, etc?

I learned to test everything. Basically SEO, but for good.

I've done UI design, technical writing, ad copy, and so forth. Draft project plans, press releases, headlines. I've spent a ridiculous amount of time naming things, crafting pose, framing, messaging, etc. I even obsess over my trolling, sharpening my zingers.

I just scanned your repos. Know that I am not your target audience. So I have no direct feedback. At least none that should be trusted.

Your project for running C++ in a browser, via WASM, is the one I'd be most curious about. My guess is that's the one with the broadest appeal.

I'd compare your written artifacts with similar projects. Push and poke it every way you can think of. Stuff like dropping each project's keywords and phrases into google to assess discoverability.

I'd also test your writing on everyone you can. Peers, non-peers, randos. Both native English and German speakers.

IIRC, didn't @danluu do something about naming repos? I'm probably misremembering.

FWIW, for my last FOSS project, I spent a bit more time on writing than programming. Roughly 55/45 split. (I logged my time on that project. I was curious.)

Lastly, testing writing is in addition to all the other good suggestions. "Yes and", not "Ya but".

Happy hunting.


OK interesting. Great idea on trying to compare my projects with others and then adjusting the copywriting.

Then about testing for engagements: I've done similar things with the headlines of my blog articles. I usually have a few different ideas and I can test the engagement by e.g. resubmitting after a while on HN.

Do you have ideas on how to get improve the pace of my feedback loop? E.g. for testing three headlines of a blog post: Where can I test their engagement quickly such that I get live results?


Sorry, I don't. Learning how to do that is on my to do list. I've read articles about using Ad Words to validate notions, but have never tried. My own efforts to date have been torturous unending manual trial and error. Not optimal.


Actually, Veritasium posted a brilliant way for optimizing thumbnails and headlines to improve click-through rate on Youtube: https://m.youtube.com/watch?v=S2xHZPH5Sng

I plead guilty and say that I've repeatedly posted the same link on HN but with different query parameters to understand its performance.

But I've come to understand that users will notice this behavior and start to generally downvote.

As a creator with a small audience, the only success with tapping into a high throughput feedback loop has been by painstakingly write articles and submit them one by one to HN.

I've gotten much better at it already and frankly I've also noticed that engagement and "likes" isn't everything either.

I've realized too that if you truly do what you believe in consistently, I've found that I suddenly start having "impact", which I think is different from engagement.

How I see it:

- Engagement: clicks, views, comments

- Impact: The world changes, there's consequences and substantial changes as a reaction

But I think you can't have one without the other. High engagement means you're a popstar. High impact means you're a politician. Ideally, I want to be able to pick my position on the gradient.


re Veritasium video. Thanks.

Mea culpa: Rereading my initial reply, I see that I was more telling than asking, contrary to my stated intent.

Engagement and impact. Absolutely. Where do you choose to put your focus? I've always preferred "finding my tribe". Building tools for other people like me. Others who have needs like my mine which aren't fulfilled by today's popular hammerspoon.

Instead of persuading people to use my tools, I hope to be found by people who have framed their problem like I have and just haven't found a suitable solution.

For instance, one niche tool I made was a UI layout manager rooted in graphic design's notions for a "design grid". Kids today would call my bespoke solution "opinionated". At the time I described it as "visually and logically correct".

Alas. My strategy has not made me rich.

I'm actually semi-blocked on releasing more of my tools, because I haven't figured out how to pay the mortgage.

Happy hunting.


im beginning to realize tons of things in life MUST be sold (or a case built which i see as a form of "selling")

want a new code convention? best make a writeup and pros/cons for it to make it digestable to your fellow devs.

want a code fix on a third party lib? best make a case for why its a value-add for the maintainers.

want a new friend? best be interesting enough that the person has a reason to remember you.

everything is a sell, though the buyers arent always buying with their wallets


> im beginning to realize tons of things in life MUST be sold (or a case built which i see as a form of "selling")

While this is true, one is better off from thinking about this from first principles, such as what are some undeniable truths that are constant over time given an intractable problem space. Evolving software over and over around those constants, under the constraint of that one problem space, makes for a viable sell (but one does have to sell) especially in a b2b setting. Note that, early adopters don't need much of a selling-to, by definition, if the software as much as interests them and fulfills a tiny modicum of their needs.

Ref: https://apenwarr.ca/log/20211024


I recently submitted a 2 character fix because someone used . instead of \. in their regex. Terse explanation because obvious. Rejected!

More seriously, some of the best friends I have made is because I randomly took the initiative to start a study group with them despite the fact that we had never spent time together as a group. There is always an animator making things work. If you want to actually do interesting things, you very often need to be that person. While you might not get the ego boost of being a 'chosen' one, you will occasionally receive thanks from those who recognize what you did to make things happen for everyone.


Isn't this just making the metric the target? We want popular projects because popularity is a sign of quality[0], but by focusing on becoming popular we're just gaming the metric.

[0] supposedly. I'm not convinced.


The Society of the Spectacle by Guy Debord.

https://en.wikipedia.org/wiki/The_Society_of_the_Spectacle


"But many of my repos are still stale though I think my code is good enough."

The reality is just like with sellable (software) products (code) quality doesn't matter when it comes to "success".


Ah, but the real secret to maintaining open source projects is to make them popular enough to be useful to the right people, but not so immensely popular that maintenance becomes a burden.

An "Ultimate Guide on how to make a Just-A-Little-Bit-But-Not-Overwhelmingly-Popular Open Source Project" would be much more helpful :)


That's the thing I don't get about open source. Where do these maintainers find the time to volunteer ? I wouldn't wish super success for my project if all that means is more unpaid work.

sure, there are growing platforms that generate revenue for them, but from what I've seen, it's all dependent on volunteer donations.

I suppose it would be a dream job to get paid to develop my own code, but developing a closed commercial software product seems like an easier route to success. Linqpad is one that comes to mind.


There's a definite trend amongst OSS projects done by individuals to build maintenance-lite things.

All code needs maintenance of course, but some types of projects require a lot less than others.


If you really want to get paid for developing open source, nowadays you pretty easily can. But that likely won't be your own code.


For me, the priority is not open source, but rather the growth of my own creative invention. What I want is to get paid to grow my own vision, not that of someone else.

For me, creating software is an expression of Creativity. I to be able to explore my creative interests. Not those of someone else. I want to create things that interest primarily myself. I suppose the key to that success is to find a topic which has enough people are of interest that would be willing to give me revenue to work on that topic.


The author's most starred repo:

https://github.com/bee-san/pyWhat


i found the article good but honestly this readme seems overkill. An emoji for every single header gets tiring after a while.


Yes. Actually I can't read the readmee because my eyes are auto focusing on the icons :)


The "API" header is a freaking pizza emoji. WTF?


He has other starred repos with more stars, eg. https://github.com/ciphey/ciphey and https://github.com/rustscan/rustscan


Good catch; I was sorting within his user tree.


Check out the READMEs (and documentation) on these puppies: https://github.com/RiftValleySoftware

They aren't particularly popular (and I don't especially care -I'm really my only customer).


These are impressive! The use of screenshots and figures really helps. I've also always thought Groue's GRDB is an example of great documentation and readme combination[1].

[1] https://github.com/groue/GRDB.swift


That’s extremely well-done!


> Check out the READMEs

Ok. Tried https://github.com/RiftValleySoftware/RVS_Spinner.

>> WHAT PROBLEM DOES THIS SOLVE?

Looks like too many caps in titles to me, I'm mildly scared.


No problem. Don't use it, then. That's standard heading stuff.

No sweat off my back. I don't particularly care whether or not anyone ever stars these projects. They are really for me.


Why do you post links here then?


Why not? There's tons of reasons to do it, other than craving attention. I'm really enthusiastic about the tech I do, and I like to share my enthusiasm. Also, it helps to lend credence to what I say, if I can back it up.

And some folks even like the stuff I post. Go figure.

Another thing that I try not to do, is immediately attack others, on this (or any other) forum.

It buys me absolutely nothing. I don't feel good about it, most folks around the place don't appreciate it, and it tends to make immediate enemies of potential friends.

Pretty much the Platonic Ideal of "Zero Sum Gain."

I've always found that life is easier for me, if I have more friends, and fewer enemies.


FWIW, I much prefer those to some of the author's linked READMEs. :)


Thanks. Since I am the one that consumes my own projects, I write repos that I want to use.


I run a web app with 2k monthly users and 15k registered users (and about 14k downloads, which happen through the GitLab release page). I have 40 stars. It's just a silly metric.


Taguette? It looks quite impressive and interesting! What do you think it helps you financially?


It doesn't make me any money if that's what you're asking. It would be difficult given my target domain.


Same. 2MM+ actives, 5MM+ installs. 4.3k stars.


That post made me vomit a little bit.

""" The Ultimate Guide to creating a popular open source project in only 3 steps from someone with 10s of thousands of GitHub stars. """

These are tips to gain a person exposure. Look at me I am famous. I have so many stars. and all I did was write a 67 line Python code. yay.

You can do it too!!!!!

Marketing, logos, shiny, shiny.

You are hyper focusing on the wrong metric

To me, and I am too old to matter, it highlights a fairly substantial perversion of the reason and motivation to create great software that you give away for free.

It sets you up to chase fame on GitHub just like people do in every other social medium, Twitter and Instagram followers. Look people love me!!!! So excited in the quest for brief moments of stardom.

You get there by feeding the lowest common denominator.

What does the mass of followers want? How can i get 1000 more.

Oh they like my bikini shots. Ill just make it a little skimpier. yay.

They like the drama with my momma, Ill stir up some real shit tonight yay.

Oh I see the dig it when I go off cussing about politics and today Ill cuss like never before. Yay.

With this type of mindset, you will not create anything original ot beautiful. It's a fast-food junkie stuck in a feedback loop with a race towards the bottom. It becomes an unhealthy addiction.

I have 0 stars, 0 twits, 0 Instagram, 0 all of social media because I am a quarrelsome luddite. I would not get an account in any of those systems even if they paid me.

It is a distraction. at best. more commonly an obsession and no good can come from it.

It used to be that modesty was a virtue.

A compliment from one my sensei when I was studying martial arts,

Honest praise from my Lt when I had the misfortune of ending up in the army.

The camaraderie from the band of brothers I discovered.

A professor seeking me and giving me some life changing advice based on a couple of my essays he graded.

Having one of my most respected "master" developers reach out to me to point out that I had made some errors in my code, but he liked these two other things. Meant he had actually spent some time looking.

Praise should be earned, and it should not be given out freely. Seek it from those who really matter. The rest is noise.


I don't even know how many stars I have. Maybe the tens of thousands. On npm alone I have an upwards of billions of downloads a week. None of that really means anything, so I don't view that as a signal of authority on this subject.

This article is exactly what's wrong with GitHub. Flashy logos and jargon-ey readmes fooling folks into thinking something is high quality, secure, thoughtful code that will benefit instead of hurt.

These things are important for garnering views, sure, but open source isn't a marketing channel. You're optimizing for the wrong thing here.

Further, in my experience this applies primarily to web (see: Javascript) and ML spaces. Most other areas of focus don't worry as much about this.


great article, i know a few talented devs who would benefit greatly from these tips. I think some people are averse to hacking the growth of their project and think they just need to put up a terse readme and the people will come. But these tips seem innocuous enough, no dark patterns to motivate growth here, simply basic advertising and economics applied to github repos. i almost feel like the intro about stars may turn people away before they get to the article, which hopefully shouldnt happen.


..or they don't care whether people come or not?

I have a lot of little things I'm going to work on no matter what, a few that I'd appreciate help with but I'm not so bothered that I'm going to start 'hacking the growth', and none where the goal is to have a 'successful' repo with lots of stars and users or whatever. (I do help maintain/triage a couple of popular ones now, but I didn't get them where they are.)


Right. Sometimes I put up my code because I think it might be useful or educational to someone else, and I'd actually rather it not become popular because I don't want to deal with people giving much of a shit about it.


"if you build it, they will come" and "terse readmes" work very well in problem domains that don't have a few compelling open source solutions. Fanciful READMEs and marketing matter a lot more in a competitive/saturated space.


the article points out that the only way your repo will get attention if theres nobody else in the problem space, or your lib is much simpler then the other tools, so i think it can be both efficient in terms of description and mildly attractive visually. Also i think "fanciful" is a bit misleading here. Sure they recommend an icon, and/or an animation. i dont think thats necessarily overkill for some projects


He lost me when he said Juicero was a good idea.


Three things: community, community, community.

Be friendly to the people.

If they contribute, make sure you get their stuff released quickly.

Attribute them in the release not es, your readme. Respect and gratitude.

Be open for ideas.


(deleted negativity)


Just a note: It is okay to not censor yourself (though, you could always leave a note that you're being overly critical). Criticism often lays bare the hard-truths everyone else has learned to ignore / suppress. The prospects that end up doing well, tend to address shortcomings pointed out by their harshest skeptics more often than not.


Maybe the next great library is sitting somewhere without a good readme so nobody goes on it /s


Not related to the content of the blog post, but I love the feature that enlarges the picture when you mouseover the picture. Such a nice feature!




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

Search: