During the PyCon US 2016 sprints, BeeWare welcomed it’s third Core Contributor, Philip James. Phil has written up his experience of getting the commit bit, and so I thought, as Core Contributor #2, I’d also write down my journey.
I’d first heard of PyBee through old lightning talk recordings from PyCon AU. I’d been accepted to this Python conference, and I was a Ruby developer at the time, so I thought maybe watching some old talks would be a thing. I found the lightning talks, and saw a heap of cool things going on, like some bloke called Tim needing help on all his projects, and a bloke called Russ releasing all the yaks
It wasn’t until PyCon 2015 in August that I met Russell Keith-Magee. I vaguely recall a hallway conversation about how Django and Ruby on Rails share information on security vulnerabilities because of the closeness of their functionality. I also see I tweeted that Russ talks very fast, but the things he was talking about regarding funding OSS wouldn’t hit home until later. He also saw my talk later that day (and asked the first question. Shockingly, this became a trend).
Also, looking back through the twitters, it appears that I have had a few interactions with wonderful people I didn’t meet until last week, like Audrey Roy Greenfeld and Adrienne Lowe by way of Russ.
Anyway, the PyCon AU sprints come along, and I hear about this thing to run Python bytecode in the browser. This intrigued me, but at the time of the sprints, it didn’t exist anywhere except on Russ’s laptop. I vaguely recall discussing it with Russ at the time, possibly with me pontificating something about some design something or other, but my recollection is fuzzy. My first commit to Batavia came a few days after it’s GitHub debut, with a commit as simple as fixing some of the README formatting, and my first bug was just reporting that I couldn’t run Batavia in Chrome.
You may be noticing a trend. I did a talk on recognising contributions that aren’t code, and here’s Russ, recognising my contributions that aren’t code. I recognised a source of knowledge in Russ, so I started bugging him about Django history and such for use in the next iteration of my talk.
Post PyCon AU, I kept in touch with Russ, and I occasionally threw a commit or two at Batavia and VOC. I was also doing things across all the projects, like adding contributor docs to every subproject. However, I was doing more behind the scenes things than just the code. I was a bit of a sounding board for some of Russ’s ideas, because as far as I know, at the time I was one of the only people consistently interested in the project and what it could achieve.
October 2015, and it’s OSDC time. I deliver a talk on JavaScript being awe-ful, and I mention Batavia. By that time I believe it was in a state that you could run Python code, but from what I recall I couldn’t give a demo, but just mention it was a thing that was happening.
Skip forward a bit[1]. By March 2016, I’m over in Budapest at DjangoCon Europe, and I’m given a Challenge Coin, and helping the amazing Lacey Williams Henschel get her challenge coin. These are coins #1 and #2. So, by this time, I’ve been working sporadically on Batavia, and I’m in freaking EUROPE, sitting across from Russ, and suggest that maybe with all these PRs coming in on the BeeWare sprint, maybe I should get the commit bit. And I get given it. I’m a Apriarist.
It wasn’t until I’m helping out with the application for the Mozilla FOSS funding that I’ve been listed as a Core Contributor.
I immediately went ‘wat’.
Turns out that that’s what I’d become. I’d been helping out with BeeWare for so long, not just getting the commit-bit for Batavia in April, that Russ saw me as part of the Core team. I mean, this entire thing is him, I thought I was just being a sounding board or a friendly ear, but it was more than that. I was helping and making a visible impact.
And to be frank, I have no real use for any of the BeeWare code. I mean sure, running Python in the browser is a cool trick that I’m now invested in getting working, but I’m now an operations engineer in the Haskell/Scala space. I have zero work use case for Python (apart from a few hacky scripts where I can, because Python), let alone anything in the browser. But it’s Russ’s unrelenting dedication to mentoring new developers and his pure passion for the project that keeps me contributing. Plus hacking on things outside of my normal day to day is fun!
Contributing to an open source project isn’t just a case of picking one and going nuts. Most of the time, it’s because you have to use it, and you find it needs a bit of work. It’s only in unique cases like the Beeware mentorship and Challenge Coin scheme that open source developers are forged where you get people playing about for the sheer joy and learning experience (plus, shiny).
If you don’t have a vested interest, emotion or passion for a project, you aren’t going to contribute. I now have this interest, and I’ve now been entrusted with the authorisation to help make it better. It’s a pretty huge responsibility, and it’s not without it’s risks. But it’s an honour, and something that is apparently getting me noticed around the place, so that’s kinda cool. I mean, I have my own FOSS work as well, but being able to say “I’m a core developer on BeeWare” is something that people understand comes with a lot of hard work and dedication.
And the shiny coin isn’t too bad either.
[1] Budapest is all Russ’ fault. I quipped that if he wanted a keynote speaker to rant about things to a Django audience, I was getting a bit rilled up about emoji at the time, and I could do something about that (Python 2 vs Python 3, unicode all the things etc). Russ suggested that a better vent for these frustrations would be a talk about emoji, and ‘with great power comes great responsibility’. Also, he told me that Baptiste was an emoji fan, so I should submit for this conf called DjangoCon Europe. And I got in. To a conference in freaking HUNGARY. WHAT.