This is a guest post by Rick Scott, a Canadian philosopher-geek who’s interested in how we can collaborate to make technology work better for everyone. This post appeared on his blog for Ada Lovelace Day 2011.
Audrey Tang is far and away the most awesome hacker I’ve ever had the privilege to have worked with. She’s best known for creating Pugs, a perl6 implementation in Haskell. Though it’s now semi-retired in favour of the newer implementations that it had a role in inspiring, it represented a huge leap forward and a quantum shift in Perl6 development at a time when enthusiasm around Perl6 was sorely flagging. She was the first CPAN contributor to have uploaded 100 modules. She’s the key figure behind Perl 5’s internationalization, as well as the i18n of many, many other individual pieces of software. She was part of the committee that designed the Haskell 2010 standard, and has made innumerable other contributions to the open source community.
I never got seriously involved with Pugs, but many of the things Audrey did with it shaped my thinking around open source, community, and how we should collaborate. First was the idea that a project should be optimized for fun (-Ofun1), not for control, or strict adherence to the founder’s vision, or anything else. Second, whereas many open source projects keep a very tight rein on who has commit access and make getting a commit bit an arduous process, Audrey aggressively gave out commit bits to anybody who happened to wander by in the general vicinity of Pugs. Got a great idea? Here’s a commit bit, go implement it. Notice something missing in the docs? Here’s a commit bit; go add it. Ranting in IRC that something’s not working? Here’s a commit bit; go fix it. Extending this trust makes people feel welcome and want to contribute. It fosters an air of community instead of making prospective new participants feel as though they are looking at climbing (or worse, building) a pyramid.
Audrey would likely demur at my calling her brilliant, but it’s a fitting descriptor for her. She has a unique and penetrating insight into code and an uncanny knack for encouraging the people who write it. I count myself as fortunate to have been able to work with her and to be part of a few of the communities she’s had such a profound impact on.
1 -Ofun: -O is the compiler option that tells it how you want your code optimized. Audrey’s presentation on -Ofun [pdf] talks more about how to maximize the amount of fun in your software project.
This post is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Want to highlight a geek woman? Submissions are currently open for Wednesday Geek Woman posts.