27 October, 2011

Discuss here...

On the openSUSE Factory mailing list a bikeshed was started talking about how 'SUSE controls openSUSE' (see my earlier blog about bikesheds).

Luckily, several people were kind enough to point out how off-topic this discussion was on a developers list. And how horrible the timing was with regards to the openSUSE 12.1 release, keeping everyone from work.

But the discussion was not entirely irrelevant, as Robert noted - if people still think that SUSE somehow, magically, makes things happen in openSUSE, it's worth talking about that. Just not on a developers' list where people try to get work done!

Your point is irrelevant! I refuse to listen!

Wrong list

If you're new to how Free Software communities like openSUSE work, this discussion is relevant. I know that the way many communities work is not very transparent to outsiders. And openSUSE is probably not the best in this area. But where to discuss this?

For the contributors to openSUSE, who have been around a while, this is no issue. So this discussion does not belong on a developers' list. If it was a widespread problem it might belong on our project mailing list. But in this case, even that is a bit overkill in my opinion. Hence this blog.

As reminder: if you start such discussions again and again on the wrong lists you will ultimately be kicked from development lists for disturbing the Force. Please don't do it!


Let's talk HERE

So, let me try and provide a more 'proper' place for this discussion: here. I'll start off with explaining how 'we' make decisions and what SUSE's role is. Feel free to ask questions or discuss this further below. And yes, it might make sense to collect the results of this discussion into a wiki page describing our 'governance' to avoid such discussions in the future. Volunteers welcome, remember, talk is cheap!


Unlike most other large distribution communities like Debian, Fedora or Ubuntu, openSUSE does not have a clear structure. We have the openSUSE Board and a release management team but that's it. There are of course groups in openSUSE - the edu team, the marketing team, translators, the boosters. But they are just gatherings of people who do a certain thing, not people who (can) tell others what to do. We have no Engineering Steering Committee or Technical Board, nor (benevolent or not) dictators, project leaders or anything else telling anyone what to do. Yes, as I've said many times before, that includes me: 'community manager' is a SUSE title, not openSUSE, and I have no say over whatever anyone of you do. Nor do I want to!

Decision making

So how DO decisions get made? Recently an interview was done with Michael Miller, who himself clearly was a bit surprised about how things worked. But, as the interview shows, he gets it now: people do what they want in openSUSE. That includes SUSE engineers - SUSE rarely tells their engineers what to do in openSUSE. Most are active as volunteers and those who are paid to do things (like myself) have a huge amount of freedom to do what they think is best for openSUSE. Robert wrote the same in a response to the initial questions. Read his mail.

It is very simple. The decisions get made by those who do the work, by consensus and on technical grounds.

Example process

Let me give an example: replacing the sysvinit boot system in openSUSE with systemd.

Who's involved in the decision to do systemd or not? Four (groups of) people:
    1. the maintainer(s) of the current init system
    2. whoever proposes the new solution (can be same as 1
    3. The release team
    4. All developers who need to adjust to systemd

Step 1. Those involved discuss and decide.
Now the maintainers of sysv init (1) and those working on systemd (2) talk together. If 1 decides that 2 has a great idea, they will stop maintaining the 'old' system and move over to systemd, together with 2. steps

Step 2. Release team gets involved.
They will then tell the release team, which will look at it from a technical point: will it break things? They will demand from 1 and 2 that they ensure no or very little breakage.

Step 3. Public discussion.
It is now time for the wider project, especially those who are influenced by this decision, to hear about the plan from the maintainers (systemd mail to -factory on June 2011). At this point, the rest of the distro contributors and possibly, in case a developer blogs about this, the rest of the world can also respond. Everyone can either come with additional constraints/limitations or object to the change wholesale. In both cases, they can either hope to convince the maintainers to take on the constraint or objection, or offer to solve the problem (and/or maintain the old system) themselves. Obviously, if the vast majority of the fourth group, everyone who needs to work with systemd, objects - there's a big chance the maintainers will cave. But they don't have to and if nobody else steps up to maintain the old system, well, everyone will just have to suck it up!

Note that in no way can the rest of the community (or anyone else for that matter) demand that the maintainers will listen to them. If you can't convince them with arguments nor provide an alternative with your work, well, too bad for you. This is how Free Software works.

Step 4. The decision
So yes, in the end, the maintainers decide. The release team will have the choice of not accepting their work (and how to schedule), of course, but if nobody has an alternative, that's unlikely. And the same goes for everyone else: you can vote with your work or your feet. Making noise just means the developers put your mail address and IRC nick on their blacklist.

This does not mean developers don't listen to users - they do. But they do via the channels they like to do it (blogs, bugzilla, openFATE, reading the openSUSE Forums). And in no way do they have to. Some prominent FOSS projects are maintained by people well known to not listen to users, and power to them. You're free not to use their software, so they don't have to listen! You can of course pay them, like with the Nepomuk fundraiser set up by it's author and the Krita fundraiser before that. Then yes, they will listen...

But SUSE...

No, SUSE does not control openSUSE. They do NOT interfere in this process. Remember how openSUSE picked a new release schedule? A new default desktop (KDE)? I can tell you that in both cases, SUSE management was not really convinced it was great for SUSE or openSUSE. But they did not interfere.

Obviously, SUSE, as a community member, sometimes wants things. So SUSE does occasionally tell their engineers to work on a specific thing in their paid time. Then the community can accept, or not, what these engineers do. Following the exact same process.

So if things don't go how you like them to go, well, don't blame SUSE. Blame yourself as you are the only person to blame. Because you didn't do anything about it. do, as in work, by the way, talk doesn't count as I said before. It just keeps people from doing their work but doesn't produce anything.

Question Everything

Discussion, questions

I agree the above is a bit opaque sometimes. We don't have a very clear list of maintainers and the process as I describe is maybe still not very clear. Even if it's clear now, it's not written down anywhere other than here. Feel free to ask for further explanations or challenge my assumptions. And volunteer to move this to a wiki page on the openSUSE wiki so we can educate newcomers better.

18 October, 2011

Almost too much going on...

Been a busy week, last week. There was Plasma Active One, OwnCloud 2.0, openQA 1.0 and KDE's 15th birthday. Each of them deserves a lot of attention, which they got. I'll just add my thoughts!

Plasma Active One

Let's start with Plasma Active One. Now that is one heck of an exciting technology. Where the Linux Desktop will probably follow the general 'desktop computing world' into a (far less relevant) niche, tablets are hot. There is quite a bit of competition: iPad of course, and Android. Soon Microsoft will come out with something that might be viable on tablets. But the competition also means the market is dynamic and people are used to choice.

Plasma Active is an unique product in many ways. The UI itself is quite different from competitors, yet easy to use and intuitive. There are innovations like the heavy use of Activities and Nepomuk, stuff like Share-Like-Connect. And the way it is developed by a dedicated team, using 'agile' techniques and working with a number of companies is really interesting. I have a tablet with it and despite the horrible hardware in there (essentially GPU acceleration doesn't work) it's easy to see the potential.

Obviously I'm excited to see the team using the openSUSE infrastructure and technology. And it's working for them. OBS allows the team to have the new code packaged and available for the interaction designers overnight, resulting in a fast design-implement-discuss cylce which is surely part of the success of Acive One.

I think the Plasma Active team is on to something and congratulate them with their first release!

OwnCloud 2.0

OwnCloud 2.0 made a stunning release as well. Their new platform is easier to use, introduces a huge number of new features and... we're working on integrating it in openSUSE. You can already download an SUSE Studio image (Virtual Machine, USB, CD or Hard drive images available) to get it up and running in minutes. If you enter your Amazon Cloud credentials you can deploy it to EC2 without even downloading anything! Other stuff I am not allowed to speak about or I'll be jumped by a couple of big, German openSUSE dudes who can crush my back by looking at me.

As Frank said, the biggest thing he's proud off with OwnCloud is the community, and right he is. I met some of them at the Desktop Summit in Berlin but there's a whole bunch more and they are like busy bees. Just following their mailing list a little, I can't wait for the next release! So, OwnCloud team - congrats on your release!

openQA 1.0

On the same day as OwnCloud 2.0 came available, openSUSE released openQA 1.0. openQA is basically a tool which boots up an ISO file into a VM, giving (where needed) input via virtual keyboard or mouse events and takings screen shots of the process. It then compares the screen shots to reference screenshots and BAM, you know if the ISO did what you expected! It is stunningly easy to use on your own computer: clone the git repo and start the tests by running os-autoinst/tools/isotovideo [isodisc]. You'll get a log file as well as screen shots and a video of the whole boot - installation - run process in a directory.

The tests are written in Perl, something not everyone loves, but the whole thing is quite flexible and can be used to test ANY operating system. There's some support for Fedora, Debian and openIndiana but if Microsoft is interested in getting some QA to their OS they can get support in quite easy ;-)

I think, while there's work to do, for an 1.0 openQA is pretty cool and there's plenty of application for it. Let's hope other distro's will look at it, see if they can use it to improve the state of Linux quality all over the place.

So, openQA team, congrats on the successful release!

KDE is 15 years old!

15 years ago KDE was started. In that time it has evolved into the largest and most vibrant Linux Desktop project. I'm proud of this 15th birthday milestone! The cool thing about such an anniversary is that you tend to look back at what has been. But KDE has always been a community which looks forward. New technologies and innovations continuously flow from the community and while I would love it if the Free Desktop world would be a bit less 'NIH', much of this is adopted in other places at some point. Everyone knows about WebKit for sure but it is also cool to see KWin lead in the efforts towards Wayland and openGL-es, Nepomuk innovate on the semantic desktop and Plasma Active shows the world what a 'device spectrum' UI should really look like!

So instead of dwelling on the past (and yes, I've done and seen plenty in my ten "KDE years") I'll look forward to the future too. And I bet the next 15 years will see KDE continue to grow like Paul Adams' graphs show us. I'm proud to be part of two communities which are so close - openSUSE and KDE. And I congratulate my KDE friends with their 15 year birthday and celebrations!

I hope this week will stay a bit more quiet as I have some time off ;-)

06 October, 2011

Fights? Do something!

The worst thing that makes conflicts do damage is related to a (possibly mis-attributed) quote of Burke:
All that is necessary for the triumph of evil is that good men do nothing.

If somebody is behaving badly, don't let them do their damage. Realize that by not stepping up you are partially responsible for the damage being done to the motivation of whoever is being abused. I'm assuming you care about your community? Then speak up! Often, people who are being rude don't even realize that. It is learning for them too. And if they DID realize it and keep doing it, moderation is a mail or ping away.

Yes, openSUSE has moderation. At the conference it was decided to have a reminder of that on our mailing lists. They now feature a footer which tells you how to contact our mods. We have the guiding principles and if people cross the line, you can refer to them. If whoever crosses the line is new to our community, mail or ping them privately. If they keep doing it, feel free to tell them in public they should stop. If they still don't, ask a moderator...

Midnight Adventure in the Japanese Cemetery

Yes, we have freedom of speech. But this is our corner of the web and if people want to be assholes, well, let them get their own blog to rant. This also applies to bikeshedding: it does damage, so do something if it happens!