22 February, 2011

Priorities: communicate and be a mentor!

I just reviewed and published the news.o.o article on openSUSE's GSOC participation. We're seeing quite a few ideas being added to our Ideas page on the wiki and some mentors have stepped up as well - but we need more. Seriously, if students are to pick openSUSE as an interesting organization to do a GSOC project, they need to have some exciting ideas! And mentors who can help them get the most out of their 8 weeks of hacking.

for openSUSE

For openSUSE, GSOC is a great opportunity. I've already heard marketing people talk about how cool it would be to have an Android app for people to read the Weekly News or follow planet openSUSE easily. Or how cool it would be if SaX, the well-known and missed-by-many X configuration tool for openSUSE could be resurrected (there is an idea and a mentor has stepped up already!). The build service team has added some ideas too but I bet other areas of openSUSE could also use some help. Having a student work 8 weeks full time on something which needs to be done is nothing to be sneezed at - even though it takes some time for a mentor to help them out.

But frankly, in my opinion the value of the code itself is nothing compared to the opportunity to gain a new contributor for openSUSE. Many students stay around in the projects they wrote code for - Cheese wouldn't exist (and be maintained!) if it wasn't for GSOC. And we all know how popular that app is at demo booths around the world ;-)


But we have the openSUSE 11.4 release come up! And once that is over, there is bugfixing to be done, work on the next release... We're all busy and not all of us might feel capable of helping a student out, or want to spend time on doing that. Isn't it more important to make sure 11.4 is a rock solid release?

I say no. Seriously. As any Free Software project, openSUSE gains and looses contributors all the time - people join but also leave because they get jobs, become to busy, loose interest or otherwise aren't able to contribute anymore. It is vital for us to keep working on getting new people involved. So if you have a choice between fixing that bug in Plasma NetworkManager for the upcoming release, upgrading that GNOME package in time, fixing OBS - OR spending time on mentoring.

What do you do? Think about the long term. Surely, having bugs in our release is bad. Most of us surely qualify as perfectionists and see the quality of their work reflect upon them. And having show stoppers chases users away. But. I am sure you have to agree with me that openSUSE will never be perfect. There is always another bug to fix. Meanwhile, in another 8 months we'll again be close to a release - and you'll have to do your work alone if you don't get help! It is surely more fun (and more effective) to be squashing bugs together than alone and to make that happen, you have to do something.

Blood, sweet and tears

You all put in your hard work in openSUSE and you all want it to succeed. So, you do that by working harder? Maybe. I don't deny that hard work is where it starts. But it is NOT enough, believe me. The difference between successful projects and unsuccessful projects lies rarely if ever in technological superiority or even in the hard work of the developer who started it. You can't do it all alone, and not until eternity either. For the continuity of your work as well as the quality it is crucial to have others who care about it.

So you have to spend time on helping others and getting them involved. You have to spend time communicating about your project. If others don't know about it, they won't use it nor help out. That is why writing a blog regularly matters - surely, I know many of you don't even have time to read blogs, let alone write them. But like other Free Software projects, we have many people who are interested in what is going on in openSUSE. Blogs, articles on news.o.o and even just mails to -project help them stay up to date and might convince them some day to help out. And once they make that step of coming forward to help, they need to be mentored. Be it for a GSOC project or in their own free time, it will be a challenge for them to really get into it.

We don't realize how difficult it can be to get involved. How big the step can be to set up a development environment, let alone send in a patch. Or even just ask for help. So you have to make that easier. You have to offer help. Write documentation, make people enthusiastic about what you do by communicating about it. And by making time for them when they need it. Even if there are urgent bugs - people matter more than code.


You might think you can't do it. Or that it won't help much. Maybe you've been disappointed in the past by someone who you've tried to help and it didn't work out. Well, get over it. Life sucks and things don't always work out. But if you give up, you don't just give up on some potential help. You give up on your project.

Sometimes you can blog many times asking for help and nothing happens. But I have also seen a simple call for help ("we need a developer to help out on our website, just mail me") result in 5-10 people step up. I am not kidding, almost 10 contributors in a week time after a single blog. And mind you, that blog was not special. It didn't have pretty pictures or a well written text. It was just a cry for help and it worked. And once those people stepped up, answering their questions and working with them resulted in a great product. Most of them are still active!

Step up

So we need you to step up. Decide for yourself: do you care about what you do? Do you want it to survive you and the company you work for? Then drop that bug you are working on and put your name on the Ideas page (HUGE credit to Manu Gupta for all the work he did for planning GSOC for openSUSE!!!). Blog more often, send a status report to -project (and CC the openSUSE news team in case they want to give it even more exposure). Communicate. And make time for anyone who even remotely starts to think about possibly helping you out. Document your code, keep it clean. And make sure it is crystal clear how someone can get involved.

Don't bother with pretty pictures if that is not your thing. Your blog doesn't have to read like an essay. Simple is enough. Perfect is the enemy of good, remember? But step it up. Without communication and mentoring, openSUSE has little future!