Sometimes what starts as an experiment becomes something much bigger. That’s exactly what happened with CodeCuriosity.
For the past few years, we have always encouraged people at Josh to do open-source contributions. This helps everyone:
* It helps you build your public profile and showcase your strengths.
* You learn new techniques and coding practices from the community that improves your daily work.
* Your contributing back and it makes you happy!
How does this benefit the company, you ask? When we have people who have a prolific history of open-source contributions, it’s always easy to convince our potential customers that they are working with the right team!
Some team members were ardent and committed contributors but we wanted EVERYONE to get ‘addicted’ to open-source contributions. For the past few years, we had made a lot of attempts to entice, motivate and even force the team to increase their open source contributions:
Open source Fridays was started with the intent to get everyone together to contribute to some open source work. Invariably, it ended up having a few dedicated “idea owners” building something they were passionate about. After a year, we stopped it because I hated the idea of “forcing” people to do something even if it’s for their own good. It’s like wearing seat-belts 😉
3rd Saturdays was an initiative, where every 3rd saturday of the month was declared a working day but dedicated only for open-source activities. You could write blog posts, commit code, answer questions on StackOverflow, teach or attend in-house workshops etc. This worked for a few months but then people started giving very innovative and genuine excuses to skip these mandatory Saturdays.
Last year around Sept-2015, after some brain-storming, we realised that we needed 3 key ingredients
Open-source contributions should be fun, competitive and have continuity.
- Teams of 3 people
- You have to contribute to other popular repositories. Not your own “test app”.
- Everything is scored – commits and activities.
- Prizes are given to the winning team.
To ensure that we are able to monitor everything, we built a platform that allowed us to monitor commits, activities and score everything. For the first few months, we started scoring manually (at least 3 scores were required to get a full average score). However, that quickly became a great problem to solve – we were drowned in open-source activities and could not do any scoring manually! (an algorithm followed).
The first month, we had everyone trying to get used to this, so it was skewed.
The second month, everyone caught on and caused a better competition! EUREKA!
We also realised over a few months that we may have succeeded in “Gamifying Open Source contributions”. We then decided to open this out to the community and allow us to help not just people in our company but everywhere.
CodeCuriosity – The push you need to contribute to open-source.
* Points for every commit and activity you make.
* Contributions count only when made to a “valuable repository” i.e. a repos that has more than 25 stars.
* Points redemption for digital goods.
* Groups level the playing field. So, you now compete only among your peers.
* Automated scoring that can be over-ridden – a learning algorithm that can help make scoring more accurate.
* Royalty Bonus for all your past efforts and contributions to open-source.
Above all – CodeCuriosity is open-source and contributions are welcome at http://github.com/joshsoftware/code-curiosity
Talks given about Code Curiosity:
Sethupathi Asokan – RubyConf India 2016
Gautam Rege – Collision Conf 2016 (video awaited)