Story of a patch, or: united we stand

Recently Fedora’s Lukas Tinkl pushed to kdelibs (for the 4.10 release) a patch that enabled Solid to talk to udisks2, which is a replacement for udisks. Fedora already moved to udisks2 (and killed HAL) and future GNOME releases will only use udisks2, so the need for a working backend was a necessity, and at the same time they acted like good open source citizens, and pushed the code both to 4.10 and the KDE Frameworks branch of kdelibs.

Unfortunately, there was a snag: the code was there, but not getting compiled. But no one noticed, as Fedora was patching the CMakeLists.txt during their build process (it wasn’t a mistake: they were removing things they didn’t need from upstream KDE, such as Solid’s HAL backend). At the same time, Alin on the openSUSE Factory mailing list noticed that with udisks2 he didn’t get devices offered by the Device Notifier widget.

So that’s where myself and Raymond, an openSUSE member and contributor, went to investigate the issue. Indeed, there wasn’t any reference to the UDisks2 backend in the build system for Solid. That’s where Raymond took off, and started to adapt it. At some point, we were stuck, so I pinged the helpful Rex Dieter from Fedora and he directed me and Raymond to #fedora-kde. There a quick discussion with Lukas Tinkl himself and Kevin Kofler helped ironing the final thigns out. In the end, Raymond produced and pushed to KDE’s repository a patch to enable the building of the backend.

What’s the lesson learned from this? That despite distro wars, differences, and even heated debates, collaboration is still a key aspect of FOSS. And in the end the talks between upstream (myself, although I’m not a professional coder by any means), openSUSE (Alin, Raymond) and Fedora (Lukas, Rex, and Kevin) ended up with an improvement that benefited KDE and by association everyone using it.

In short: FOSS rocks also for this.

_Note for Planet openSUSE readers: _This is my first post for planet openSUSE, so hello to everyone. Perhaps a proper introduction will come later…

Dialogue & Discussion