Why not contribute?

A while ago I asked “what’s stopping you from joining KDE?”. It was really a rhetorical question but, thinking about it, it is something I’d be interested to hear answers to.

It could be you... (Image: victoriapeckham CC-by)

It could be you... (Image: victoriapeckham CC-by)

There’s an interesting blog post (thanks to Lydia for sharing this on Identica) that points to some possible reasons. It seems the top ones are:

  1. Not enough time
  2. Not sure where or how to contribute
  3. I’m not confident enough in my own skills

What stopped me?

Thinking back, there were a few things that delayed my own involvement with KDE. Time was a big one: I didn’t want to be that guy who turns up, makes some suggestions and promises but never delivers, so I waited for when I might have more time. I knew where I would start (Dot articles) but there was a bit of a lack of confidence in my own knowledge too – that I’d get found out writing about stuff I don’t understand as well as all you guys. I still get that , but hopefully it just makes me do my research a bit better ๐Ÿ™‚

There is never a good time

Eventually, I realised that I will probably be busy for the rest of my working life. Actually I realise now that I had far more time when I thought I was too busy than I have now. The result is that I am that guy who turns up, makes suggestions and promises to do things but doesn’t deliver ๐Ÿ˜‰ Most of us are. But the thing I realise now is that a lot of people doing some of the things that need doing some of the time can achieve quite a lot. It really is better to light a candle than to curse the darkness.

You don’t know enough, but then – who does?

When you start contributing, you’ll likely realise you don’t really know what you’re doing and chances are you will screw up (but people are nice about that, generally). But you will be bringing in some skills that others don’t have. Perhaps you’re a native speaker of a language we need to use for a press release (so you can instinctively see when something doesn’t sound quite right) or you have language skills that allow you to translate useful information or act as a bridge to KDE communities around the world. Perhaps you have useful contacts in education, among artists or in science that allow you to put (potential) users in touch with developers.

Start where you want to start

The possibilities for contributing to KDE are vast. Jos (and us other promo peeps) would like your help, but there are plenty of other options too. There can be few application teams that wouldn’t welcome more developers and we always need artists. Whatever you want to do, you can get involved.

So, why not contribute?

If you would like to help out, but there is something holding you back then why not tell us? We need people and if there are things we can do better to make contributing easier it would be great to know.

14 Responses to “Why not contribute?”

  • Heine Salte says:

    This is something I’ve mulled about for many a year now, and still I can’t seem to find my entry point into contributing.

    My problem isn’t really time, as I often have swathes of time at work where I just play solitaire instead.
    It’s really just…not finding my way into it. I sometimes feel like a little mouse looking at a maze some one million square miles, and with five hundred entrances. Where to go, what to do…

    So, I walk aimlessly about, with a desire to help, to give something back, and perhaps one day be able to affect where something is going.

    Communications, writing, people skills are not really my thing.
    Also, I couldn’t draw stick figures if my life depended on it.
    I have hundreds of small unfinished c++/qt projects lying about my hd, but I never seem able to se it through, as I always hit a hurdle, and I can’t get past it, so I start anew.

    Why am I still writing? Who knows, maybe I want someone to hold my hand, and help me help? ๐Ÿ˜›

  • regisg says:

    For me, It was that I couldn’t find a way to contribute in a way that goes well with daily job ( web developper ). I wanted to find a project which will be primarily useful for me. The good news is that I think I’ve found it : I would like kdevelop4 + kde to be the best way to work on Symfony’s php framework. I’m waiting the final release of kdevelop4 to se what the php plugin does and what can I do to create a kind of symfony support.

  • Craig says:

    I am also suffering from the problem of where to start. I’ve contemplated working on bugs, scratching an itch in regards to some issue I see during my day to day usage, but I have yet to actually sit down and dig in. I seem to register for the mailing lists, download the sources, and get them building, but never get any further. I’m also unsure on what suggestions I can come up with to help people like me go from just having the desire to contribute to contributors. I hope to someday, hopefully sooner rather then later, overcome this issue.

  • castarco says:

    In my case i don’t contribute for many reasons:

    ยท I haven’t time (i haven’t much time to sleep too :s )
    ยท KDE is too big and heavy, I believe that’s necessary to create lighter desktops
    ยท and.. the packages in debian/ubuntu distros are heavily interdependent.. i don’t understand why kate packages depends on phonon packages, for example. If I want to install Kate in my system i have to install a lot of packages not directly related with kate..

    The problem: I think i haven’t the skills to change this, and the things i mentioned are the things that i want to change, not others, and.. I’m not sure that the kde architecture allows to reduce the interdependencies of its programs and modules.

    Probably i said a lot of things wrong, (because i don’t know kde very well, and because i don’t speak english very well xD), but the image of kde i have in my mind is that i described.

    I remember when i was using kde3, and in that moment i was happy, but with kde4 .. ufff ๐Ÿ™ .

  • Adam says:

    Jesse Noller just asked this question about Python rather than KDE. He hasn’t written a follow-up yet, but you might want to follow the discussion:


  • blam says:

    What stops me from contributing is a) the GNOMEish attitude that has entered KDE with Version 4 (just look at Okular and its non-hideable sidepanel) and b) that I’m currently busy with my study.

  • keith says:

    What stops me is I don’t know where I want to work. And also I’m not confident in my skills.

  • Chakie says:

    For me it’s mostly a case of where to start? I consider myself a pretty good Qt developer and am very familiar with various ways of developing pure Qt apps, both desktop and embedded. However, I have a hard time seeing myself dive into the immense code base that is the KDE libs. Once you manage to learn some API it’s already obsolete and about to be replaced by the Next Big Thing. Apps also feel so big that it’s a huge task to “start fixing something” and the bugs that I see that actually annoy me seem to be deep down in the maze like foundations.

    So I “contribute” to the Open Source world by working on Qt applications.

  • simion314 says:

    I also make opensource Qt programs. The diference betwen kde and Qt is huge . Kde documentation is bad, kdevelop is not stable yet. The applications are huige and complex, no documentation. I tried contributing to kopete and fix some bugs, and it was imposible , there are a lot of classes, a signal starts from a class then it caught in other and send again to other class and over and over again untill you do not remember where you started.
    I think this application need some flowcharts to describe how it works.

  • keith says:

    I agree with simion314. I’ve looked at a lot of apps in kde4. some are not documented at all are barely any at all, while there are a few that are. Some apps have like 4 classes in a single header and source, which also makes it hard to read.

    I would love to see KDE’s documents be more documented than it really is. Is there a way we can request a day or week to just documenting code? I know it would be really boring or just start urging applications and libraries to get documented.

  • Stu says:

    Lots of interesting points – thanks.

    Re knowing where to start, does http://techbase.kde.org/Contribute/Junior_Jobs help at all? I suppose (but I’m no coder so I don’t know) it is tougher to understand and contribute to a codebase written by other people than to start your own. If our documentation is lacking then clearly that makes it harder. Documentation is, unfortunately, probably not really a fun thing so with a largely volunteer community perhaps it tends to suffer

    @ regisg – great, I hope that works out. Did you already get on the mailinglist? (http://www.kdevelop.org/index.html?filename=mailinglist.html I think)

    @ Adam – thanks, that is interesting (seems a pretty happy community – lots of people seem to not contribute because they think Python is doing fine already)

  • Spudley says:

    The biggest barrier to entry for me has always been the sheer depth of the learning curve.

    In my mind I say “I want to help with KDE”, but then where to start?

    I would say that KDE (and indeed most open source projects) need to be much more accessible to the absolute beginner.

    When I say absolute beginner, I don’t mean someone just learning how to write code — I am already an experienced coder — what I mean is someone who doesn’t know the APIs or the concepts used by the project, and doesn’t have the time to trawl through the documentation trying to find out.

    In other words, a large and easy to follow section for examples. In multiple languages.

    Case in point: There was a recent competition on the KDE site to write a Plasma applet. I thought to myself “I know Javascript; this could be a good chance for me to learn a bit about Plasma”. But when I tried browsing the links to the examples and documentation, I just got page load errors, so I gave up. I tried later after the competition was over, and the pages did load, but I found the examples insufficient, and I still couldn’t find the full API documentation.

    It may be that I didn’t look in the right place or spend long enough looking for it, but to be honest, it was enough of a stumbling block for me that I just didn’t even get started. I may go back and have another look at some point, but it really needs to be easier to find and more of it.

    Getting started in more complex software seems to be even harder. I have tried to find useful documentation for some of the smaller apps, but it all seems very haphazard. Maybe the core KDE projects are better organized? I don’t know; and at this rate I’ll never know, because I’m not going to dive into those without wetting my nose on the easier stuff.

    Thanks for listening. ๐Ÿ™‚

  • Noname, Nologo says:

    Ok, it’s a bit much, but…
    te more kde versions, the more w-like…
    Please, no more 500×500 icons (icon=hieroglyphic writing), no more 200 Gb icon packages, no more personal data in hidden (very good hidden) files/directories, and configurability, CONFIGURABILITY !!! and docs, docs, DOCS !!!

  • tadeusz says:

    In my opinion the main bottleneck is switching from running SVN trunk to writing a first patch or two.

    Weak points that put me off in the past:
    – api.kde.org is slow, difficult to search, lacks examples. Way beyond Qt’s docs at doc.trolltech.com.
    – few junior jobs hidden in the depths of bugs.kde.org
    – bugzilla is difficult and cumbersome to use (again, compare with Qt, which uses JIRA)

    Strong points that kept me encouraged:
    – IRC channels on the freenode always friendly and insightful.
    – planetkde.org blogs that showed new and exciting developments.
    – non-programming help from translators, SVG artists etc.