What Makes the Open Source Project BeeWare Sticky for Sponsorships and Contributions
April 26, 2016 | Robert GibbIn February 2016 our director of developer relationships, Justin Dorfman, came across an article about a programmer's journey to becoming an open source contributor. The programmer, Ankush Thakur, talked about his experience contributing to BeeWare and how its creator, Russell Keith-Magee, took him under his wing. "Russell has been a godsend all the way," Ankush wrote in his article. "Email by email, my questions are getting answered. As I write this, four of my commits have already been merged into the main project." The relationship Russ had with Ankush struck Justin as uncommon. Sure, creators of open source projects collaborate with their contributors all the time, but Russ was going beyond collaboration. He was mentoring his contributors.
Never contributed to an open source project before? Would you like to? We’ll gladly mentor anyone who wants to get involved.— PyBee (@PyBeeWare) April 13, 2016
What Made Us Want to Sponsor BeeWareBeeWare has a ton of character, and this character isn't a happy accident - it's a product of passion, good-heartedness, and a dedication to open source. The character of the project was shaped by Russ and it evolves in positive ways as the BeeWare community grows. Right when you hop on the BeeWare site, you know something good is happening there. Everything from its code of conduct to the project's artwork gives open source contributors and ordinary folk like myself a great first impression. BeeWare projects, from left to right: batavia (tools to run Python bytecode in the browser), bugjar (an interactive debugger), and duvet (a tool for visualizing coverage data) When I asked Justin what made BeeWare so interesting to him, he told me it had a lot to do with the positivity behind the project. To him it was evident that BeeWare is a place where first-time contributors can feel comfortable and challenged at the same time. It even has projects named VOC and Batavia that are specifically suited for beginners. Those new to open source can get mentored by Russ and get their name on a rising project when they make both code and non-code contributions (documentation, material support, etc.) The idea of recognizing non-code contributions in open source was originally raised by Leslie Hawthorn and her initiative Let’s Build a Hat Rack. It’s since been repeated on many stages by Katie McLaughlin who's a co-maintainer of the Batavia project.
How Russ Made BeeWare BuzzworthyAs I became more interested in Russ's story and project, I asked him to explain how he created the buzz around BeeWare, how he made it sticky like honey for sponsorship, and how he attracted contributors of all kinds. As a marketer, this interested me. Here’s what Russ said: BeeWare is an umbrella project. Beeware covers multiple related projects. It’s not just a single code repository. This means I don't have to fight for an audience every time I do something new. I have a pre-prepared audience ready to go. He actively solicits first-time open source contributors. I've been a member of the Django core team for almost 11 years. In that time I've lost track of the number of people who ask me “How do I get involved in open source?” Django as a project hasn’t ever been very effective at answering that question, so I decided to address it directly with BeeWare. With BeeWare I decided that the best use of my time is as a force multiplier. I need to write the code myself to handle the hard problems - and just for my own sanity - but I’ve also committed to answering any question from a newcomer. I’ve embraced the idea that there’s no such thing as a dumb question and everybody has to start from somewhere. An expert in one field will often feel like an idiot in another. My theory here is that if I can seed the pool with lots of enthusiastic newcomers, in the hopefully not-too-distant future I’ll have an active development community who are in a position to do the same for the next generation. He flags tickets for beginners. I specifically flag some tickets as areas where first-timers can help. The VOC and Batavia ticket trackers both have “first-timer” flags. He rewards contributors as much as possible. This is an offshoot of something Django did when I joined the team and I'm taking it to the next level. Back in the day, Django used SVN, so no matter who wrote a patch, it was one of the core team members that got the commit message. However, the project founders made a point of putting a “Thanks to X for the patch” at the bottom of every commit message. The feeling I got when I first saw my name in one of the commit messages is indescribable. I really felt like I had “made it." It gave me a boost to go on to my next contribution. Ironically, this is something that has gone away with the introduction of git. Yes, git commits are all tagged with the original contributor, but it’s an automated process. Somehow, the loss of the personal touch makes that seem a lot less significant. So, with BeeWare, every time a new contributor gets involved, I give them a shoutout on Twitter for what they’ve done and thank them for it. And now with the challenge coins, I'm able to give contributors something tangible. Russ at his home in Perth holding one of the challenge coins and Brutus. He leverages Twitter to its full potential. Since the start I've been very active in promoting the “brand” of the project. I opened a Twitter account for the project very early on, and whenever I do anything of interest - even remotely smelling of a milestone - I tweet about it, preferably with a screenshot, video, or link to a demo.
Another day, more VOC progress. This time, an Android app that actually does something: pic.twitter.com/lhyupw7sZo— PyBee (@PyBeeWare) January 2, 2016