Developer Relations

How to Attract Students to Contribute Code to Your Open Source Project

2018-10-03
Developer Relations
en

Community managers have written many articles about how to attract student volunteers to contribute code to open source projects. This time, I’m going to write the same content but from a student’s perspective. Here’s how you can attract me to contribute code to your open source project.

1. Create an open source project I will actually use

This is probably the most important point I can tell you. If I don’t use your open source project, I probably won’t even consider contributing code to it. You need to think like a student. Do students need your open source project? Although open source projects for businesses are great, if I don’t use it, I really won’t consider contributing code to them.

Instead, I’m looking for the operating system that best suits my needs. I’m looking for a good text editor, email client, office suite, e-book reader, audio/video player, file manager, and tools that simplify front-end development for me, etc. I’m looking for tools that help me be more productive and make daily tasks easier (like oh-my-zsh). If your project meets my needs, at least I’ll be involved.

Also, don’t be discouraged if your project isn’t very popular. I like to look for those “hidden gems” that not many people know about.

2. Make it easy for me to start small

Before actually contributing code, I’ll start small. I’ll test your latest beta version, reproduce, confirm and report software bugs, translate your software, answer other people’s questions, and contribute some code to your website (if the website uses open source code). Your task is to make it easier for me to do this work.

If you do this well, we’ll actually contribute code.

3. Ensure your build documentation is regularly updated

This is a critical stage in the entire process. Nothing is more discouraging than finding a software you like but not being able to build it correctly. Make sure there’s a page or document called INSTALL or BUILD that I can combine with your code. Add a reference to it in the README.md file. Make sure it’s easy to track and update regularly.

4. Don’t be too concerned about the programming language you use

As a student, I don’t have years of practical experience in any programming language. If I like your project, I’ll spend a week or two learning the syntax of the programming language you use.

5. Ensure your programming team is easily contactable

I won’t pester you with frequent messages and emails, but if I get stuck somewhere, I still need your help. Make sure you have a chat room channel (with your developers on standby), a mailing list, or something like that so I can actually communicate with other developers and get answers to a question if needed.

6. Make your website design at least suitable for 2015

Your web resources don’t need to look amazing, just not like they were designed 15 years ago. If your project is amazing, but your content (like a forum using BB code) uses a theme that looks like it was designed when I first started using the internet, that feels terrible.

7. Create a dedicated page where users can suggest (and vote on) features

If I don’t know what to do, I’ll look for suggestions on what to do. Track feature requests from users and make sure to implement some mechanism that allows other users to vote on them so I can understand which features are most wanted.

8. Give me some rewards

If I contribute code to your project, I want to show it off. Being an internet celebrity is nice, but having a logo on my laptop or t-shirt is better. Yes, I might print your project’s logo (of course, provided your license allows it), but it would be even better if the project team sends some kind of prize to thank me for my contribution.

If you have a store where I can buy things, that’s great! Give me a discount! I don’t live in the US. I often encounter this problem: I want to buy a cool t-shirt, but the shipping cost is more expensive than the t-shirt itself. Remember, I’m a student, I don’t have much budget.

9. Sponsor hackathons and give rewards

Sponsor a hackathon. You should also send a few representatives. After the event, give rewards to the best teams or individuals. Talk to them about your project. Suggest what they should focus on during the event. Help them get familiar with the code if needed. Explain to them why and how you implemented some features. If you’ve sponsored a hackathon and left a good impression on me, I can be sure that I will continue to contribute code to your project.

Conclusion

Students are a bit different from your other contributors. Their time is very limited. You need to ensure their contributions are appreciated. You need to make contributing code to your project as easy as possible. If the code contribution process is convenient for students, then you will definitely find it easier to attract other contributors who are not students.

This process is beneficial for both of us. You get more contributors, and we gain valuable experience working as team members. In addition, contributing code to open source projects may be our first opportunity to see how well we can contribute to larger codebase projects.

Reprinted with permission: Developer Relations »


Similar Posts

Content icon
Content