Open Source In Entrepreneurship - Panel Discussion
I recently sat down with Aaron Cruz, William Wanyama, Joannah Nanjekye, and Bernard Banta for a panel discussion at RubyConf Kenya. Here is what we discussed.
Here are the top 5 reasons we discussed for developing open source software:
1) Get Feedback on Your Work
If you work by yourself or you are the most experienced developer on your team, chances are you are not receiving critical feedback on your work day to day. Working on an open source project will get your code in front of other experienced developers, who will be able to provide a fresh perspective. Getting feedback is one of the best ways to continually improve at your craft.
2) Build the Features you Need
As software developers, we all use a ton of open source tools. If a tool you use has a bug or is missing a feature you need, what better way to get it resolved than to do it yourself? Chances are if it's a problem for you, it's a problem for other people as well. They will all be very grateful when you fix it.
3) Get your Name out there
Even if you are not looking for a job now, you likely will be at some point in your future. Most of us spend a lot of our work days coding in private repositories, that future employers will never be able to see. Writing open source code allows potential employers to see your work and take notice of you. When the time comes to find a new job, open source contributions can give your resumé a huge boost.
4) Make Connections
Collaborating on work projects is a great way to get to know your colleagues. Similarly, collaborating on open source projects is a great way to get to know people you don't work with. This can be a great way to connect with people all around the world. They may turn into friends, colleagues, speakers at events you host, or collaborators on future projects.
5) Give Back to the Community
Time spent building open source software is time that we can feel good about. Building software that enables other developers to do their jobs more easily is a benevolent task. Study after study has found that being generous makes us happier, and this is a great way to do so.
Great, so hopefully by now I have convinced you that contributing to open source software is a good thing to do. Now, where do you start? We also discussed some tips & tricks for people who want to get involved in open source software:
Solve Problems you Encounter
Rather than endlessly searching through Github issue lists to find your first task, why not try fixing a bug you have encountered or else building a feature you've been wanting in an open source tool you need?
Start by Contributing to a Maintained Project
Before diving in and starting/maintaining your own project, dip your toes in the water by contributing to someone else's. This will help you learn if open source is really something you enjoy, and will also help you realize how much work goes into it. You want to ensure that you have the time & energy to create and maintain a project, so you don't end up leaving your users hanging.
Seek out Organizations that Promote Open Source Contributions
Since its inception, Shopify has been involved in the core development of Rails and many other open source technologies. Not only do employees contribute to other open source projects, but we also maintain a plethora of our own. Driving home the importance of open source from the organizational level results in many employees contributing to open source, both at work and in their own time. These employees in turn guide their colleagues who are new to the process.
Market your Project
The difference between successful and non-successful open source projects is often how much marketing of it there is. Good software is important, but it doesn't matter how good your code is if no one knows about it. The founders of the most successful open source projects have spoken about them at a ton of conferences, on podcasts, and anywhere else they think their audience will be listening.
I wish you the best of luck with your open source adventure.