It is impossible to speak to him without realising that one is in the presence of a scholar. One is also left wondering why a mild-mannered academic type like him continues to stay in the rough and tumble world of free software.
But after a while it becomes evident that Michlmayr is there because he cares deeply about the direction FOSS is taking. And he wants to do something about it, to make things go in what he considers the right direction.
After completing a doctorate at Cambridge University, on quality management in free software projects, with an emphasis on release management, Michlmayr, who is originally from Austria, recently joined HP's Open Source and Linux Organisation as an open source community expert.
He spoke to iTWire on the sidelines of the Australian national Linux conference .
iTWire: How did you come to be in the world of free software in the first place?
Martin Michlmayr: It was actually quite a long time ago. I was interested in user interfaces and NextStep was very advanced back in those days. There were some people trying to implement the NextStep user interface in Linux. I became interested in that and I got involved.
One of the problems was that new people found it very hard to get started, because there wasn't any documentation and people didn't know where to begin. So after I worked with the software and figured out how most of the things worked, I put together a FAQ and a small website, and that's the way I first got involved. Later I also helped to co-ordinate with volunteers who were interested in participating in the project, to see how they could help. So I was using that software, I was running Linux. I think this was in '94 when I was around 14.
I looked at your website , and some of the stuff you've done is absolutely amazing. But very few people seem to know about you.
My dad is a teacher, and at some point he thought he had to get a PC, so he had to learn about it and then teach, but he never did very much with it. But my brother and I, we used it quite a bit. I have an older brother, he knew a few things - that was back in the days of DOS. We did some Pascal programming, and then at some point he took me to the university, where we downloaded some Pascal source code using FTP. At some point he got me a UNIX machine, so that's how later I got involved with the free software community.
Are there many people in your family or among your close relatives who are involved in IT?
My brother's in UNIX admin, but he's not in the community. My sister, she wasn't interested in computers, so she's doing teaching, stuff like that. I work for HP now. I joined HP in December and we just launched two different initiatives last week.
One is called FOSSology which is a set of tools to study free software, source code, and HP has been using that internally to look at licences. People can use it to keep track of their licence applications, and they can see whether there are any conflicts, things like that.
The other initiative is called FOSSBazaar and it's a website community for enterprise users who are interested in using source to discuss governance issues. For example, what kind of licence application do you have, where can you get support from, and things like that. I joined HP to work on Community and Content for FOSSBazaar.
You were the Debian project leader some time back...
I got elected in 2003, and then I did it for two years. So 2003 to 2005, right after Bdale Garbee. I'm still a Debian developer, but not so much a package maintainer.
After I stopped being project leader I wanted to do something really different for a while, and I got involved in some technical work for the MIPS and ARM ports. I did some Debian installer work for those platforms. It's quite interesting because there are quite a few inexpensive storage devices coming out on which you can run Debian. I've been enhancing the Debian install process for some of those devices. It's actually quite popular because you can have a small home server for very little money.
You've studied release management in detail - haven't the people in Debian shown any interest in implementing your methods?
I think that things have changed quite a bit, especially after the 3.1 release, which was a disaster. It was horribly late, and people realised that that was not the way to go about things. We needed to change and there's a much better release process now, and a release management team as well so people know what's going on. There's much more awareness about release management. Things have improved.
Now with the appointment of a full-time security team for the testing distribution, do you really need this kind of release schedule? I mean, people can just use testing, can't they?
That's a good question. There are some people who think that the whole release model is out of date, and you just use something which is continuously updated, and I think that's true for a large number of people. It's a good solution for such people. But there are others who just don't want to touch their systems at all. I think having a stable release is still the best solution for them.
All this pressure for time-based releases – is it because of companies tightening the screw?
I think it's just a better way to co-ordinate the release of a project. I think in a project where you have hundreds or thousands of volunteers, the old model simply doesn't work. You can't say to people, "we'll make a release when we have that specific set of features". Because with volunteers, you don't know when that's going to be. That means you can't plan, you can't schedule anything. Whereas with time-based releases it's a very good way to co-ordinate a large project to let people know when they have to get their changes in, if they want to make a release.
I don't think it's so much commercial pressures as changes in the last few years. We've seen that the speed of development has become so much faster. I mean, there is just so much development going on that if you don't put out a release pretty fast, things get out of date pretty quickly. I think that's the main reason.
There appears to be a big split developing between those in the community who stick to the old "it's ready when it's ready" and the new bunch who want to release things every six months or so.
I don't think it's that big a split because the old "release when it's ready" never worked, because it's never ready - you could always improve something. Software is never going to be perfect. I think having time-based releases is good because you need some kind of cut-off date and a deadline - that's what a time-based release gives you. But that doesn't mean that quality has to be low, because if your development process works well, then the quality should be high all the time, no matter when you make a release.
With the Linux kernel, there are commercial pressures for timely releases. You pointed out that Andrew Morton had said a while ago that the kernel is becoming more and more buggy due to the inclusion of so many features. So do you think one should set some kind of optimum period for releases? Say, you shouldn't do it every six months but maybe once a year?
I think it's quite hard because there are different requirements. You want to put out software, but at the same time it should be pretty stable. I think you just have to find a good balance. In the case of the Linux kernel, I don't know whether they have that balance at the moment - I think the focus is on getting new features in but very few people care about the bugs in existing features. But when you consider that developers care more about putting new stuff in than fixing bugs - which is just boring - it's very hard to motivate people to fix bugs.
Do you think you can divide a project so that one group of people look after adding the features and another group looks after fixing the bugs?
I don't think it should be separate. Ideally people should fix their own bugs; if they introduce bugs, they should fix them.
You can't demand something from someone who is working as a volunteer. How do you do that?
You just have to show them that it's part of writing the features, that you have to fix the bugs as well.
Can't you tell them that if they don't fix the bugs, then they can't be part of the project?
Well, it probably doesn't have to be that extreme, but hopefully people will realise that being a developer is more than just about making new things. It's more about making them work for everyone. But it's not just volunteers who have that problem. It's the same in companies. They contribute something to the Linux kernel, then it's fine. If someone else discovers a bug in what they've contributed, then often they don't care because it's not a bug they encounter. Some companies are very good, they really care and they maintain it very well, but there are other companies that don't.
A couple of days back two of your colleagues from the Debian project spoke about the need for companies to support the project . Why this sudden push for more big corporates to get involved with Debian?
I think there may be different reasons. I think one reason may be that with Linux becoming so much more professional, as a pure volunteer project, you simply can't compete anymore. With volunteers, some things are kind of slow, especially if you don't have paid people to focus on things full-time. The other thing is that having major backers involved in the project gives you credibility. Those may be the reasons.
So, say a company hires some Debian developers and gives them some time to work on the project...
Yeah, I think that's a very good model. I know that people during the talk you referred to mentioned monetary donations, but I don't think that's something that works very well. The thing is we do have some money and it's not being used. The other thing that companies can do is to become active in development - fix some bugs, add some features, things like that.
What about Canonical? Do they give you anything back by hiring Debian developers? Or does Canonical just poach them?
I think we're not very happy about our relationship with Canonical. They're not giving back as much as they claim they do. It really depends on which developers are involved in Ubuntu. Some of them stay active in Debian and contribute patches but some of them don't really do that. I think it's pretty sad that Canonical doesn't have a policy that patches should be contributed back. They make some changes available on their website, but they don't spit patches out in a nice way. They basically make bare changes available but then it's our task to look at them and see if anything is useful. That's just not the way that developers should work together.
When we make changes to software we don't just publish our changes and tell people, "take a look at that". We send specific changes with comments to the upstream developers. I think that's how it should be done. It's definitely not the way that Canonical interacts with Debian.
What about the other Debian-based derivatives like Xandros? Do they give anything back?
No. It's a pity because most Debian-based distributions are not involved in the active development of Debian, Xandros is not involved at all. A couple of Debian-based distributions made by the local governments in some regions of Spain are more active in contributing their changes back.
Why do you think this happens? Don't people have an obligation? Most of them would not exist were it not for Debian.
I don't know what happens because I talked to some of them. Clearly there's a benefit to working with Debian. It's not just a nice thing to do. It's also in their interest because it minimises maintenance. It makes it much easier to work together, so if they need anything, we're more likely to listen. Usually when you talk to them, they say "yeah, we should do that", then often nothing happens. I can't quite explain why.
What about Kevin Carmony of Linspire? Does that company contribute anything back?
He's actually not involved in Linspire anymore - he quit. First of all, they have moved to Ubuntu as their base. These distributions are no longer involved in Debian directly but even when they did there was almost no interaction. I had some kind of an email exchange with one of their technical people, and he was interested but he said basically that they don't have the resources to do the right thing.
You have a thousand plus people in the Debian project. So most of them are working for some company or the other or...
I wouldn't say that. I think in Debian, there are quite a few people who do development in their spare time. Students - I think we have quite a few students. But we certainly also have people who work for companies. Some of them can do Debian-related work in their company time. But I don't think that's the majority.
How much of a future can you see for a project like this?
Well, I think that it's going to be an issue. I think we've seen that already, because in the past, Debian has been very innovative. We implemented things like apt-get and only years later did companies like Red Hat do it. Now as a full volunteer project, it's very hard to compete with a distro with lot of paid people. I think that's an issue, and that's going to be increasingly an issue.
Gentoo is facing some issues now...
Yes, they had a non-profit foundation and their charter expired and was revoked because they didn't submit some of their papers on time. But that's just one example. The other thing is that the founder left Gentoo, but then he came back. Then he had some disagreement and then he left Gentoo on the same day.
Some big companies have a stake in Debian, enough to ensure that the project continues. Companies like HP, for example.
I think there is definitely commercial interest. HP has, for example, very successfully used Debian for the telecommunications industry, because that's something where there's no solutions available. Then they used Debian to customise things for that specific market. That's something you can use Debian very well for - customisation, if you need to make some changes. I think another reason why Debian is very relevant is because it's really THE community distribution that tries to get things right. We care about how you interact with upstream developers or issues like licences, documentation, images, what it means for them to be free.
We're driving a lot of discussions which are needed not only in Debian but in the whole free software community. I think people do appreciate that in the long run, even if some things are quite controversial. People say that Debian has a very extreme position - I think it's good in a way because it starts discussion about some issues.
After Sam Hocevar took over as DPL, there's been very little news about Debian. When Anthony Towns was the project leader, Debian was always in the news, generally for all the wrong reasons.
I think that Debian has lost some of its relevance because of Ubuntu, which provides similar technologies and reliable release cycles. But I think that Debian is still very important in the whole community. Like I said, it's looking at different issues, it's trying to solve problems. And then when you go to a conference, people will generally talk about Debian. It's still very strong in the community.