This is the first in what I hope will be a series of interviews with major GNU/Linux distribution lead developers. This interview is with Clement Lefebvre the lead developer of Linux Mint and he talks with me about his project, development, the community, and his views on free vs open source software.
TM: Clement, first of all please introduce yourself to our readers! Where are you from? What do you do?
CL: My name is Clement Lefebvre—people usually refer to me as "Clem"—and I'm the founder of the Linux Mint distribution. I maintain the Main and Light Editions and also develop most of the mint tools (mintDisk, mintInstall, mintUpload..etc). I'm 29 years old and I'm passionate about Linux. I'm from Paris, France. I studied Computer Sciences over there and got a Masters Degree in IT. That was in 2001. Since then I basically worked for different companies in France and in Ireland, as a J2EE trainer, as a Web developer, as a Software Engineer and (at the moment) as a Java developer.
What else can I say? I'm married, I've got two children, and I actually like coffee more than mint when it comes to ice-cream... (hmm, or do I? I'll have to check that tonight).
TM: How many people are part of the LinuxMint team, so to speak? What are the dynamics like?
CL: There's about 10-15 people involved in "making" Linux Mint, 3 maintainers, a server admin, artists, developers... it's really hard to say and it changes constantly. At the moment I could tell you that Jamie is developing the KDE Edition of Celena, Merlwiz is working on the XFCE Edition, Agust is working on the artwork, Carlos is redesigning the website, Michael is monitoring the downloads and getting ready for a release, Peter is working on mintMenu improvements for Daryna... etc etc.. And there are a lot of people who also help occasionally, for instance somebody recently designed a tool to automatically generate mint files from a repository! As you can see there are a lot of people involved in various aspects of the distribution.
TM: What attracted you to GNU/Linux?
CL: I started using Linux in 1996. Nobody had the Internet at home back then (well not in my country anyway) and Linux wasn't famous at all. I actually can't remember where I got the first copy of it or if I even knew remotely what it was before getting it. I was a student in a university which used IBM AIX Unix terminals, so I guess there were some people in there geeky enough at the time to get the floppies and distribute them around. My first copy was an old version of Slackware distributed by a company called Walnut Creek (if I remember well), it came with a booklet and although it definitely wasn't desktop-ready (if you know what I mean) I got immediately obsessed with it. The sound didn't work unless you had a generic Sound Blaster card, I couldn't get X to work at all... it was barely usable but it was already free as in freedom, solid, stable and extremely interesting.
TM: When did you create LinuxMint? What made you decide to do so?
CL: I was writing articles for linuxforums.org and I had some content I wanted to publish myself. I started linuxmint.com as a website for Linux tutorials and reviews. I wrote a lot of reviews about other distributions and I started to get an idea of what I would do if I was to design a distribution myself. I already had the name and the domain, the ISOs were soon to follow.
TM: What's a "typical LinuxMint day" like?
CL: First I go to the Support Center and make sure all the tickets are answered. Then I usually check my mails and answer them, then there's the PM in the forum and after that if I have some time I browse the forums a bit to look for new ideas, collect feedback or sometimes just chat. I hang around in the IRC channel sometimes when I have some spare time or I visit OSNews.com and Distrowatch.com and read the stories I'm interested in. When I get ideas I write them down. This is my idea-gathering routine, the most important activity and also the most time-consuming. I do that every day. There's a lot of maintenance also, to keep lists and web pages up to date. And, finally, when there's some free time I just disconnect from the Internet, open Gedit and Glade and start developing new tools. That's the most exciting part, of course. For instance, I'm developing mintUpdate at the moment and I can't wait to finish it so I can show it to everybody. :)
TM: How much of your time do you spend on the project each day?
CL: Way too much! I think of it constantly (design) and I work on it at night (implementation). There's that moment when everybody goes to bed and it's not late enough for me to get too tired in the morning... I usually have between 10pm and midnight (or later, I try to be in bed before 2am, 4am at the latest) every day.
TM: LinuxMint is an Ubuntu derivative. Ubuntu itself is a Debian derivative. What are the key features that distinguish LinuxMint from Ubuntu?
CL: As projects and organizations, Ubuntu and Linux Mint are extremely different. Although technically similar they should appeal to different people. Ubuntu has a clear roadmap and a fixed release cycle. Linux Mint is very different in that respect. Basically both distributions are technically similar but the user experience under Ubuntu or Linux Mint can vary greatly because of the two different communities, two different ways of working, and because of the specifics of Mint on the desktop. This includes efforts to make things work out of the box (NTFS integration, multimedia codecs, etc...), tools to ease the use of the computer (mintDisk, mintAssistant, mintInstall, Envy, NTFS-Config, etc.) and tools to enhance the desktop experience (mintMenu, mintConfig, mintUpload, Gnome Control Center, etc...). It's not so much the technical differences between Ubuntu and Linux Mint which are important—as you can see with each release we both merge in new Ubuntu innovations and add our own new tools (hopefully Ubuntu will start using our tools/ideas too in the future)—what's important is that both distributions are independent but also compatible and this lets us develop our own idea of what a desktop should be. We don't need to set ourselves apart technically, we are different because we implement our own vision of the perfect desktop, whether it's 50% or 99% similar to Ubuntu has no real importance.
TM: Talking about codecs... I think it's a fantastic idea. Do you feel you could end up having legal problems? What's the legal landscape like around codecs?
CL: The presence of the codecs is definitely not an innovation, it's a necessity. People do watch DVDs and they do listen to MP3s. There is no out-of-the-box experience without codecs. They need to be installed by default. There are some legal obstacles in distributing them but that only affects a few countries and for the people who actually live in these countries we have a "Light Edition" without the codecs. The legal landscape is different in every country and to be honest it's more of a user matter than anything else. When users are in doubt we recommend they install the "Light Edition" but as far as we're concerned it's 100% legal for us to do what we do where we do it. There's a lot of FUD and bullying related to software patents, something that simply has no legal standing where we are and it's time people realize that there is no legislation in the world which is going to prevent us doing anything where that legislation doesn't apply.
TM: You mentioned a few names: mintDisk, mintAssistant, mintInstall, Envy, NTFS-Config, mintMenu, mintConfig, mintUpload... What language did you use to write them? Did you get much help from the development community, in terms of patches, improvements, etc.? Have other distros shown interest in those?
CL: First things first, let's give credit to people who actually deserve it. I didn't write Envy, Alberto Milone did. We're close and we communicate a lot but he did all the work. :) I didn't write NTFS-Config either. Half of mintMenu comes from a project called the USP and most of mintConfig comes from a project called the UCP both written by S. Chanderbally. I simply improved them. And, since the Bianca mintMenu has been actively developed by Peter Lars Clausen from the Mint community, I haven't really looked at the code since then.
I did write mintDisk, mintDesktop, mintInstall, mintUpload and mintAssistant though. I use mostly Python and Glade, sometimes Perl or bash scripting. The reason I'm using interpreted languages is because I don't feel the need to separate these tools from their source code, it helps in packaging them, and the lightness of Python and GTK make it very easy for these tools to be modified on the fly.
The community has driven a lot of these projects from simple tools to more mature ones. I haven't received patches or anything but a lot of feedback, bug reports and new ideas. Take mintMenu for instance, it started with SUSE implementing Slab, then S. Chanderbally wrote USP to bring a similar menu into Ubuntu and he took the opportunity to give it a better design, then I simplified it and made it more stable and it went into Mint, from there on the Community started to look at it and look where we are now. Peter Lars Clausen is constantly improving it, we're receiving great feedback on it and it has become the best GNOME menu available at the moment (okay, maybe that's just my opinion :) ).
People from the PCLinuxOS community showed interest in porting mintInstall to their system and in making it compatible with RPM, we're helping on that. People from the Ubuntu community showed interest in using our repositories to install mint tools under Ubuntu and we're helping on that too. We haven't really seen any distribution come to us or port our tools onto their system. We never really met or talked with anybody from Ubuntu or Canonical, it's a pity I think. We're still very new and although we've been successful so far we're not considered one of the major distributions out there. It will probably take time before other big distributions come to us and start to show interest in what we do, but I'm confident it will happen sooner or later.
In the meantime we'll just implement our own things the way we think best and follow our own strategy.
TM: How big is your community, and how long do you spend actually "managing" the community aspects of your project, rather than "real" development?
CL: I spend most of my time with the community, on the forums, by email, on the IRC channel and very little on the actual "development" of the distribution. Implementing new tools or new ideas doesn't actually take time, it's getting the ideas, reading the feedback and talking to the community which is time-consuming. It's very rewarding though. Most of the innovations we developed came from people ideas posted on the forums, talks on the IRC and the feedback we gather from our users is really the best asset we have. In that respect, "managing" the community actually is "real" development.
TM: How do you see the "free software vs. Open Source" philosophy clash? Where do you stand?
CL: This is a very interesting question. There is one big GNU/Linux community and two radically opposed philosophies. In my opinion, the reason this community hasn't split yet is because most GNU/Linux users don't realize the gap between free software and Open Source. 5 years ago, the gap wasn't so visible and it has become clearer and clearer as important companies start to take a role in the Linux market that some of us seek freedom more than success while others seek the exact opposite. You can probably tell the difference between Debian and Linspire for instance, in terms of philosophy. Now, where do we sit? I believe we're kind of sitting in the middle. As a distribution we do not actively support free software more than Open Source so I can only give you my personal opinion.
I used to be a very strong advocate of free software. You can probably find some of my reviews and see me criticizing the presence of MP3 codecs for instance. Over the years I've had time to think this over and my opinion changed. I value freedom more than I value free software. I personally dislike the notion of "property" and more than anything else the concept of "intellectual property". Free software is a political movement which restricts freedom (in the way that it applies a restrictive license on the tools you use and limits the way you can use them) in the name of freedom itself. Of course, said like that it seems contradictory. In fact, it isn't and it does more good than bad. I am very thankful for what the Free Software Foundation has done and is still doing. I understand why they use "intellectual property" (copyleft, licensing) and how it benefits us, this is not the problem. The problem I have with free software as a political movement, is that it doesn't tell people what they can do, but what they must do.
If you listen to Richard Stallman you'll find he's making a lot of sense. He's not exactly living the freedom he's advocating though. It's all about not using proprietary software, not doing this and not doing that, doing this instead and so on. It's all about discipline for the greater good. This is not freedom. Again, I am not saying that he's not making sense. He is indeed and I have a lot of admiration for the way he follows his beliefs, I just disagree with people confusing free software and the general idea of freedom.
I also strongly disagree with boycotting proprietary software. This is like an "all-or-nothing" attitude. Saying that all software is bad and evil the minute its developer didn't make it open-source is just plain ridiculous. Freedom should be granted to the developer to decide whether he wants to distribute his source code or not. I don't see why he wouldn't (unless he's not familiar with open source and maybe scared of not generating profit... I don't know) but the thing is, this is his choice. Similarly it's your choice and your freedom to use his software or not. The licensing and the fact that it's open source or not should be a criteria for you to decide whether this piece of software is the best available for you to do what you want to do. Having some political movement telling you to restrict your own choice and boycotting good and helpful software just because you didn't get the source code with it is simply going against your own freedom.
On the opposite side we find companies like Linspire, making deals with Microsoft to get deeper into the market. I wouldn't be surprised if some developers accepted to making OOXML the default in OpenOffice.org in the name of better interoperability. The main idea here is obviously not freedom or free software but market share, profit and opportunity. I dislike that as much as you probably do. These companies gather under the name of "Open Source" because they obviously are in contradiction with the "free software" movement. That is not to say that "Open Source" is like that of course.
If you listen to Linus Torvalds you'll find a strong advocate of "Open Source" but also of "personal freedom". I feel very close to what he says. The reason I use open source software and the reason why I share my code is simply because I believe in sharing and in the freedom of using it. I also have a lot of admiration for the BSD community and the BSD license. "Open Source" is not about boycotting or forcing people, it's not about money or opportunity either, it's about sharing, giving and receiving in return. And most of all, it's about you doing this because you believe in it, it's about personal choice, and freedom.
TM: Thanks for speaking with me and sharing your experiences and views Clem. All the best with your project.