WEBVTT 99:59:59.999 --> 99:59:59.999 Can you hear me? 99:59:59.999 --> 99:59:59.999 Better. 99:59:59.999 --> 99:59:59.999 So, hello everyone. 99:59:59.999 --> 99:59:59.999 Welcome again to DebConf, I guess. 99:59:59.999 --> 99:59:59.999 It's a great pleasure to be back again at one DebConf and a great honor to be doing one of the opening talks. 99:59:59.999 --> 99:59:59.999 I confess I wasn't really expecting that honor. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 And the role distributions have to play in the current state of affairs. 99:59:59.999 --> 99:59:59.999 So this talk will be about a couple of journeys at once. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 Starting with the positive news. 99:59:59.999 --> 99:59:59.999 This is how I got involved myself in 1997. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 That's my story. 99:59:59.999 --> 99:59:59.999 I hope you'll find 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 That was the year the ??? has been published. 99:59:59.999 --> 99:59:59.999 That was the year ??? Netscape decided to opensource its own code. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 So there was reasonable concern that without involvement of the industry, the free software movement wouldn't have got far. 99:59:59.999 --> 99:59:59.999 So they were trying to tell about free software in an industrial-friendly way. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 What I discovered a bit later is actually what ??? was essentially the philosophy of free software. 99:59:59.999 --> 99:59:59.999 The fact that computer user should be in charge and in control of their own machine, that should have some basic freedom. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 I didn't have to trust the teacher on how an operating system should be developed. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 Not that I really got all of it at the time but the possibility was just breathtaking for me. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 One day, it will print a goofie character, another day it will print Donald Duck, but it's not you who decides. 99:59:59.999 --> 99:59:59.999 It's Disney that decides what the printer is gonna print for you that day. 99:59:59.999 --> 99:59:59.999 You own the device but you are not in control of what the device does. 99:59:59.999 --> 99:59:59.999 The big quote for me is that if you don't control your life, you're miserable. 99:59:59.999 --> 99:59:59.999 This notion of essentially oppression is what has been motivating me for all these years. 99:59:59.999 --> 99:59:59.999 So the fact that if you are not in control of your own computation, then someone is oppressing you. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 This is something that really ??? me. 99:59:59.999 --> 99:59:59.999 What I was doing at the time with my computer, well I was doing pretty standard stuff. 99:59:59.999 --> 99:59:59.999 I was using some hardware we had at the time which was mostly desktop and local network servers. 99:59:59.999 --> 99:59:59.999 I didn't have a laptop because it was really expensive for a student so I did get a laptop much later. 99:59:59.999 --> 99:59:59.999 And I was doing some content production, some content consumption. 99:59:59.999 --> 99:59:59.999 The kind of content I did produce at the time was mostly office suites, desktop publishing and this kind of stuff. 99:59:59.999 --> 99:59:59.999 I was doing some communication, some email, some IRC, some newsgroup which was really cool at the time for geek communities. 99:59:59.999 --> 99:59:59.999 And I was doing some software development as a newbie but it was what I was doing at the time. 99:59:59.999 --> 99:59:59.999 I also did some content consumption, some gaming which are arguably some content that someone else is producing for you to consume. 99:59:59.999 --> 99:59:59.999 I was doing some web browsing. 99:59:59.999 --> 99:59:59.999 Internet was not as popular as it is today, but there were some websites you could find interesting. 99:59:59.999 --> 99:59:59.999 In that situation, with this kind of computing, the actual path to software freedom and to control was fairly clear. 99:59:59.999 --> 99:59:59.999 It was difficult, but it was fairly clear to me as a new activist in free software. 99:59:59.999 --> 99:59:59.999 What I should have done, what we all should have done to actually liberate people from the oppression of people controling our own computation. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 Using some local application, some game, we need to replace it with an equivalent free game. 99:59:59.999 --> 99:59:59.999 We were using some client-server software, some mail ???, some mail client, some mail server, some IRC client, some IRC server. 99:59:59.999 --> 99:59:59.999 What we needed to do to actually empower people and liberate people was to rewrite those pieces of software with free software equivalents. 99:59:59.999 --> 99:59:59.999 It was difficult, because it was a lot of stuff to be rewritten, but it was fairly clear. 99:59:59.999 --> 99:59:59.999 The plan was clear. 99:59:59.999 --> 99:59:59.999 And also, luckily, we also had, at the time, all the heavy lifting was already in place. 99:59:59.999 --> 99:59:59.999 The GNU project existed ??? since quite a while, the Linux kernel existed already and it was working. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 That was clear, was hard, but it was fairly clear. 99:59:59.999 --> 99:59:59.999 That's where, I think, the notion of a free software project comes from. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 Having a lot of free software projects around gives rise to a lot of releases. 99:59:59.999 --> 99:59:59.999 So what we were doing a lot at the time in the 90s was actually manually install software on our own machines. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 This is a procedure you all know very well. 99:59:59.999 --> 99:59:59.999 You download a tarball, you run "configure", you run "make", you run "make install". 99:59:59.999 --> 99:59:59.999 The first time I saw, it that was kind of a magical recipe for me. 99:59:59.999 --> 99:59:59.999 Just follow these steps and you will get some software to play with. 99:59:59.999 --> 99:59:59.999 Well, except that every single step could fail, of course. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 You run "make", you encounter some compilation problem. 99:59:59.999 --> 99:59:59.999 You run "make install", maybe the path will clash and so on and so forth. 99:59:59.999 --> 99:59:59.999 The problem with this procedure for install software we are using by hand is that you are essentially conflicting roles. 99:59:59.999 --> 99:59:59.999 You're mixing together the role of software user, the role of system administrator and the role of software developper. 99:59:59.999 --> 99:59:59.999 You need to have a little bit of all those skills together to be able to enjoy software. 99:59:59.999 --> 99:59:59.999 In a sense, a free software which works like this is essentially a very elistist thing. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 This is essentially the reason why distributions much earlier had been invented. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 We actually make life easy for final users. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 This for me the historical mission of distributions. 99:59:59.999 --> 99:59:59.999 Later on, in 1998, our lab decided to switch to Debian and I was really happy about that. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 A few years later, I ended up joining the nm-process. 99:59:59.999 --> 99:59:59.999 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". 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 One thing I've learned in all these years in Debian is the importance of being principled. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 And an important document where we have distilled this notion are the DFSG. 99:59:59.999 --> 99:59:59.999 ??? a free software guidance which has been very influencial on the free software movement as a whole. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 It was really motivating for me. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 In Debian, we know that pretty well, that's a stumbling block for many people when joining the Debian project. 99:59:59.999 --> 99:59:59.999 It's something we insist people are at least basically familiar with and that's pretty characteristic of the Debian project. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 Time passes, there was supposed to be an image here, which for some reason disappeared. 99:59:59.999 --> 99:59:59.999 And, we might argue that, these days, we have achieved a lot since that moment. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 In some sense, we have achieved a lot. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 This is pretty impressive for me. 99:59:59.999 --> 99:59:59.999 We're in a place where I wouldn't have dreamed being when I started in 1997. 99:59:59.999 --> 99:59:59.999 That's very impressive. 99:59:59.999 --> 99:59:59.999 On the other hand, there are some reasons of concerns and this is the main thought I wanted to share with you. 99:59:59.999 --> 99:59:59.999 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". 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 That's a absolutely fair point. 99:59:59.999 --> 99:59:59.999 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. 99:59:59.999 --> 99:59:59.999 I absolutely agree with that but the point I want to focus on today is actually what we call the cloud. 99:59:59.999 --> 99:59:59.999