denise: Dreamsheep labeled 'denise' and 'the suit' (the suit dreamsheep)
I wish to proudly announce that this morning, we passed a major milestone: 3000 bugs resolved.

Not only is this an incredibly amazing rate of development, it's so awesome to open the Bugzilla queries for all resolved and all resolved/fixed (which are the ones that were specifically resolved via a patch, not resolved because they were duplicate/invalid/not something we wanted to do/fixed by proxy with another patch, etc, and which is at 2656 bugs) and see so many different names -- many of whom I know had never programmed in Perl before joining us, or who had never programmed at all.

I firmly believe we have the best darn development team of any project out there -- and we have a lot of fun while we're doing it. Y'all rock, people. Pat yourselves on the back!
denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)
I saw an entry posted the other day where someone said sie was disappointed with (among other things) DW's development pace slowing down: new features being released more slowly, things that we were working on delayed/postponed, etc. And there were totally some valid criticisms in there, don't get me wrong! (In fact, I'm not linking it because I don't want there to be an overwhelming impassioned defense of DW in hir comments.) But that's one criticism that made me realize I've been doing a poor job of explaining precisely what's been going on in DW development and why there's been a paucity of user-facing changes, which can look to an outsider like there's a massive slowdown going on in DW development.

The answer is at once both very simple and very complicated: we've spent the past six months or so concentrating on paying down our technical debt.

So, what's technical debt, anyway? )
denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)
Conferences I/we will be speaking at in the next few months:

LibrePlanet 2010: March 19th-21st, Cambridge, Massachusetts: Panel on Recruiting/retaining women in free software projects. Chris Ball, Hanna Wallach, Erinn Clark and Denise Paolucci.

Web 2.0 Expo SF: May 3-6, San Francisco, CA. Build Your Own Contributors (One Part at a Time). Denise Paolucci and Mark Smith.

NCWIT Summit: May 18-20, Portland, OR. Women in Open Source. Angela Byron, Denise Paolucci, Kirrily Robert.

We have also pitched several talks to this year's OSCON, but speaker sessions haven't been chosen for that yet. If you'd be interested in having us come and speak at your event, you can contact me and Mark at and!

LCA talk

Jan. 20th, 2010 11:17 pm
denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)
The slides from our presentation are up here: Build Your Own Contributors, One Part at a Time. I'll post video when it's available!

(Now, to figure out what we're going to pitch for OSCON.)
denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)
The OTW's Archive Of Our Own goes into open beta in a few hours, and I wanted to say congratulations to everyone who helped to get it there. I certainly know what it's like to bite your nails in the last few hours before a thing you built has people moving in and beating down the doors!

To the best of anyone's knowledge, the Archive Of Our Own (or, as I've been seeing people calling it, the AO3) and Dreamwidth are the only two majority-female open source projects on the internet. We're also the only two projects I know of that have gone out of our way to encourage, tutor, mentor, and develop newcomers. We aren't run by the same people and we aren't working on the same end results, but we've swapped some ideas a few times, and every time I've talked to anybody at the OTW I've been impressed by their dedication, their determination, and their commitment to quality.

So cheers to the OTW code and systems teams, and I hope you ladies get a chance tonight/tomorrow to sit down, put your feet up, have a glass of your beverage of choice, and toast yourselves and your hard work, because you've certainly earned it. Tomorrow's the culmination of nearly two years of hard work. It's also only the beginning. I hope that everyone who's worked on the project finds it just as satisfying watching people use your stuff as we've found Dreamwidth. Congratulations to you all!
denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)
Ten things I am currently loving about the Dreamwidth development process:

1. We comment our code. We try to write code that reads like English, or at least like natural human syntax, and we put comments in there so that the next person who comes along (which might very well be the person who wrote it, four months later) can follow through all the logic and read along and know exactly what the logic was and why that one little fiddly bit is in there. If there's a $LJ::WILL_NOT_WORK_WITHOUT_STEAM_RADIATOR variable, we'll put a careful set of instructions for the dismantling and stowage of the steam radiator right above it in the code.
and more... )
denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)
The transcript and video of [personal profile] damned_colonial's OSCON keynote about women in open source are now available! Well worth a read/listen; she provides some really thought-provoking material.

After she presented the lecture, someone sent her an email saying (in summary) that encouraging beginners is all well and good for small projects, but for larger or more complex projects, it's impractical: beginners will make mistakes, the project maintainers will reject their patches, the newcomer will get frustrated and leave, and nothing will get accomplished. There was also a suggestion that in order for open source software to achieve wide adoption, it has to be high quality, with an undercurrent (if not outright statement) that a). newcomers' contributions won't be quality contributions and b). it's all well and good for small projects to encourage newcomers, but "real", serious open source projects should be staffed entirely by experienced developers. His point seemed to imply that the world is divided into programmers and nonprogrammers, and if you aren't born A Programmer, you have no hope of ever achieving that status. I'm not certain that was what he meant to imply, but it's what was there between the lines.

Skud copied me (and Mark) in on her response to him, in the hopes that one or both of us would have something to say, and indeed I did, because that attitude is exactly what drives people away from contributing to projects. Skud suggested I take my response and turn it into a blog post nearly verbatim, but after some consideration, I decided I'd rather rewrite it to be a little less off-the-cuff and a little more well-structured.

It's slightly facile to say that everyone contributing to Open Source was a beginner once, because some people are better at self-education than others, some people had the benefit of a university computer science degree, some people had the benefit of hands-on coaching from a parent or mentor in their teenage years, etc. But 'experience' isn't a binary, all-or-nothing quality.

If a project keeps turning away people who don't have enough experience for them, the end result will not be that project having a large pool of only experienced developers, while interested people who don't quite match the appropriate experience level go off, educate themselves, and return when they're qualified enough to match the project's requirements. The end result will be that project having a small pool of developers who are 'experienced' enough to meet the project's requirements, while interested people who don't match that level of experience go away and never come back. And because nobody stays with a project forever -- burnout, life commitments, and the lure of other shiny projects ensure that there will be perpetual turnover -- the project is likely to see its contributor pool slowly dwindling over time.

To that end, I've put together a list of steps that any project can take to lure in new contributors and ensure that beginners have a successful learning experience with them, without compromising that project's quality and professionalism:
Read more... )


Jul. 24th, 2009 03:51 pm
denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)
So, when Mark first brought up that OSCON was going to be around the time I was going to be out here, I thought, huh. I've always wanted to go to a tech/open-source conference, but I wondered if I'd get anything out of it. It made sense for Mark to go, because he could get useful things out of all the tech talks and network with all of the various people on the tech side of things. (And wait until you guys see what he learned there...) But under the theory of "nothing ventured, nothing gained" -- and especially once I heard that [personal profile] damned_colonial was going to a). be there and b). be talking about Dreamwidth -- I went ahead and registered, too.

I'm incredibly glad I went. I went to a lot of interesting talks, and had some great conversations with a bunch of really smart people who are doing a lot of really cool things, but the most awesome part of it was how so many people had heard about Dreamwidth. People who wanted to talk about the success we've had in encouraging new developers. People who wanted to hear about the lessons we've learned about what to do to keep people enthusiastic and active on the project. (And what we've learned about what not to do!)

It's easy for me to remember that Dreamwidth is a group project -- it's hard not to remember it, in fact, when every day I'm confronted with the evidence, in the form of a bunch of active, enthusiastic, committed people spending an incredible amount of time and energy to improve the code and the site -- but it's hard, for some reason, to remember that Dreamwidth is an Open Source community development project, no matter how much [staff profile] mark and I studied other OSS projects (both successful and less than successful) to see what lessons we could learn. I'm just not used to thinking of things like that; LiveJournal was always on the very periphery of the Open Souce movement, and up until now I've been approaching DW from the business end, more or less, because we agreed that was going to be my half of the contributions to making DW a successful business. I never intended to be sucked into the development end of the project!

So being used as an example of a successful Open Source project -- not once, not twice, but several times even! -- is surreal. And yet, awesome. It all doesn't seem quite real yet! There's a part of me that can't stop waiting for it all to fall apart -- for people to get bored or decide that they have more important things to do or find another project that they'd like to contribute to more than they want to contribute to us -- and another part of me that can't wait to see what it's going to look like in another year. If we're already doing this well, what else could we do?

Looking back at the Dreamwidth development process, and how we got from there to here, I have to say that one thing we did really, really well was actually not "us", but Mark: the fact that Mark took so much time in February-April to do code review, tutoring, and commit work (instead of hacking on his own projects) is what's gotten us here today. The people Mark spent time mentoring back in February are the people mentoring others now. And those people, the ones just starting out with us now, are going to be the ones teaching others in another six months or another year. I know Mark was frustrated at how slowly his own development was going back then, but he said to me, multiple times, that no matter how frustrated he was about not having as much hack time as he'd like, he knew it was going to pay off in spades.

(Which it has, and I am so, so incredibly lucky to have [staff profile] mark for a partner in this venture, because he gets it. I am thankful for Mark daily. He's a fabulous programmer and a great sysadmin, but what really makes him worth his weight in gold is the fact that he writes incredibly readable code, he comments his code appropriately, he writes clear and useful documentation, and he has good social skills. I can't imagine trying to do this without him.)

Even after the past few months of all my dev work, I still don't think of myself as a developer. [personal profile] damned_colonial interviewed me for a documentary on women in open source, and she made me say it out loud: "I am an Open Source developer." Apparently it didn't sound convincing enough, because she made me say it a few times until I really meant it!

I am an Open Source developer. This week has taught me that. I'm not "just dabbling" or "just doing a few things" or "just doing some cleanup". I'm helping to build something that thousands of people are using. I'm helping to run a project that's getting considerable community attention and interest. I'm encouraging other people to contribute to the project, and to learn with our project, so they can sharpen their skills and contribute to a project they feel passionate about.

I am an Open Source developer.

Maybe by next OSCON, that sentence will come a lot more naturally to me. I guess I can spend the next year practicing it. :)
Page generated Apr. 18th, 2019 08:17 pm
Powered by Dreamwidth Studios