Platform for Martin Michlmayr
Background
My name is Martin Michlmayr, and I hope that you will re-elect me as your Debian Project Leader. I believe I have successfully shown that I can lead, coordinate, and motivate Debian. I would like to continue serving the community and I want to lead Debian to continued success.
I hold Master degrees in Philosophy, Psychology and Software Engineering from the University of Innsbruck and the University of Melbourne. In January, I started a PhD at the University of Cambridge and I'm a member of the beautiful King's College. My research focuses on quality management in free software projects. Since this work partly overlaps with my involvement in Debian, it will allow me to devote time to Debian and to attend conferences. With this and my spare time, I intend to work (more than) full-time on Debian — just like I did last year.
I have been involved in various free software projects for about 10 years. I truly believe in the philosophy of free software, and feel honoured to be a member of this community. I joined Debian because I fully share its vision, and because I saw the project as an interesting challenge — the main role I played in all the projects I have been involved in centered around coordination, and Debian requires a high amount of coordination and leadership due to its size and complexity. While I contribute to Debian in various areas, coordination and leadership are those areas where I have the most significant impact.
My Involvement in Debian
I contribute to Debian in three main areas. First, I am involved in the New Maintainer (NM) process. When I joined Debian, shortly after New Maintainer was re-opened, I had a desire to decrease the long queue of applicants and prospective contributors. As an Application Manager (AM), I processed a large number of applicants, and helped to decrease the waiting time for NM significantly. I later got involved in the NM Front Desk, and I have coordinated the New Maintainer process for over 3 years now. I assign Application Managers to new applicants, offer advice to applicants and AMs, read every single AM report and provide feedback, and work with the Debian Account Manager (DAM) to ensure the smooth operation of the New Maintainer process.
Second, I perform various Quality Assurance (QA) tasks. Unfortunately, QA is an area which has been neglected in Debian in the past. Together with others, I helped introduce more QA efforts in Debian by coordinating and organizing various QA activities, such as Bug Squashing Parties. In particular, I introduced systematic tracking of inactive maintainers. I have approached more than 150 maintainers who appeared inactive, and (cautiously) orphaned more than 300 packages over the years. While I'm still involved in QA, in particular by dealing with inactive maintainers and handling removed packages, I am glad to see that more people have recently become interested. I believe that we will be able to build a strong QA team in the next few months which performs more systematic QA than in the past. QA is also tightly connected to the research I carry out as part of my PhD in Cambridge, and I hope that my research will lead to higher quality in Debian and other free software projects.
Third, I am involved in many coordination tasks within the project. Even before becoming Debian Project Leader, I carried out various coordination tasks, helping other developers perform their work more efficiently and making sure that certain tasks are not forgotten. As Debian Project Leader, I represent the project to the outside world, but also perform a lot of coordination and leadership inside the project to ensure that everything keeps running smoothly. Due to the size and complexity of Debian, there are many coordination tasks which have to be carried out on a constant basis. It is important to stay in close contact with a large number of developers, to find out how you can make their life easier and to assist their work. In some cases, productivity can be significantly increased by small means, for example by supplying porting hardware, by giving special access to facilities or by putting people in contact with others. This work requires knowledge about a wide range of aspects in the project, such as an understanding of how important infrastructure works and a personal familiarity with the people carrying out development tasks. It is vital to connect various bits of information from many different sources, to see the big picture, and to communicate it to others.
My Skills and Personality
As you can see from this overview, as well as from the introduction in my platform from last year or from my resume, the main tasks I carry out are centered around coordination (or management, in pointy-hair speech). I am running for Debian Project Leader because I believe that I am a good leader and a good coordinator. Coordinating a project the size of Debian requires a very different set of skills than maintaining a large package, such as glibc. While I maintain packages and write code, my true skills lie in coordination and management. I would like to continue contributing to Debian the best way I can: by leading and coordinating the project, thereby making sure that the project runs smoothly.
As argued before, coordination requires a large range of information. In order to coordinate a project like Debian you have to keep track of what is going on and what remains to be done. Furthermore, leading a team of a thousand developers requires constant interaction with developers, users and others. The Debian Project Leader is the main contact person for the project, and it is important that interaction is easy and painless. Over the years, I have demonstrated that it is very easy to converse with me. I think people perceive me as approachable, which is a key requirement for a project leader. When people meet me in person, they are probably surprised that I am not the typically extroverted and outgoing leader who often controls the discussion. I am more laid back, I listen to what people say. I am very perceptive, and this is important because I have to listen and find out about the needs of developers and users and about problems in the project. However, I also know when it is time to act, to take position and lead.
Management in free software projects is a very delicate task because we don't like traditional, top-down management. At the same time, it is important to carry out coordination in any project, especially in large projects such as Debian. There is a certain conflict which can only be resolved through a good understanding of the style of coordination applicable to free software projects. Through my experience in various projects and my skills and personality, I can successfully coordinate a project which is compatible with the way our community works. I am fully a part of this community and understand the needs of the members of Debian. Through my extensive travels, I have met a large number of Debian developers in real life. I meet people, get to know them and find out what they are like. This allows me to approach and interact with them more easily. At the same time, everyone who has met me knows that I am on the same level as them — I'm just one part of this amazing group, and I will always listen and be there for everyone. My primary contribution to Debian is to coordinate, to interact with others, to listen and to lead. Through these actions, I do my best to make sure that we reach our goals and that we, as a community, have a clear vision.
My goals
The Debian Project Leader has to fulfil many different kinds of tasks. On a very general level, they can be divided into internal functions (coordination, motivation, leadership) and external functions (representing the project, working with companies and other organizations). I believe that it is important to have a good balance between these functions, but I feel that we have to put some extra emphasis on the internal functions in the coming term. I think there are some crucial challenges we have to address and I'll summarize them below. The four points I will describe in more detail are only some of the tasks I wish to carry out. There is an amazing amount of day-to-day work which needs attention in order to keep the project running smoothly. Furthermore, just like this past term, I will again represent Debian at various conferences and events. In the last few months, I have given 12 talks about Debian and I have agreed to speak at some more conferences already. In summary, the points listed below are areas I'd like to give special attention to, but I certainly won't limit myself to those four areas.
Internal - our Release
As long as I can remember, there have been discussions about our release cycles, but lately the level of frustration has been increasing. The Release Manager once argued that it is important to have predictable releases, but we are far away from this goal. At the moment, we lack a clear plan about what our release cycle would ideally look like. Furthermore, there are some concerns that the stable release policy is too conservative and that some packages should be updated more regularly (notably the installer and the kernel to get more hardware support, but also tools like SpamAssassin which require frequent updates). As a result from our current release management, many people (both developers and users) are frustrated with various aspects of our release management. Some people backport packages, others upgrade to testing or unstable to get better hardware support. This results in much duplication of effort, wasted effort, fragmentation... and frustration.
We need a clear release plan — not just for the coming release, but one which shows what kind of release cycle we will follow in the next years — and we have to actually follow this plan. This can only be done if everyone works together, but we first have to come up with a clear release strategy. I am interested in working with the release management team to identify a viable strategy we can follow which best meets our users' needs.
Internal - Core Teams, Delegates, Communication, Transparency
Debian's size has grown significantly over the past years, but most of the core teams have stayed fairly constant. For example, the security team is basically the same now as it was when potato was our stable release, but woody is about twice the size as potato. We promoted Matt Zimmerman to a full security member, which has helped a lot, but we still need more help. However, it is very hard to find people with the interest and time to help. This problem exists on a larger level. I have the impression that a large number of people are interested in maintaining packages, but are less keen in helping out with core tasks which have to be performed. I have worked with many core teams during this term to identify their needs and to help them find capable people. Furthermore, there is some frustration among some developers that the core teams are not as transparent as they should be, and that their inner workings are not documented very well. There have also been problems with communication. There are several different issues which need to be addressed, but I think the underlying problem is that our core teams have not grown as much as the rest of Debian.
This problem is fairly complex because adding new members to existing teams is quite complicated. You have to find people who have enough time, interest, and skills. These people need to work well with the existing team members, and they must also be able to communicate with a wider audience. I have been working with various teams in my term, and progress is being made. Comparing the current situation to that a year or a few years ago, it can be seen that, for example, two new listmasters have been added, one who mainly deals with requests from users. The BTS team got an addition as well, as did the ftpmaster team, and the QA team is growing, as mentioned before. Complaints about the New Maintainer process have also decreased dramatically since I stepped in as DPL. While progress is being made, much remains to be done. I intend to continue to work with core teams, to identify and address their needs, formalize their status, document them better to increase transparency, and to improve communication in the project as a whole.
External/internal - Debian based Distributions
There are a growing number of distributions based on Debian, some doing really excellent work and extending Debian in many areas. Unfortunately, some of the development which is being done is not integrated back into Debian. Furthermore, there is only limited cooperation between the various Debian based distributions, often leading to duplication of effort. At the Open Source World Conference in Spain in February, a meeting between some representatives was arranged to discuss possible ways to cooperate more closely. As the Debian Project Leader, I would see it as my duty not only to work with these external projects, but to try to internalize them as much as possible. This is partly happening already, but I'd like to work with other projects more closely to drive this process along. As an example, Skolelinux (who have always contributed their work to Debian) first adopted our debian-edu project and are now moving towards using the debian-edu name as their brand. Furthermore, after discussions with developers of DeMuDi (a multimedia distribution based on Debian), they agreed to join our debian-multimedia project and to merge their work into Debian.
Debian will benefit to a great degree if more Debian based projects get involved and make contributions. I am very excited about this because many of those projects are sponsored by local governments. Just imagine the great advances we can make if there are a few paid people in countries like Brazil, Greece, Norway and Spain (which are all working on Debian based distributions). While I cannot control what those projects do, I intend to work together with them as closely as possible. Everyone will profit by more cooperation, and I am interested in helping with the coordination to make this possible.
External - Interacting with Companies
I am interested in working with companies to get better support for Debian. Debian is a very successful distribution, as shown in a recent Netcraft survey, and I intend to use the results of this survey to get more support from companies. For example, something I recently started is to approach companies about testing our debian-installer on their hardware to make sure that our upcoming release will support it properly. Furthermore, I'd like to use the power of our community to start a hardware database which shows which hardware is supported by Debian. While this database would initially be maintained by volunteers based on input from users, I hope that we can get companies to certify their hardware for Debian and help us maintain this compatibility database.
Conclusions
Debian is a very successful project and we are getting an increased amount of attention. There are some problems in our internal structure which we have to address in order to deal with Debian's success and growth. These changes require coordination and interaction with a large number of people. My coordination skills, together with my approachable nature, and the experience from my first term as Debian Project Leader, will allow me to implement important initiatives which are required to ensure Debian's continued success as a project and as a community. I hope that I demonstrated in my first term that I solve problems efficiently, and I ask you for the opportunity to continue serving as Debian Project Leader.