OpenHatch: Making the first step easier


Baby, originally uploaded by gabi_menashe.

(This is a guest post by Asheesh Laroia of OpenHatch, an “open source involvement engine.” OpenHatch is a website and ongoing project to help new contributors find their place in free software projects. A few months ago, he imported some bugs in KDE’s bug tracker into the OpenHatch volunteer opportunity finder. I invited him to write about it for my blog. OpenHatch has its own blog, too.)

KDE is doing something wonderful with its Junior Jobs. These are issues (often small feature requests) that are appropriate for a first-time contributor. When maintainers create these opportunities, they take information that would otherwise be trapped in their head — how easy or hard an issue is — and make it available as hint to new contributors. Conveniently, creating a “Junior Job” doesn’t take any special work: maintainers just have to find the relevant bug in KDE Bugzilla and add the junior-jobs keyword.

But KDE Bugzilla isn’t necessarily a friendly welcome mat. Probably everyone reading this post can remember a time when Bugzilla seemed like a difficult, arcane tool. Bugzilla works well (enough) as an interface for project maintainers to share the status of what they’re working on with each other.

But imagine you are a prospective contributor. Aim your web browser at the list of junior jobs. (To get that link, I went to KDE Bugzilla and clicked the “Junior Jobs” link on the left side.) This is what I saw when writing this post:

Here are some questions I might have as a new contributor (and some commentary as myself):

  • What do “wis” and “UNCO” mean?
  • Who is JJ? (Maybe that’s a person’s initials; maybe he or she plans to fix it.)
  • What project are these bugs in? (I can guess from the assignee….)
  • Where do I get the source code? (The wrong answer might lead the new contributor to submit a patch against the most recent release; that patch might not apply against trunk.)
  • If I get started on this, who can help me when I get stuck? (Otherwise, a new contributor might make an effort, become confused by something, and fall away.)

I like to joke that bug trackers say lots of information about what the problem is, but they don’t provide any information on how to solve it.

We at OpenHatch noticed that a great number of projects were in a similar situation: they label bugs as “easy”, “bitesize”, or “Junior Jobs” and point first-time contributors straight at the bug tracker. So we created what we call the volunteer opportunity finder to help people find something to work on. It wakes up late at night to download issues from bug trackers representing hundreds of projects. (Since OpenHatch is itself a free software project, we also import the bitesize bugs from our own bug tracker.)

When you browse the available issues, you can click on the project name and see its page on OpenHatch. (We make one for every project that someone says they’ve contributed to, or where we’ve imported bugs for it.) The pages showcase the people who have listed themselves as possible mentors. Contributors can also write instructions or suggestions for how to get involved; for example, the page for Gally does a great job of answering “Other than writing code, how can I contribute?”

If you don’t know how to get involved, you can also browse opportunities by programming language, the kind of help you want to give (such as writing documentation) or flip through a few projects you might want to work on. You can narrow your search to just the ones we call “bitesize” (“Junior Jobs” in KDE, bugs labeled as “easy” in the Python programming language, and so forth).

So OpenHatch is a project to think through how people join free software communities and to build technical tools and social structures to make that better. This browsing tool is one thing we’ve built. It’s a community project, so you can help out! Say hi on IRC or email if you want to join in.

I’d like to hear (in the comments on this post) from you guys and gals: What do you think about our “volunteer opportunity finder”? What works about it for you? What would you change?

If Lydia invites me back, I plan to write about getting non-coders more involved in free software projects. During the weekend I first met Lydia and Jeff Mitchell of Amarok, I had a crazy idea for something you can build on top of OpenHatch. If you want to stay in touch until then, join our IRC channel or subscribe to us on Identi.ca/Twitter/RSS!

Community Working Group office hour

The KDE Community Working Group members (that would be Jeff, Anne, Ingo, Rich and me) would like to invite you to our first (of hopefully many) office hour. We’ll be on IRC to answer all your small and big questions about community, help you with problems and give feedback on ideas you have.

Please join us on Saturday, 28 August 2010, 18:00:00 UTC in #kde-cwg on freenode.

We’re currently considering doing this on a monthly basis if there is demand for it.

PS: We will of course continue to be available via email and private chat for urgent/sensitive matters.

KDE GSoC 2010 wrapup

Google Summer of Code 2010 finished. It’s been a blast again for KDE. Of our 50 students 46 completed the program successfully and one withdrew after successful midterm evaluation to start an internship he couldn’t say no to. Each of them has produced something really cool, has learned a lot and I’m sure also found a few new friends. Check PlanetKDE for updates on their projects. Thanks to each of our students and thanks x2 to our amazing mentors who once again rocked very much. And of course thanks to Google for making the whole program possible. A dot story including details about each project will follow soon – stay tuned.

Season of KDE hasn’t wrapped up just yet. Updates on that when it finished.

Oh and if you want to hear me ramble about GSoC and Season of KDE with the awesome Guillermo and Paul, go and listen to the latest KDE and the Masters of the Universe podcast.

unicorns and laser beams

As part of my computer science studies I needed to work on a research project which I finally finished not too long ago – the title: “Planning of 3-dimensional complex cutting trajectories for robot-assisted surgery”. I worked on a program for a robot-assisted laser surgery on bones (in particular the human skull). It’s written in C++ using Qt and VTK. My task was to work on the planning module. The surgeon can mark points on a model of the patient’s skull and then connect them either with straight lines on the skull or create more complex connections. This was then used in another module to calculate positions and movements of the robot that was handling the laser. Laser beams ZOMG! All this will hopefully help make skull surgeries safer and less invasive as well as allow surgeries currently not possible due to tool limitations.

Despite having contributed to KDE for a few years now pretty much all over the place this was my first really big C++/Qt coding experience. I’ve not really touched KDE code in all those years except a few small changes here and there. Unbelievable right? Not really. On the one hand I think that so far KDE was better served with me doing community work – and maybe always will? And on the other hand it was damn scary. Oh and of course there was no pressure to climb that rather huge imaginary mountain and learn all the stuff I’d need to actually be any useful in that area. This university project helped quite a bit with both now 😉 This is btw also one of the reasons why I think GSoC is so invaluable: It gives the needed pressure and incentive to not give up when things get tough that some people (including me) need.

The robot, laser head and a plastic skull:
setup spline cut (circle) after

Cut on the plastic skull:
finished spline cut (circle)

Cut on a part of a pig’s bone:
finished spline cut on bone

And the actual planning program:

Thanks to Jessica, my advisor, for having patience and letting me screw up a few times. Thanks to everyone working on Qt and VTK for letting me do amazing stuff.

Guess it’s time now to find a good KDE project to get my hands dirty on. Be warned 😀

Oh and next time a new contributor vanishes: Nudge them a bit. They might just be standing in front of that huge imaginary mountain and need someone to tell them it’s not actually that huge or give a helping hand. And if you’re standing in front of it yourself right now: Don’t give up! Take it step by step. You’ll get up there.

in need of some love and dedication

When walking in a big group of people you have to check every now and then for the slower ones so you don’t leave them behind and lose them. It’s the same in a community like KDE. Every now and then you have to check if everyone can still keep up and if not take the necessary steps. That’s why for the second time now I’ve asked KDE developers to tell me which parts of KDE they think really needs some new blood or more helping hands. This is the list of answers I got:

  • KDE bindings needs a maintainer for PHPQt and some helping hands for Qyoto/Kimono (the C# bindings). – contact kde-bindings@kde.org
  • KDEPIM looking for someone to work on Akgregator and the Kontact shell. – contact the kde-pim mailing list
  • Juk could benefit from a port to actual KDE Platform 4 technologies (away from KDE3 Support and possibly port Bangarang’s Nepomuk storage to Juk). – contact the kde-multimedia list
  • KOffice is in need of people poking Karbon and Kivio. – contact the koffice mailing list
  • KCalc, KFloppy, Kdf, KTimer and Sweeper from kdeutils do not have maintainers at the moment. Most of these applications are almost unused, but they haven’t been excluded from the module and might at least provide some fun to newcomers. – contact kde-utils-devel@kde.org
  • Okular could use some help fixing crashes and finishing features. – contact aacid@kde.org
  • UserBase is looking for people to help improve documentation. Tasks and guidelines are available on http://userbase.kde.org/Tasks_and_Tools. – contact annew@kde.org

Quite the mix – surely there’s something exciting in there for everyone. So if you are someone who wants to contribute to KDE and looking for a place to start or an experienced contributor looking for a new project, this is where your help would be really appreciated. Choose your direction and get your hands dirty 😉

street sign in china town

KDE SC 4.5 release parties – let’s get them started!

I’m back from conference touring (which was awesome btw – more about that later) and Tom reminded me that the release parties for 4.5 are not planned yet. And the release is planned for August 4th, so in a bit more than a week. OMG!

Clearly it is time to fix this situation and give the world a chance to meet some cool KDE people. So go to the 4.5 release party planning page and check if there is one near you already. If there is one then sign up for it and have fun. If there is none yet it’s time to start one. Pick a date and time (preferably within 3 weeks of release) and reserve a place in a local restaurant, bar, meeting room, university, whateverelsefits. Add it to the wiki page, spread the word and then have lots of fun.

Of course it’s my pleasure to announce the first of hopefully many release parties: Stuttgart, Germany on 7th of August. Exact place and time is still to be determined. Check the wiki page every now and then for updates.

For those who have never planned or attended a release party: You can do pretty much everything you want from simply getting together for a beer and chatting to full day event with talks, workshops and so on. It’s up to you. You can find a few tips on the community wiki. Everyone is welcome from active contributor to interested user. Just let the person organizing it know you’re coming so they can plan better.

teaching the KDE way

(more akademy blogs including write-up of my talks will follow later – just need to get this out before I leave to Portland to join Jeff, Valorie and Knut for the CLS and a bit of OSCON)

Not long before Akademy Tomaz told me about the awesome Qt/KDE courses he and his team are giving at Brazilian universities to a few hundred students each. (They seriously rock!) At the same time he was working with a student who wanted to do his internship that is required by university with KDE and I was in a similar situation looking for a topic for my diploma thesis. And I’m sure you’ve all heard about Kevin ruling French university students and giving them KDE projects to work on to help them learn how to work in a large distributed team and develop software in the open that is actually getting used by a lot of people. (Unlike a lot of the code I have written so far for university…)

So there we have a few KDE contributors doing awesome stuff – teaching students about KDE, KDE software and how we develop it. We sat down at Akademy with a few more people and talked about how we can adapt what Tomaz and Kevin are doing to other universities (and maybe schools?). And the first step in that direction is the creation of the kde-teaching mailing list. If you’re interested in helping out or are already doing something similar please subscribe. There is a lot of awesome waiting there (and maybe some cookies) 😉

Do you want to be a chair?

Ever had the urge to be a chair? Not the wooden kind with 4 legs. I’m talking about session chairs for Akademy. The program committee is still looking for session chairs and this is your chance to help out and do your part to make Akademy rock. (If you don’t have anything to help out with yet you should feel guilty right about now ;-))

What would you need to do? Easy enough. You pick a track you want to chair. At Akademy you’d help the speakers of your track get set up, introduce them to the audience and make sure they finish on time.

Sounds like something you could do? Awesome. Leave a comment, email me or ping me on IRC.

let’s move that source code so it doesn’t get lazy

So as you might have heard KDE is going to host its own git infrastructure. This means that the projects currently on gitorious will have to be moved one by one. Amarok and Konversation made the move yesterday to once again test the waters and make sure it is good to go for everyone else.

To quote Jeff’s email to the Amarok lists:

Amarok, along with Konversation, is trailblazing, and today the new official location of the repository is at git://git.kde.org/amarok/amarok.git

If you already have an existing checkout, simply edit the .git/config file and change “gitorious.org” to “git.kde.org” for the main repository (not any personal clones you may have in remotes).

If you are a committer, the clone URL is git@git.kde.org:amarok/amarok.git. SSH keys have been migrated from those used for your KDE SVN server account.

You can browse the repository via cgit at http://git.kde.org/amarok/amarok or via Redmine at the Project page on http://projects.kde.org/projects/amarok — both are still a work in progress (there is e.g. no KDE theming, and accounts on redmine have yet to be set up for all but a few of the KDE sysadmins), so please keep in mind that this is still a test infrastructure.

Thanks to our rocking sysadmins (especially Eike and Jeff) for setting everything up so quickly.

Please let us know if there is still any docu left to update due to this move that we missed so we can update it quickly.