Give Jono a Break, Grow the Community

From today’s Q&A with Jono Bacon. I need to use Jono to make a point, so apologies in advance. At 53:00 in the video Jono says is spending 14 hours a day working on Ubuntu. This despite having a brand new baby boy and a awesome meat smoker to contend with.

I say this isn’t fair on Jono. There is no reason why someone should be giving 175%. 14 hours a day is 70 hours a week; That’s more than the 40 hour week enshrined in the European working time directive for office workers; more than the 48 hour maximum safe working week for junior doctors; even more than the 60 hours a week that the Tory government want to change that to.

To put this into perspective, a balanced week would typically or ideally include 56 hours sleep, 40 hours work, 72 hours recreation, responsibility and relationships. But Jono does 70 hours, how can anyone be a good positive cheerleader with that sort of workload?

Responsible Indigestion

I think there is some blockage with the vast array of responsibilities that the Canonical Community Team have to do. A great deal of these responsibilities are likely only held by members of the team because we are unable to find volunteer or non-canonical business people to take them over.

Thinking about the people in the community team (who I love with all my heart), I see a ton of projects, lots of talk and quite a bit of regret at not being able to do everything. And I don’t think it’s right that they should be asked to do everything. Outside of the team, lots of aspects of the community are quiet indeed.

Not the Center

I’ve had some really good chats in the past with Jono about the nature of the community team and how it’s often perceived as being the center of the universe for quite a lot of the Ubuntu community’s activities. There is a misconception that the “Canonical” community team is the authoritative organiser and sanctifier of activities. It’s not.

The Canonical community team are employed to look after Canonical’s interests in the community. So of _course_ they’re going to spend all their time focused on their business objectives, that’s what the team is for. Of course Canonical’s objectives might be over-stretching too, but I think the team also helps out in places for the good of the community which is leading to stress.

Our true centre, if we have one at all, is the Community Council. But it has never really taken on the responsibility of being a co-ordinating power. It deals with problems and that’s what it was made for. So I guess one waits for the project to explode before taking the charred remains to the Community Council for autopsy. This isn’t good enough.

What to do

What we need is a new centre of the Ubuntu Community universe. It’s no good having a company act as the sol centre of activity; volunteers hate working for free for mega-corp big bucks and move away over time as co-ordination is often innocuously prescribed along business objectives. A community needs a strong central point, or central set of core ideas that we can all dance to without fear we’re being abused by a large player using cheat codes.

“Ubuntu for everyone” used to be enough. A rallying cry from a thousand frustrated Linux users to come together, creating a gravity1 all of their own, pulling more people in until we had such a strong and healthy community.

That isn’t enough any more. We’ve been too successful. We have an awesome Linux desktop which we can install on anyone’s computer without very many problems. You can get it for free if you ignore the skull, download an iso good for a million installs of the same fully working operating system.

What we need is a new centre of the Ubuntu Community universe. A new point of gravity. A new co-ordination body who can sanction every hair brained scheme2, listen endlessly to every kid on irc who has an exciting new idea, comment on things, and act as a great mixing bowl for people and ideas. Such a body would need a reason and a goal, something resonant that goes beyond just technical aims, or marketing PR.

I seriously propose that we found an identity for Ubuntu which lies outside of Canonical. A gravitational body of such stability and neutral authority that the massive Jovian mass of Canonical will happily find it’s lagrange point while smaller congregations will find more comfortable points in their own orbits.

I hate to say it, but Catch 22, Canonical MUST be committed to such an idea. There is NO point in a bunch of community folk wandering off into the brush to build this. We would need everyone to recognise the problem we have here and help fix it with some radical rethinking about the community. And that includes helping Jono3.

Are you onboard? What do you think? Let me know below in the comments.

1 Gravity, the reason we all come together. Each Canonical PR blunder acting like stellar wind pushing more people away.
2 Every hair-brained scheme in Ubuntu is already sanctioned, but most of the time someone with a fancy hat and an official looking title just has to listen to it and say that it’s a good idea to give the kids confidence.
3 Save the Cheerleader, save the world.

Creative Responses to Ubuntu Phone

Reporting in the responses to the Ubuntu Phone announcement on deviantArt from creative Ubuntu users.

deviantArt Blog Post

Everyone who’s commented has been very positive and excited. There is a palpable sense of energy from the users over there and I have seen quite a few artworks, designs and posts about it too.

Excitement project successful!

Developer Kits

With the new Ubuntu Phone on the horizon I though I might pen something about developer kits. I think we’ve come to the group-conclusion that development on Ubuntu sucks, and it sucks in a few ways I’m going to ramble on through:

Coherence

The idea of Quickly was to make a few opinionated decisions about how programs should be made. But it seemed to very quickly delve into the empire of choices on libraries, languages project management and deployment strategies. And that’s a reflection on how hard it is to please everyone in the open source universe.

If we want to have a good developer kit, we need to have strong, very strong opinionated decisions which nail all the technical functionality that will be required for all sorts of apps. For the Ubuntu phone, this looks like Qt and OpenGL. For the desktop it looks like C/Vala/python and Gtk.

What we don’t have is a good story for the project management and deployment. It looks like deployment is going to be patched up with automated package testing and an automated security system. I’m not sure about project management on the developer’s work station yet, it’s still very ad-hoc with too much of the best workflow in the minds of the developers and not in the tools being used.

Investment

The developer desktop, tools, apis and workflows require an enormous amount of investment. Look at how much money and time Google has spent just on Android developer tools.

It’s practically another Ubuntu sized project. While traditionally we’ve had very little investment and have used whatever tools people have cobbled together as they went along with their own developer needs. It’s produced a very disjointed experience for new developers, where so much needed to be known in order to be a good developer.

That’s turning round with the new developer site and api documentation. but I’m not sure the size of investment is the right sort of scale for where we want to go with app development. Bringing together all the API documentation from our various libraries would go a long way towards centralising and authenticating the previous opinionated decisions.

The Klein Toolbox

It’s hard to know where a toolbox starts for app developers and ends for desktop/core developers. If you think about tools like bzr and Make; these tools are designed for core developers and not really intended for app developers. They require the developer to understand where to get the best workflows and be pre-trained. And this really means that as soon as a developer is capable of using these tools, they’re no longer capable of making good developer tools for app developers… how can someone be sympathetic to the needs of more casual developers when they were required to learn so very much?

I’ve never liked Makefiles, I don’t think they’re good enough and I’m damn petty about all the tools that generate makefiles too. I don’t see good design in that space and I know paultag disagrees with me quite strongly about how unawesome makefiles are.

Conclusion

We have a lot of work to do.

What do you conclude?