I have recently started my first open source project. I want people to contribute their ideas and to help grow this project. I don't know how I should spread it. I have a guide on how to contribute, a todo list and I even offer to vouch for them in the future if they contribute. It has a guide on what needs to be done and even a step by step tutorial on how to download the source and start editing things. I have commented the code so it should be really easy to learn the code and get started. I just don't know where to start. Do I post about it in different places? I don't have friends who code so I can't tell them. So my questions are: Do I post about it somewhere? If so, where? How can I make people want to contribute? How do I make it get 10+ people contributing? What are some open source basics that I do not have in the repo?
I am an open source contributor to more than one projects. Why do I contribute to a project? Because
- I have used that project in some way and I feel that I should be a contributor
- I have used the project and I felt that even though it's awesome, something is missing
- I'm a student with my study focussed on a particular field of computer science. The project does cutting edge work in that area, and contributing to it helps me have a contact with brilliant people in the field
- To learn industry level coding practices which most universities do not teach directly
Here's what I feel you can do:
- Is you project useful? If yes, try looking for a forum which had people who can use it
- Write a blog post illustrating the applications of your project. Post it on medium/Hacker News (ShowHN)
- Managing a project sounds easy, but it isn't. Try looking for an umbrella organisation with similar projects and see if they can help you manage it (funds/contributors/etc.)
- Several universities (I can vouch for mine) have students who are interested in contributing to open source but don't know how to. There are coding clubs and societies that tie up with some open source organisations and do a two-way thing for both students and the organisation.
- Google Summer of Code. Get in, it'll guarantee contributors.
Try integrating tools like slack/gitter, CI, etc with your project. Makes it easier to manager with loads of developers.
I think your question boils down to "How can I market my WidgetMaker5000 with zero budget?". It's not easy, but it can be done.
Build something useful. Nothing else you do will matter if your software doesn't solve a common problem.
Write great user documentation. It doesn't matter how useful the WidgetMaker5000 is if no one knows how to use it.
Bundle an installer. The average end user isn't going to build your project themselves. Go through the effort to make sure installation is a series of mindless clicks.
Find your user base. Different types of users will be found in different places. You built a neat new way to analyze data? Seek out Excel & Matlab and power users. Built an awesome new code review tool? Find out where quality obsessed programmers hang out. Figure out what hashtags people who would love your product follow.
Start Evangelizing. Right now, nobody knows the WidgetMaker5000 exists. You need to tell them about it. Set up social media accounts for your project. Then, get a blog up and running. There are lots of free ones out there. Write about your product and the problems it solves and be excited about it. (If the guy who wrote it isn't excited, why should I be?) Share these blogs on your social media accounts (don't forget to use the right hashtags!).
Depending on what it is you've built, you may even be able to find actual IRL (in real life) user groups that you can present and demonstrate too.
If it's possible to provide an interactive demo on a website (and you've got the resources/know how to make it happen), provide one on a site for the project. Nothing makes me want to download and install software like getting to play with it a bit first.
Don't forget to have fun. Don't get discouraged if it doesn't take off. It's taken my project 2 years to gather up several thousand users and a few dozen contributors and it's a successful project. Very few projects gather that kind of attention. The vast majority of Open Source projects have a user base of 1, the developer, and that's ok. Even if no one else every uses the WidgetMaker5000, you've had fun building it, learned something in the process, and solved a problem in your life. That's a win, don't forget it.
Some specific advice about your project:
I followed the link to your GitHub repository. I have no idea what your software actually does. It's a "Company Mgmt System"... okay... what's that?
On GitHub, your ReadMe is the project's landing page. It needs to quickly tell me what it is that the project accomplishes. What problem does it solve? Compare your landing page to this one or this one. Notice how those landing pages instantly show you what the software does? If you don't quickly and efficiently communicate your product's core functionality, people will wander off before the page has even finished loading.