How To Make Your Open Source Project Really Awesome
blog.clojurewerkz.org
blog.clojurewerkz.org
I'll open with something that describes the pain someone might be going through to catch their interest with the project. And I'll also make sure to include a testimonial or two from folks using the project. Here are a couple examples:
https://github.com/n8/multi_fetch_fragments
https://github.com/n8/cohort_me
I don't have enough data to scientifically judge the results. But since I've started doing this I do know my most recent three open source projects have gotten a lot more traction than previous projects.
I think the GitHub stats make this point fairly well:
Pushed 79 commits to h2s/ppl Apr 14 - Apr 20
Pushed 34 commits to h2s/ppladdressbook.org Apr 14 - Apr 20
That's almost a documentation commit for every other commit to the application itself. It's a lot of work, but seriously, what's the fucking point otherwise?I also agree about abandonware. I keep encountering this, and it's pretty tiresome. Somebody built some well-received little tool a year or five ago, and for a time they loved it. Now they're bored of it, and they make just enough of a token effort to sustain the project to temporarily fool you into using it. I even have a different project of my own that's starting to creep into this territory. Hopefully I will not make a hypocrite of myself when the time comes.
The only thing I don't agree with particularly is this.
> Make sure the title starts with ANN or [ANN] to
> indicate that it is an announcement, e.g.
> ANN Welle 1.5.0 is released
This seems an oddly specific recommendation to be making. We're doing Hungarian Notation for project blog post titles now?Anyways, that minor thing aside, I think this is an absolutely excellent primer for anybody considering starting an open source project. If, while reading this, you find yourself thinking "How silly, ain't nobody got time fo' dat", then you're probably starting out your project with quite a low ceiling on its potential usefulness.
here's a good talk about it http://pyvideo.org/video/1795/write-the-docs
> bitbucket is a good service, no doubt. But people who choose it for public code are just being difficult (according to me)
this argument is a pile of horseshit (according to me).
Without docs expressing what code is supposed to do, a random git repo is just another worthless, opaque pile of buggy spaghetti to any random bystander. With docs, said bystander is empowered with the original intent, and might even extend your idea far beyond what you ever envisioned (aka "the power of open source").
A side point is that many people (myself included) will look for docs first, as some measurable proxy of code quality. Shitty docs often means shitty code or shitty idea.
Which part? Do you think bitbucket is not a good service or that bitbucket has reached a critical mass for open source hosting or that github hasn't reached a critical mass?
I recently discovered RVM autolibs. Wow - what a great idea.
Is there a way to make 'autolibs' work with bundler, or rbenv?
I would go further and say "state what licenses apply to code you didn't write". It's dangerous to see people cull code from the internets without properly understanding who holds the copyrights.
As explained in coding horror: "Experienced developers won't touch unlicensed code because they have no legal right to use it."
http://www.codinghorror.com/blog/2007/04/pick-a-license-any-...
Now, that being, said, what is the best way to get a good group of pre-release testers? So far I haven't had too many people bite.
Of course it's hard to say how to do it better, which is exactly the reason why most people don't do it better: the good people often can't say why they are doing it better, just that they are doing it better. So what the author wants to teach here is something the author needs to learn first himself.
I feel a little disappointed for not getting that how to but wish good luck to the author, because he seems to be on the right path.