I usually don't invite contributors to my own project. Instead, people who are interested will naturally begin to make more and more issues and pull requests as they get more into your project.<p>If you get a project out there, people interested in it will start to help out. Gradually, this turns into that person becoming a contributor to a project.
There's a famous Chris Rock quote about him being broken down on the side of the road. When he was standing there waiting for help, nobody wanted to help. When he started pushing the car himself, people would always get out and help him. People love to see you helping yourself, and will naturally come help you if you are visible enough.
Before everyone starts posting her/his own projects in this thread I'd like to pitch my idea to what I personally am looking in this situation: a board similar to <a href="https://starters.servo.org/" rel="nofollow">https://starters.servo.org/</a> for open source project where I can learn a new language by fixing bugs/resolving issues that can be ranked from beginner to expert, so you can find interesting projects fix bugs and learn new languages at once.<p>The link I have posted only covers the mozilla servo project and I can see this concept working with multiple projects/languages/etc.<p>Of course one would need to heavily moderate the submissions but I think this idea is great. Anyone know if something like this exists ?
One good example that I can point out is Homebrew's github repository[1]<p>The README is so clear and welcoming new contributors, by telling how exactly they can start contributing. In fact that encouraged me to start contributing to opensource. Now I'm doing Google Summer of Code under the same organization.<p>[1] <a href="https://github.com/homebrew/brew" rel="nofollow">https://github.com/homebrew/brew</a>
People tend to have different incentives for contributing.
A ton of it is people scratching their own itch.<p>You still need a core team to drive a project.
If you want contributors you'll need users.<p>People have a finite amount of time in a given day.
They aren't going to contribute because you want them to.
They want to get something out of it. It could be learning something, fixing a bug that affects their day job, an interesting side project for a weekend (some folks pick random projects to contribute to)<p>Open sourcing something also has different incentives.
Many successful projects are either run by foundations or companies with the hopes of attracting talent.<p>Try to understand what the incentive structure is for people and contributors follow from that.<p>You still need to do project promotion as well.
That's a whole separate topic though.
I think this is a hard problem to solve because actual invitations seem to not work well. In other words, writing to someone and asking them in specific seems to not go good places.<p>I think it works better to focus on a) making sure to create a welcoming or inviting atmosphere and b) leaving the door open logistically.<p>It needs to be apparent to other people that new contributors are welcome and it also needs to be apparent to other people where and how they can go ahead and step up to bat. These can be tricky things to pull off. It is much, much easier conceptually to just think "I know! I will actually literally invite people!" (aka ask them to contribute) and this means you may be asking people who have no interest in the project or not ability to effectively contribute or both.<p>I am still working on solving this piece for my own projects. Trying to be inviting without literally sending out invitations is tricky. But I think that is what works best to make it possible for those who have both interest and ability to get involved on terms that work for them.
"Up For Grabs"[0] was posted on HN a while and it seems like a cool idea, but doesn't seem to have a ton of traction.<p>[0] <a href="http://up-for-grabs.net/" rel="nofollow">http://up-for-grabs.net/</a>
One thing to include: an explanation of how much background someone should have before contributing. You might think this is intimidating, but it is really helpful because it lets a potential contributor disambiguate whether they should<p>A) Just start contributing, sure in the knowledge that they aren't missing some piece of background that others would consider obvious.<p>B) Go off and search for a good book/course to learn about X, where X is a googlable phrase that your contributing.md just told them.
We actually wrote a blog post that we link to anyone wanting to contribute to our project and we simply link that if anyone shows any interest.<p>Here is the project : <a href="https://learn-anything.xyz/" rel="nofollow">https://learn-anything.xyz/</a><p>And here is the article we link to : <a href="https://learn-anything.github.io/2017/06/15/contributing.html" rel="nofollow">https://learn-anything.github.io/2017/06/15/contributing.htm...</a><p>It saves quite a lot of time as we try to cover all the ways in which one can help with the project there.
I've created <a href="https://letsbuildagame.org" rel="nofollow">https://letsbuildagame.org</a>.<p>Too bad I don't have the time to maintain or update such website, nor to actually keep reasonable docs at the pace things are changing.<p>I had the aspiration to create a truly contributor friendly project. It turned out to be way harder than I expected, at least for a small team like ours.
im the author of pygsheets (a library for acessing google sheets from python) <a href="https://github.com/nithinmurali/pygsheets" rel="nofollow">https://github.com/nithinmurali/pygsheets</a>. As mentioned in other comments i think you will only get contributions if your project is useful. the project will only grow if it has some users. once you have some users you will start getting issues created. you would have to fix some issues at first. Now if your project has a good enough documentation. you will start getting some pull requests. it will go uphill from there.