Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I recently put up a project, called Hebel, that I've been working on to GitHub. It's a framework for GPU accelerated deep learning written in Python and Nvidia CUDA. I posted about it on Google+ and soon afterwards it was picked up on Hacker News and went slightly viral for a few days. I later posted about it again in the Machine Learning subreddit as well and altogether my project picked up 822 stars and 47 forks on GitHub, which was really exhilarating. 822 stars means my project is in the top 200 Python projects on GitHub and in fact has more stars than some high profile and widely used Python projects like virtualenv.

Despite the considerable interest for my project, I'm very disappointed with the actual engagement I have seen so far. None of the 47 forks of my projects have ever had any commits, I haven't received any pull requests, and only three issues submitted were submitted by two people. It seems that my project is potentially very interesting to many people, but they only star or fork it once and then never return to it again or use it on a continuous basis.

How can I improve engagement in order to have users either submit bugs or enhancement requests or have contributors submit changes?

share|improve this question

We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.

4  
It's the kind of project many will consider cool, but won't actually use it themselves. –  CodesInChaos Feb 4 at 17:51
    
I would guess most people star your project as a bookmark because while skimming through the readme.md, they read some buzzwords (Python, CUDA) that sound great to play with at some later stage. I'm a senior software developer, but even after looking at your github project page for a couple of minutes, I only have a vague idea what this is all about. If you want people to contribute to your project, my - completely unscientific - advice would be present it in a fashion that someone who doesn't know a lot about neural networks (and all the other expert stuff) can also understand. –  ssc Feb 11 at 20:21
add comment

1 Answer

up vote 24 down vote accepted

You've worked really hard on this. Congrats on all the attention, but sorry it's not engaging.

The first thing I notice is there are no issues. To get people to engage you have to be visible in their GitHub news feed. When you start an issue it'll show up for people following the project (not the ones who starred it). So you're community size is actually about 80 followers. It's only the followers that you should think about. Forkers can just grab the code and walk away, and stars are kind of like bookmarks. A follower will get notified of new issues.

Try opening some easy issues.

EDIT:

Your README.md is your advertisement for the repo. It's the first thing people will read, and the first thing they turn to for help. 2/3 of your readme talks about what Hebel is in a technically specific language (i.e. I have no idea what you're talking about). The lower 1/3 has only a few installation instructions.

One of the most difficult things I've found with GitHub is getting projects to actually do what the author claims. Installing, running and getting to work takes up the most time. If someone gets your repo but can't get it to work, then you'll never get a pull request.

I can only suspect that this is the cause.

Revise your readme, and put the getting start/installation instructions right at the top. So people can jump right in and get going.

Second, include some kind of sample/example that they can get running quickly that demos the benefits of the project.

share|improve this answer
2  
No doubt. If you have a section in the README that looks like "Contributing: clone the repo, run this one-line build script, add a feature, add a test, submit a PR" then I think you'll make a lot of headway. There's tons of inertia jumping into someone else's project. Make it easy for them! –  Daniel J. Pritchett Feb 7 at 21:36
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.