20 March 2009

Ubuntu Developers Aren't Scary

Seriously, they're not. At least, I don't think they are anymore. They used to scare the crap out of me.

The first time I joined the #ubuntu-devel channel (slightly under a year ago) and said "hi, um, I have a patch. What do I do?" I was all scared. Jordan Mantha (LaserJock) popped up and offered to make it into a debdiff since I said I didn't know anything about packaging. The patch ended up not being usable because um, oops, memory leak. Wait, what? No teasing about making a newbie mistake like that? And I actually got credit in the changelog for figuring out what's wrong and how to fix it? Wow. Hmm, helpful people, not arrogant about what they know that I don't? Maybe being developers doesn't have to automatically make them scary. Maybe.

Soon after that I became friends with Jordan and with Daniel Chen, who lives nearby. Daniel showed up to our LoCo's Gutsy and Hardy installfests, and at the Hardy one I convinced him to start mentoring me on how audio works. They're both nice guys, just know that mentioning brokenness in QA to Jordan or in audio to Daniel will very likely result in a long, drawn-out analysis of the situation. You've been warned.

OK so at that point, those two stopped being scary, and the rest stayed frightening. Skip to last October, when I went to the Ohio Linux Fest (be there! we're having a Women in Open Source event on Sunday, so let's get that female:male ratio up, alright?). Wow, a whole bunch of Ubuntu and Kubuntu folks showed up. Rich Johnson, Jorge Castro, Jono Bacon, Greg Grossmeier, Steve Stalcup, Jacob Peddicord, and more that I forget. Guess what? It turns out they're all really nice people too! Well, Rich has his moments. Better without the beer...or tequila. Oh, and don't drunkenly moon Jono unless you want to relive the experience, sober, in front of 1200 people. Moving on…

So I think by that point I was probably subscribed to ubuntu-devel-discuss. That's a mailing list I recommend you join if you want to contribute. That's where discussion between users and developers happens. If you've got an idea and want to flesh it out enough to put up on Brainstorm, or are taking a Brainstorm idea and trying to figure out the technical details to write a specification, get opinions on how possible it sounds, etc. go there. It's a more relaxed atmosphere than either the ubuntu-devel mailing list or #ubuntu-devel. It tries to bridge the gap Amber noted in her 'Community v. "Community"' post.

About a month ago, I started setting my IRC client to join #ubuntu-devel by default, and I subscribed to the ubuntu-devel mailing list. On the mailing list, I'm much more talkative than on the IRC channel. It's more discussion-oriented than the channel, it seems. The channel seems to be more full of terse "<Y>X: did you upload $package? <X>Y: no, not yet, writing changelog now" sort of stuff. At that point, I still felt like ducking behind a couch every time I spoke in there, in case anyone cyber-threw something at my head. I don't feel like that anymore. Just lurking and seeing how interaction works there has made it less scary. It's not that they're trying to be scary. They're just trying to be somewhat professional. Sometimes I'll look into the channel and see someone make a joke. And every morning, without fail, Daniel Holbach says "good morning" to the channel when he wakes up. And then it's a reminder that "oh yeah, they're normal people too."

Oh, I also started joining #ubuntu-women and #kubuntu-devel around that time. Lydia is a KDE developer that's almost always in #u-w. She's really nice and helpful. And of course, everybody (except IRC spammers) loves Sarah Hobbs, AKA Hobbsee. I know, it's sad that I can't think of other women developers. Where are you, ladies? Why aren't you in #ubuntu-women? Women who aren't involved: why not? We in #ubuntu-women will show you how. Why do you think that channel exists?

Why am I writing this? Well, the point is: the Ubuntu Developers aren't scary people. They're actually really nice people. So if you're intimidated by the prospect of speaking up in development related areas when you've just started out and can't point to a list of things you've done, remember: they're not scary, they're unfamiliar. There's a difference. The image of developers being way up high, far from users, knowing how everything works, and not making mistakes? All in your head. Why do you think there are so many bugs? ;) Please don't be afraid to help out because you think you're not good enough. You'll learn. Everybody involved totally sucked at this stuff at one point.

Oh, and Daniel Holbach and Scott Kitterman both agreed that when they started out, they also found the whole thing intimidating. To lower the intimidation level, read on: Scott doesn't know C. Neither does Jordan. Daniel says pointers are his weakness. Mine too—especially when passing them into functions. I put in one & and get a *? Or do I put in a ** and get a *? What if the function declaration wants a **? And like I said, my first patch attempt in Ubuntu had a memory leak (Steve Langasek caught it, it didn't get to the archive, don't worry). And that doesn't make everybody go "you can't code, go away" when I try now.


JontheEchidna said...

Shell scripting is my sekret weakness; the limit of my knowledge is basically enough to get around in a debian/rules file. :P

Nice post anyways, and I agree. The ubuntu developers were a great bunch when I started contributing. (And still are) :)

Anonymous said...

Motus are though ;)

Mackenzie said...

haha MOTU *are* Ubuntu Developers!

nixternal said...

That tequila was good! I was never scary, though everyone says I am. Why do I look scary dangit? I am a nice guy, except when I drink tequila :p

Anonymous said...

Good post.

By the way, #ubuntu-devel tends to be a bit more chatty when we aren't in freezes - people are collaborating on how to do things, in the most effective way, etc, and still doing "features" rather than madly getting everything required into the archive.


Anonymous said...

Binky can help you with pointers:


And yes, it is easy to start contributing and collaborating with Ubuntu developers.

Anonymous said...

I dont know...

Reading this makes Linux SOUND fun but... I just for some reason CANT get my head wrapped around it...

I mean I tried UBUNTU like a year or two ago and it just seemes like FOREVER to get it up and running and to get everything the way I want it. I think thats why I am scared of Linux and intimadated by it...

I have stuck by windows since that year last year because, I am afraid of that UNKNOWN that feeling that I might not have every program I am use to on windows :( . Like, for my blog I use WINDOWS LIVE WRITER but for the Linux world THERE IS NO WLW. to publish your blog enteries! Ouch!

I just like how I can turn on my computer and XP LOADS..... Aim comes up at start up and all I need to do is click on OUTLOOK to check mail or IE to browse the interner.

Like I use IE 8 and OUTLOOK I know theres Evolution but I mean you have to SUDO THIS and that to get your music to work and this and that and I just got so frusterated with the setup.

I keep reading this blog because its INTERESTING about the linux world. Its like I am looking though a door at what you guys are doing, but I dotn want to be seen so I hide behind the "DOOR" that way you guys dont " CATCH ME" Lol sort of speak. But it has my interest.

*Sighs I dont know * I am a huge debater Lol I always debate myself on new things and diving right into it!

--- Christopher


eric.john.miller said...

I've been using Ubuntu Linux on my laptop for a few years and love it. At my day job I write C# Windows desktop applications. Where does a middle aged Windows developer go to get started helping out with Ubuntu?

Mackenzie said...

I highly recommend you give Jaunty a try some time in May or June. I'm saying May or June because then there'll be time for any big bugs that are hit during the release-day-rush to be worked out. I'm also suggesting Jaunty because wow...current Ubuntu versus the one I started with 2 years ago? HUGE improvement! Evolution shouldn't need sudo for anything, and really, there's not much that requires the command line nowadays. We have GUIs for most stuff. If someone's giving you directions, just ask them for the GUI way to do things.

You know Tomboy, the note-taking app that comes default with Ubuntu? And F-Spot, the default photo manager? And Banshee, the not-default-but-popular music manager / player? Those are all written in C#. If you're interested in the programming type of development, take a look at those applications for bugs you can fix.

Anyone else interested that can't program:
- Packaging
- Documentation
- Translations
- Patch testing

Dustin Kirkland said...

Ubuntu Developers are an excellent community, in my experience. I had 8+ years of Linux and open source development experience before joining the Ubuntu community. I received a lot of non-scary help learning about Ubuntu practices and Debian policies.

Great post, maco.