Making Ubuntu More Personal: Identify Contributions To Engage More Personally

A few weeks back I wrote about my desire to make Ubuntu feel more personal for new and existing contributors. The goal here is to help community members to have a fulfilling experience in which there is a very personal sense of engagement (i.e. people care about your specific contributions and experience with Ubuntu).

I wanted to share some work that we have been doing along these lines to not only show you kind of focus we are trying to take, but to also hopefully inspire some of you to take a similar interest in achieving the same kind of personal experience.

This project started when Daniel Holbach and I were discussing how to reach out to prospective developers better to give them a helping hand. One thing that struck us was that we didn’t have particularly good visibility on the timeline of someone’s contribution as a developer. Sure, we knew folks who would reach out to us for help and assistance, we knew people who would come to UDS, and we knew active contributors in #ubuntu-devel, but we suspected these folks were only part of the picture. Many people contribute to Ubuntu and we often don’t know some of them, let alone have an idea of their work so far.

Part of the goal here is to have better visibility on what someone has done so we can reach out and guide folks through their Ubuntu development adventure. The concept of a significant and sustained contributions has always been at the heart of how we assess our contributors for membership and upload access to our repositories, but it is often difficult to get a real feel for the sustained part. Daniel and I were keen to resolve this and get a better overview of people going through our developer programme and how much work they have performed.

To this end, we fleshed out a plan to programmatically generate a series of graphs for everyone who who was using the Ubuntu Sponsorship Queue to get their work in Ubuntu (in other words, prospective developers asking current developers to review their work and upload it), and then use this graph as a means to see the commonality of their contributions and how sustained they are.

Daniel put together these graphs by parsing upload emails and and the graph looks like this:

This is how it works:

  • Each individual graph shows a different contributor who is currently using the sponsorship queue to get their work in Ubuntu.
  • Each graph has the same start and end date (19th Sep 2008 – 23rd Dec 2010).
  • Each spike shows the number of accepted uploads made to the archive (i.e they had an upload successfully sponsored by a developer). Please note: unlike the X axis in the graph, the Y axis does not share the same scale (e.g. the top graph ranges from 0 – 7.5 contributions and the bottom is 0 – 6).

So what do these graphs tell us? Well, they give us a reasonable indication of those people who are actively contributing to Ubuntu in a significant and sustained way. This page gives us an opportunity to instantly look at all the people currently engaging with the sponsorship queue and see their contribution history. This enables us to do a number of things:

  • Reach out to those people who have been clearly performing significant and sustained contributions and ask them if there is anything we can do to help, give them encourage and respect, and otherwise make their experience more pleasant and encouraging.
  • It can sometimes be difficult for a prospective developer to know when they should apply to be a MOTU or core-dev. This provides us with a useful resource to see significant and sustained contributions and recommend those developers to apply for developer approval.
  • It gives us a chance to see commonalities of spikes of activity and dips in activity and to see what those causes are.

When the graph was in place and looked over it, I asked Daniel to start reaching out to different people to offer this help and guidance and already we have seen some wonderful results. These folks seem genuinely happy that we have reached out to them, and here are two examples of their feedback:

“Thanks for getting in touch, much appreciated and shows how Canonical cares about its community.”

“I appreciate your direct correspondence, this kind of stuff is what sets Ubuntu apart.”

This is exactly the kind of sense of personal care that I am keen for us to grow in the project. I want to say a huge thankyou to Daniel for his efforts on this, and I am looking forward to suggestions for other areas in which we can build a more personal and human Ubuntu experience.

Originally posted by Jono Bacon here on January 21, 2011

Call for Nominations for the Developer Membership Board

Call for Nominations for the Developer Membership Board

The terms of 6 of the 7 members of the Developer Membership Board shall soon expire, and new members must be selected.

The DMB is responsible for reviewing and approving new Ubuntu developers, meeting for about an hour once a fortnight. Candidates should be Ubuntu developers themselves, and should be well qualified to evaluate prospective Ubuntu developers and decide when to entrust them with developer privileges.

The new members will be chosen using Condorcet voting, anticipated to be complete by 14th February. Members of the ubuntu-dev team in Launchpad will be eligible to vote.

Please send nominations to developer-membership-board at lists.ubuntu.com (which is a private mailing list accessible only by DMB members) prior to 19:00 UTC 31st Jaunuary 2011.

Originally sent to the ubuntu-devel mailing list by Emmet Hikory on Wed Jan 19 13:58:41 UTC 2011

Some Further Notes on Qt in Ubuntu

Mark recently blogged about plans to make Qt a first-class citizen alongside GTK in Ubuntu. He outlined the reason for the plan in the opening few paragraphs:

As part of our planning for Natty+1, we’ll need to find some space on the CD for Qt libraries, and we will evaluate applications developed with Qt for inclusion on the CD and default install of Ubuntu.

Ease of use, and effective integration, are key values in our user experience. We care that the applications we choose are harmonious with one another and the system as a whole. Historically, that has meant that we’ve given very strong preference to applications written using Gtk, because a certain amount of harmony comes by default from the use of the same developer toolkit. That said, with OpenOffice and Firefox having been there from the start, Gtk is clearly not an absolute requirement. What I’m arguing now is that it’s the values which are important, and the toolkit is only a means to that end. We should evaluate apps on the basis of how well they meet the requirement, not prejudice them on the basis of technical choices made by the developer.

Mark then goes on to outline some of the challenges (e.g. system settings), some of the solutions (e.g. Canonical are funding development from Ryan Lortie to build dconf support into Qt), and he also discusses how Qt apps should be welcome in the Ubuntu installation if they represent best-of-breed for the Free Software desktop. I couldn’t agree more.

Before Mark wrote the blog entry, he talked to the Ubuntu Community Council and the GNOME Board, and the Community Council asked for a short FAQ that outlined some of the likely common questions. I prepared it and thought it would be useful to share it here:

  • Why is Ubuntu shipping Qt on the CD in 11.10? – there are two drivers behind this decision. Firstly, the Ubuntu project is working to ensure that Qt application developers can write apps which fit into the Ubuntu desktop smoothly. It is important that Ubuntu, as a platform, address the needs of developers, giving them as much flexibility as possible while retaining a coherent standard experience for users. Secondly, giving developers the extra toolkit option should mean we end up with better apps all round as the range of apps for assessment and inclusion will be wider. The key criteria for evaluation of any app for inclusion are independent of the actual toolkit. We won’t ship an app by default that we don’t think offers a great experience, not just on a standalone basis but as part of the whole system.
  • Does this mean you are moving away from GNOME and GTK? – we will still continue to ship Unity and GNOME applications. The decision to support Qt in the default install is an additive decision. It is not intended to replace GTK+ or GNOME. Qt has proven itself as a high quality toolkit, popular with developers, and we want to be able to support this effectively in Ubuntu as well as Kubuntu.
  • Does this mean you are supporting GNOME less? – not at all. Ubuntu will continue to be built on GNOME technologies and ship GNOME applications. This decision is not reducing our commitment to GTK or GNOME, it is merely expanding it to include Qt.
  • Are you now therefore moving to KDE? – we have no plans to ship KDE as the default desktop in Ubuntu. We will of course continue to provide the KDE experience in Kubuntu.
  • How will you manage some of the outstanding technical integration issues? There are some areas in which Qt does not neatly fit into the Ubuntu desktop experience and Canonical is investing in resolving some of these issues with Qt. Our desktop team engineers will be performing work to first ensure Qt is a well supported component in Ubuntu, but also so it integrates as best as possible in the Ubuntu desktop experience. We are also going to fund the work needed to make Qt / QML apps talk dconf, which means they can share settings and setting-update behaviors with GTK apps very easily. This work is being performed by Ryan Lortie from the GNOME project under contract to Canonical.
  • Does this mean Qt apps could be included on the CD? – we’ll be open to Qt apps being included in Ubuntu if they are appropriately integrated. If an application integrates well into the Ubuntu experience, we would be open to its inclusion in a release to offer the best experience for Ubuntu users. By “integrates well” we mean things like: uses the dconf configuration system with live adoption of settings changes, follows Ubuntu font and theme settings automatically, uses our menu and indicator and notification system appropriately etc.

Personally, I think this is a great step forward. I used to hack with Qt many moons ago, and while I changed to use GTK as my preferred toolkit, recent innovations in Qt (such as the incredible QML) and it’s popularity with developers, makes this not only a wise choice for app authors who want to build Qt apps on Ubuntu, but also for Ubuntu users who will have a rich set of Qt apps open to them. This doesn’t change our relationship with GNOME or GTK, it is purely an additive decision, and I think it will serve our users well.

Rock and roll!

Originally  posted by Jono Bacon here on January 18th, 2011.

Qt apps on Ubuntu

As part of our planning for Natty+1, we’ll need to find some space on the CD for Qt libraries, and we will evaluate applications developed with Qt for inclusion on the CD and default install of Ubuntu.

Ease of use, and effective integration, are key values in our user experience. We care that the applications we choose are harmonious with one another and the system as a whole. Historically, that has meant that we’ve given very strong preference to applications written using Gtk, because a certain amount of harmony comes by default from the use of the same developer toolkit. That said, with OpenOffice and Firefox having been there from the start, Gtk is clearly not an absolute requirement. What I’m arguing now is that it’s the values which are important, and the toolkit is only a means to that end. We should evaluate apps on the basis of how well they meet the requirement, not prejudice them on the basis of technical choices made by the developer.

In evaluating an app for the Ubuntu default install, we should ask:

  • is it free software?
  • is it best-in-class?
  • does it integrate with the system settings and preferences?
  • does it integrate with other applications?
  • is it accessible to people who cannot use a mouse, or keyboard?
  • does it look and feel consistent with the rest of the system?

Of course, the developer’s choice of Qt has no influence on the first two. Qt itself has been available under the GPL for a long time, and more recently became available under the LGPL. And there’s plenty of best-in-class software written with Qt, it’s a very capable toolkit.

System settings and prefs, however, have long been a cause of friction between Qt and Gtk. Integration with system settings and preferences is critical to the sense of an application “belonging” on the system. It affects the ability to manage that application using the same tools one uses to manage all the other applications, and the sorts of settings-and-preference experience that users can have with the app. This has traditionally been a problem with Qt / KDE applications on Ubuntu, because Gtk apps all use a centrally-manageable preferences store, and KDE apps do things differently.

To address this, Canonical is driving the development of dconf bindings for Qt, so that it is possible to write a Qt app that uses the same settings framework as everything else in Ubuntu. We’ve contracted with Ryan Lortie, who obviously knows dconf very well, and he’ll work with some folks at Canonical who have been using Qt for custom development work for customers. We’re confident the result will be natural for Qt developers, and a complete expression of dconf’s semantics and style.

The Qt team have long worked well in the broader Ubuntu community – we have great Qt representation at UDS every six months, the Kubuntu team have deep experience and interest in Qt packaging and maintenance, there is lots of good technical exchange between Qt upstream and various parts of the Ubuntu community, including Canonical. For example, Qt folks are working to integrate uTouch.

I’d draw a distinction between “Qt” and “KDE” in the obvious places. A KDE app doesn’t know anything about the dconf system configuration, and can’t easily integrate with the Ubuntu desktop as a result. So we’re not going to be proposing Amarok to replace Banshee any time soon! But I think it’s entirely plausible that dconf, once it has great Qt bindings, be considered by the KDE community. There are better people to lead that conversation if they want, so I’ll not push the idea further here :-) . Nevertheless, should a KDE app learn to talk dconf in addition to the standard KDE mechanisms, which should be straightforward, it would be a candidate for the Ubuntu default install.

The decision to be open to Qt is in no way a criticism of GNOME. It’s a celebration of free software’s diversity and complexity. Those values of ease of use and integration remain shared values with GNOME, and a great basis for collaboration with GNOME developers and project members. Perhaps GNOME itself will embrace Qt, perhaps not, but if it does then our willingness to blaze this trail would be a contribution in leadership. It’s much easier to make a vibrant ecosystem if you accept a certain amount of divergence from the canonical way, so to speak ;-) Our work on design is centered around GNOME, with settings and preferences the current focus as we move to GNOME 3.0 and gtk3.

Of course, this is a perfect opportunity for those who would poke fun at that relationship to do so, but in my view what matters most is the solid relationship we have with people who actually write applications under the GNOME banner. We want to be the very best way to make the hard work of those free software developers *matter*, by which we mean, the best way to ensure it makes a real difference in millions of lives every day, and the best way to connect them to their users.

To the good folks at Trolltech, now Nokia, who have made Qt a great toolkit – thank you. To developers who wish to use it and be part of the Ubuntu experience – welcome.

Originally posted by Mark Shuttleworth here on Tuesday, January 18th, 2011 at 9:01 am

Ubuntu Weekly Newsletter Issue 219


Welcome to the Ubuntu Weekly Newsletter. This is Issue #219 for the week January 04- 17, 2011 and is available here.

In this issue we cover:

This issue of The Ubuntu Weekly Newsletter is brought to you by:

  • Amber Graner
  • Liraz Siri
  • Lyz Krumbach
  • Nathan Handler
  • And many others

If you have a story idea for the Weekly Newsletter, join the Ubuntu News Team mailing list and submit it. Ideas can also be added to the wiki!


Except where otherwise noted, content in this issue is licensed under a Creative Commons Attribution 3.0 License BY SA Creative Commons License