Can you hear me?
Better.
So, hello everyone.
Welcome again to DebConf, I guess.
It's a great pleasure to be back again at one DebConf and a great honor to be doing one of the opening talks.
I confess I wasn't really expecting that honor.
I just wanted to propose a session which was supposed to be a self held sessions for those of us that think there are some worries about where the free software is going in general.
And the role distributions have to play in the current state of affairs.
So this talk will be about a couple of journeys at once.
The first journey is a journey through emotions, through good feelings about what we have achieved in Free Software over the past 15 to 20 or 30 years depending on how long you've been involved.
The second journey is essentially my own journey through software freedom from the day I started discovering Free Software and what I've ended up doing since then.
Starting with the positive news.
This is how I got involved myself in 1997.
I understand that there are people in the room who have involved since way earlier than that, others that have been involved since way later than that.
That's my story.
I hope you'll find
When I started as a freshman in a computer class at university of Bologna, there was a huge tiping point, a huge hype point for the so-call opensource movement.
That was the year the ??? has been published.
That was the year ??? Netscape decided to opensource its own code.
That was the moment in the history of free software when people were trying to sell to the industry what free software was doing, and I'm not using that word in a bad sense.
So there was reasonable concern that without involvement of the industry, the free software movement wouldn't have got far.
So they were trying to tell about free software in an industrial-friendly way.
Essentially, the rhetoric at the point was that if you do development of software in the free software way, in a more open way, a more participative way, you will end up having better software and that by merely opening up you code you'll have these flocks of programmers coming to you project and end up helping you.
A few years later, I realised that I personnaly didn't believe much in that idea: it's only because your software is open that it's gonna be better, but it was a fair thing to try at the time.
What I discovered a bit later is actually what ??? was essentially the philosophy of free software.
The fact that computer user should be in charge and in control of their own machine, that should have some basic freedom.
You about the 4 freedoms, I'm not going to repeat them here, but my personal point is that the narrative of free software is something that resonated with me a lot at the time.
As a student, I realised that by having free software at my fingertip as a computer student, I could debug any single layer of the software stack and look at how things are going.
I didn't have to trust the teacher on how an operating system should be developed.
I was able to open up ??? in the linux kernel and look at the actual scheduling algorithm that was being implemented in the real kernel.
Not that I really got all of it at the time but the possibility was just breathtaking for me.
Later on, I ended up distilling the main intuition of free software, which is the one I used to explain free software to people, which is intuition of control.
So, I ended up believing that the main reason why I've been involved in this movement for about fifteen years is that I really believe that every single computer user, and that's a lot of people these days, should be in control over their own computations.
Everything you're doing with a device which is mediated via software is controled by someone, either it is you or it is someone else.
And the best episode, the best narrative to explain that to people that they've been using for quite a while is this passage from the novel "Makers" by Cory Doctorrow which is a bit long so I'm not gonna read it in detail, but essentially there is one character of the novel which is Lester which is explaining to another character the importance of controling your own devices, your own tools.
The first example he takes is the example of the hammer, a physical hammer, and he goes on saying that if you own a hammer, essentially you could do whatever you want with it.
You can use it for its main purpose, or you can use it for something completely different which was not meant to be its original purpose but it's you that decide.
He compares that a ??? device which is the "Disney in a box" in the novel and Disney in this book is the big evil villain which is oppressing people and essentially Disney in a box is a glorified 3D printer that can only print what Disney wants it to print for that day.
One day, it will print a goofie character, another day it will print Donald Duck, but it's not you who decides.
It's Disney that decides what the printer is gonna print for you that day.
You own the device but you are not in control of what the device does.
The big quote for me is that if you don't control your life, you're miserable.
This notion of essentially oppression is what has been motivating me for all these years.
So the fact that if you are not in control of your own computation, then someone is oppressing you.
Someone is usually the person or the company or whatever that has created the software, that has the power to change the software instead of you.
This is something that really ??? me.
What I was doing at the time with my computer, well I was doing pretty standard stuff.
I was using some hardware we had at the time which was mostly desktop and local network servers.
I didn't have a laptop because it was really expensive for a student so I did get a laptop much later.
And I was doing some content production, some content consumption.
The kind of content I did produce at the time was mostly office suites, desktop publishing and this kind of stuff.
I was doing some communication, some email, some IRC, some newsgroup which was really cool at the time for geek communities.
And I was doing some software development as a newbie but it was what I was doing at the time.
I also did some content consumption, some gaming which are arguably some content that someone else is producing for you to consume.
I was doing some web browsing.
Internet was not as popular as it is today, but there were some websites you could find interesting.
In that situation, with this kind of computing, the actual path to software freedom and to control was fairly clear.
It was difficult, but it was fairly clear to me as a new activist in free software.
What I should have done, what we all should have done to actually liberate people from the oppression of people controling our own computation.
The idea is that while you have a lot of pieces of proprietary software which you do not control, what you need to do is to replace every such a component of proprietary software with a free software equivalent.
Using some local application, some game, we need to replace it with an equivalent free game.
We were using some client-server software, some mail ???, some mail client, some mail server, some IRC client, some IRC server.
What we needed to do to actually empower people and liberate people was to rewrite those pieces of software with free software equivalents.
It was difficult, because it was a lot of stuff to be rewritten, but it was fairly clear.
The plan was clear.
And also, luckily, we also had, at the time, all the heavy lifting was already in place.
The GNU project existed ??? since quite a while, the Linux kernel existed already and it was working.
So someone else with shoulders larger than ??? I had at the time had already done a lot of work for me and me and together with other free software activists, what I had to focus on was to rewrite proprietary application into equivalent free software application, possibly better.
That was clear, was hard, but it was fairly clear.
That's where, I think, the notion of a free software project comes from.
We use very often this term of free software project and never ended up really thinking about that before a few years ago and I think the reason why we call it free software project is that there is an objective.
So there is a mission, ideally a time-limited one, and that mission is writing a replacement for proprietary applications using free software which is as good, possibly better than the original.
Having a lot of free software projects around gives rise to a lot of releases.
So what we were doing a lot at the time in the 90s was actually manually install software on our own machines.
To be fair, we also had, our lab was running some Red Hat machines at the time there were in that many packages available and we had to fairly often install soft by hand on the lab machines in our own directories and also on our computers at home.
This is a procedure you all know very well.
You download a tarball, you run "configure", you run "make", you run "make install".
The first time I saw, it that was kind of a magical recipe for me.
Just follow these steps and you will get some software to play with.
Well, except that every single step could fail, of course.
Let's keep aside for the moment the fact that the website might be down but, you run "configure" and you miss some software you need to fetch from somewhere else.
You run "make", you encounter some compilation problem.
You run "make install", maybe the path will clash and so on and so forth.
The problem with this procedure for install software we are using by hand is that you are essentially conflicting roles.
You're mixing together the role of software user, the role of system administrator and the role of software developper.
You need to have a little bit of all those skills together to be able to enjoy software.
In a sense, a free software which works like this is essentially a very elistist thing.
It's only an elite which have all the needed skills who is able to enjoy the benefits of free software and is able to be in control of their own computation.
This is essentially the reason why distributions much earlier had been invented.
We all know very well here what distributions do, they sit in between software developpers and software users and make it easy for you to actually use that software.
We do installer work, we create installers, we create package managers, we do all the integration work that make different pieces of software work well together.
We actually make life easy for final users.
So, for me, something that I started believing is that the ultimate mission of free software distributions is to actually democratize free software, to enable usert which do not have software development skills or do not have system administration skills, enable them to enjoy the benefit of free software.
We offer very simple interface, we offer the equivalent of what these days are called appstores in which with one click, you can just install some software and enjoy the benefit of that software, in particular a free software.
This for me the historical mission of distributions.
Later on, in 1998, our lab decided to switch to Debian and I was really happy about that.
We switch from Red Hat to Debian and I look out about this project, I start learning what this project does and I find out that not only this project Debian was actually up to the mission of empowering user by making it easy for users to use free software.
If you read the original announcement of Ian Murdock announcing the Debian project, we'll find this notion of being competitive with proprietary operating systems and it's really clear that the point is empowering users.
I end up reading about this project and not only I found their mission they're up to is the mission I believe in, but I found out that the key intuition there is to make the project a community project.
Not only the target are the users and empowering them, but also the way to reaching that objective is fostering a community that will work together to that goal.
I got immediately hooked, I vividly remember the moment a collegue of mine, a student explained to me the anatomy of a Debian source package, the fact that it was a .orig.tar.gz, the fact that it was a diff.gz with the differences with respect to upstream, and all those metadata that was really thrilling for me from a technical point of view.
A few years later, I ended up joining the nm-process.
I was doing some OCaml development at the time, there were some libraries, OCaml libraries in Debian, others were missing and I said "Ok, maybe I should help and create some libraries for the project as well".
I went through nm and there are a few thing I've leaned doing nm and also in the subsequent ten years or fifteen years or so.
One thing I've learned in all these years in Debian is the importance of being principled.
Debian is a project that did not start from only technical means but also decided at some point that they needed some guidance, some clear guidance of what it should technically and what it shouldn't.
And an important document where we have distilled this notion are the DFSG.
??? a free software guidance which has been very influencial on the free software movement as a whole.
They've been used as a base for the open source definition as you know, and what was very ??? for me is that commitment we had in Debian in keeping the main archive completely DFSG-free, keeping it completely free software.
This commitment is depicted here by those fearsome character and his owner on a couch and it's mediating and triggering the NEW queue, supposedly, and the NEW queue is not necessarily the best way we could implement a system which triage all the software in the archive and to ensure it's DFSG-free but it shows our commitment to actually only follow the guidance we have set for ourselves.
It was really motivating for me.
The second thing I've learned and which will come handy in a bit, is the importance of the legal knowledge and legal geeks in the free software movement.
Like it or not, free software as an ideal is philosophical mean, but its main implementation is through the legal system, is through copyright licenses.
To really ??? what's happening in free software in general, to understand where the free software movement is going, figuring out and really understang what's going on in the legal system is very important.
In Debian, we know that pretty well, that's a stumbling block for many people when joining the Debian project.
It's something we insist people are at least basically familiar with and that's pretty characteristic of the Debian project.
In the end, what I've learned is that in this quest that I feel very much myself against the oppression of someone else controling your own computation, law, if you hack around it smartly, can be a very useful ally, a very useful device to liberate users.
Time passes, there was supposed to be an image here, which for some reason disappeared.
And, we might argue that, these days, we have achieved a lot since that moment.
If I look around the industry or, in general, if I look around computing as people are doing that, free software is a little bit everywhere.
In the industry, there are some stats that claim that essentially every single software product you find on the market has, inside of it, a little bit of free software code.
If you look at all the different application stacks we have from webservers to education to clients to smartphones, you find a lot of free software, free software infrastructures that are everywhere.
So these are just some stats ??? in the recent years and for instance if we look at one of the key target market for Debian ??? we'll find out one website over ten on the Internet in general is running Debian.
If we include also some of our most popular derivatives such as Ubuntu, we'll find that more than 20% of the websites are running something which comes from our own work.
And some of the recent hype on free software is coming from the Snowden revelation and most people are starting to be concerned about what the software they're using is doing and is turning to free software and is turning to stuff like Tails which is heavily Debian-based to actually see in which way we can help them foster their own security.
In some sense, we have achieved a lot.
In everything we do in computing, there is a little bit of what we have done in free software and also a little bit of what we have done in Debian.
This is pretty impressive for me.
We're in a place where I wouldn't have dreamed being when I started in 1997.
That's very impressive.
On the other hand, there are some reasons of concerns and this is the main thought I wanted to share with you.
There are some technical reasons which we discuss often in free software circles like the fact that "Ok but most of these platforms are not 100% free software".
If you look at smartphones for instance, you will find a lot of non free code every here and there and the point can be made that either you have full control over your own computation, or you are not in control at all, because if your software stack is a single layer which is controled by someone else, and is mediating all your communication, maybe you're not so sure that you are the real owner and the real controller for your own device.
That's a absolutely fair point.
We can ??? some more technical points about for instance non free JavaScript more and more of our computations are happening in our browsers and are happening through code which is delivered to our browser by remote servers and this code is not free at all.
I absolutely agree with that but the point I want to focus on today is actually what we call the cloud.