This weekend I had the pleasure of attending the Canonical sponsored FOSSCamp event. This event was invented to foster communications between the canonical members (read: employees) and their upstream partners. While I was invited to this event at the request of Jonathan Riddell, the kubuntu lead and KDE packager extraordinaire, I went to this event with the hopes of helping to represent KDE's interests within the distribution.
So the event took the form of a so-called un-conference. At the beginning of each day (Saturday and Sunday), there was a blank schedule where individuals or projects could write up topics that they thought might be interesting to discuss with the rest of the community that was present. There were a wide range of projects represented ranging from KDE and Gnome,to server side projects like Samba. I had the opportunity to attend a number of sessions unrelated to my original goals, where I believed that having feedback from KDE would be valuable, ranging from licensing to packaging.
I had several very distinct topics I wanted to cover at this event: attempting to improve translation synchronization and integration of the distro translation teams with the upstream translation teams; upstream patchflow; general information sessions about KDE 4 technologies (so they know what to expect); a "GPL 3 Fun" topic; a session where we got to show off the KDE 4 EDU stuff to the Edubuntu folks and a session on the potential adoption of Package Kit. I will briefly touch on the general mood and results of each topic, since these are the ones I find to be the most important based on the original feedback I got from the KDE community before attending this event.
First, however, I would like to say that I am much happier about the state of kubuntu and ubuntu after attending the event that I was going into it, so while some of these comments may have a somewhat negative tone, I would like to stress that I am generally very happy with the openness with their communities which lead to this event happening in the first place.
Alright, so one of the first sessions I attended was dealing with the information flow between Rosetta (Canonical's in-house translation software) and the upstream projects that it should be syncing with more regularly. This talk was initiated by Og, one of the Brazillian Portuguese translators for Gnome (and occasionally KDE these days too). The apparent original problem is that the translations are only pulled from upstream on a very occasional basis, so that over time, things begin to get out of sync with each other. In addition, while this tool is very good, it results in a separate translation team at the distro and upstream levels, where it might have been more efficient to just do the translations upstream. However, it should be noted that this tool has resulted in a number of additional translations becoming available to the open source community
Mark was at this session to defend the current system, and I must say, he might give Aaron a run for his money. I'm not sure who's underwear we should be eating, but with their personal charismas, either of them would likely be able to convince most people that eating their own underwear is the most reasonable course of action. So while in retrospect I am not happy with the result of this particular session, as it's not likely to change greatly in the immediate future, I did find a lot of common ground with Og, since Gnome is apparently suffering from pretty much the exact same translation problems as we are, when dealing with the distros maintaining their own translation tools.
Shortly after this session, I attended a discussion aptly labelled "GPL 3 Fun", which was mostly a discussion with the FSF folks about the adoption of GPL 3 and some of the issues that have arisen. Fortunately for me, I got booked with one of the Samba developers, Dan Shearer, who is a very solid proponent of their transition to GPL 3. It seems that Samba has been squarely in the patent cross hairs for a while now, and their jump to GPL 3 was more to protect their own skins rather than due to prodding from the FSF or similar reasons. Unfortunately, switching Samba to the GPL 3 is creating headaches for KDE, since Qt (as well as portions of KDE) are licensed under GPL 2-ONLY. The side effect of this is that our GPL 2-ONLY libraries and applications cannot legally link to a GPL 3 (or 3+) licensed library. This is not a result of the GPL 3 not permitting this sort of linking, but rather, it's a result of the GPL2 saying that you cannot link to a library that is /more restrictive/ than the GPL 2, and since the GPL 3 is more restrictive, we get a sticky situation. This has prompted further discussions about the future of KDE's FLA plans and when/if Trolltech will permit GPL 3 as a license on Qt.
One of the other issues raised by the KDE community that we had a decent chance to tackle is the lack of upstream patch flow from distributions in general, and kubuntu specifically. One of the problems with the patches that are generated at Canonical is that they are usually very large, sometimes megabytes in size, mostly due to automated patching of the build systems, or similar distro-specific changes. We looked, for example, at a Kaffeine patch that was a solid 950KB in size only to find a few dozen lines of actual code that had been modified. Sending these patches to an upstream maintainer would be a total disaster! and it is one of the reasons for the poor upstream flow. The upstream projects (KDE, Wine, Gnome, etc.) attempted to impress upon the Canonical types that this is not really an acceptable solution, and that making those sorts of patches available (via patches.ubuntu.com or merges.ubuntu.com) was no better than not sending the patches at all. The general impression from the upstream groups was that it was Canonical's responsibility to make patches in a reasonably discrete manner, which may in fact be possible in the future using some sort of Canonical revision system. However, we also impressed upon them that an email that notifies the maintainer of a patch, and where to obtain it if they care to look at it would be a minimum sort of communication that we would expect. Apparently this may be possible for them to implement using the same mechanism they have in place for sending patches to the debian package maintainers, but hopefully we'll hear more on this process in the future.
So while on the above three topics, there was very little solid progress, other than opening up the initial communication channels, there were other things we discussed that were surprisingly productive and/or well received.
The first thing in this category is PackageKit. There were a number of individuals representing RPath (an ISV-centric distro) present who have already migrated to using PackageKit on their upcoming systems. This is remarkable since PackageKit was only really announced by Richard Hughes a few months ago. The upstream feedback to PackageKit at this event was absolutely overwhelmingly in favour of it's adoption by the distros in order to make our lives easier, and to help prevent the need for 50 different package manager frontends being written that do the exact same thing.
The result of this general enthusiasm is that Canonical will likely move forward with the adoption of PackageKit in the near future, although they will need some time to make some adjustments to their own packages first. For example, PackageKit does not permit interactive questions (like agreeing to licenses) during the installation process; dpkg does. As a result, the few remaining .deb's that still require interactive feedback during install will have to be adjusted to be non-interactive. This particular issue is not relevant to some other backends, as many package systems do not permit interactive user prompts during the install process.
In addition, a few local redhat hackers were present at some of these discussions, and it appears that they are in favour of adopting it for Fedora as well. Not bad for a project that is only a few months old :)
Lastly, as far as my official role in discussions at this event, I had the help of Robert Knight and a couple of local Amarok developers (Leo and Jeff) in presenting a number of the new KDE 4 technologies to the *ubuntu crowd. In some cases, we were getting very good feedback from the rest of the group, although attendance in the sessions could have been higher.
We broke this into two segments in order to give the various technologies adequate coverage. On the first day, we took an hour to talk libraries and technologies only! This was a pretty packed session with many Canonical notables present, including everyone's favourite space-man. They were impressed by Phonon, Solid, and Strigi, but were more impressed that most of the technologies we were pimping for KDE 4 were being implemented in ways that we were not locking out competing technologies, and in some cases (like strigi), fostering the creation of protocols like XESAM in order to ensure that users of applications from competing desktops were not left out in the cold. This section was very well received, and there were many questions.
In addition, we talked specifically to the Edubuntu folks on behalf of annma (who would have been present herself if she was not stranded in France due to some silly labour dispute). We showed off the KDE 4 EDU applications to the three or so Edubuntu developers who were present, and if things go right, they will likely be included in the next Kubuntu and Edubuntu distro releases as the default, even if the rest of KDE 4 is not yet considered ready to go. We also opened up some communication lines with their developers to help get feedback on the education applications upstream, which will be good. They gave us a great example of how the Cigar that was present in older versions of ktuberling had to be removed by them in some cases since the educational district objected to it. This is the sort of feedback we need getting upstream, and this should happen more frequently in the future.
Lastly, on the last day, we managed to procure a compatible projector, and after the usual half-hour of fiddling required to get a second display working on Linux, Robert was set up and ready to go with a demonstration of many of the KDE 4 applications. The attendees for this one didn't really overlap from our libraries and technologies discussion of the previous day, so we got a few more interested people to come take a look. Unfortunately, attendance at this presentation was lower than we had hoped it would be, but I think it had more to do with people going for lunch than a lack of interest.
We managed to do the demo without a single crash, showing off Plasma, Dolphin, Konq, Konsole, Okular, Marble, KDE EDU stuff, KWord & KPresenter using the music flake, and more. Then we had Jeff spend about 15 minutes talking about Amarok 2.0, which was working well enough to do the presentation. I am more impressed with Amarok 2.0 now than ever before, but Jeff really hit the nail on the head when showing it off: Amarok 2 is really the perfect demonstration for KDE 4 technologies since it uses almost every single new thing we've brought in for 4.0. He showed devices showing up via Solid, playing music via Phonon (including comparing the Phonon engine source to the Xine engine sources), using the Oxygen style and icons, tracking media files using strigi, integrating lib plasma, using Qt's Model/View to quickly switch between playlist styles, and much more. Unfortunately for those that are waiting impatiently for Amarok 2.0 to arrive, it (much like KOffice 2.0) will arrive a few months after KDE 4.0 is final. We will probably, however, have a decent beta release very near the time of the KDE 4.0 release, which will work out nicely for most people.
Anyway, we had good feedback on our demonstrations as well and may have convinced a few more people to give KDE 4 a long look when it is released. I'm particularly happy at how well the demonstration went, and that not a single thing blew up on us the whole time!
Well, I will blog about some personal impressions of other projects and discussions later, in the meantime, I'd like to say that I'm pretty happy with a few things that Canonical has committed themselves to doing, but there is still room for improvement in many places. I was happy to see a few people from Debian, Redhat and a few other distros present at this event, which goes a long way to show that Canonical is committed to open source's general spirit of cooperation, and not just their bottom line.
Cheers folks.
- Log in to post comments