 This presentation is about an introduction to free and open-source software and we try to see why it is important, someone would say it's still important today and a small print there says free and open-source software technologist, I didn't make that up, it's actually my academic achievement, that's the title of my master and it's gonna be probably a boring presentation, especially if you're into software because I'm gonna go through some history, some legal issues, but I'll try to keep the rhythm up so you don't fall asleep. So the first thing we need to introduce is what is software, you probably already know, every time I don't know something, a lot of quick pedia and it comes out with this definition which I'm not really happy about, it says it's a part of a computer system that consists of data or instructions and immediately introduce the contrast with the hardware, which is fine, but then at this point I prefer the definition I'm used to do, that's this one, and it's that part of the system that you can't actually kick when you stop working, that's what my teacher at university explained me, so this is more or less, these are two definitions we can be okay with, but actually software is more complex than just saying, okay it's that part of the technology you can't touch, because it's made of mathematics and it's made of algorithms and we know that algorithms are these formal methods that help you solving problems, so it's a kind of a process, software creation that involves mainly two actors, it's the human brain and some sort of machine, right, and at some point the human brain comes up with an idea and he wants to describe this idea to the machine in a formal way, in an ambiguous deterministic way, and that's how software is created, it's basically using a language, we transform our idea into mathematical tool if you want, and we write a set of rules for the machine to execute in a specific order, and then we give it to the machine and the machine will produce the expected results, so that's more the bigger view on software and the process of creating software, but associating this with computers, well and unless you consider this a computer, which was actually the famous Babbage analytical engine, which is completely mechanical, so it doesn't use transistors or integrated circuits as we're used to today, but it was already possible to write software for this machine, this machine was made in the early 18th, 19th century, so in 1800 something, and this person was the person who the first time theorized the existence of something such as software, so you probably know her already, she's Lady Lovelace, she was daughter of Lord Byron, one of the most important figures on the English literature, and she actually managed to write the first piece of software, which is already, which is still available in a museum, and it's of course public domain, and she realized actually the machines that are not made for a single purpose, but like Babbage analytical engine can actually do whatever you want, so she said the analytical engine has no pretensions to do something on its own, it's about us instructing it through a number of steps to do something, so that's what software is, that's the first definition of software back in 1842, well she also said other things like this brain of mine, it's more than merely mortal, the time will show, and she was right actually because she's a genius, so Lovelace, what was actually very important for the definition of software itself, it's a bit like the second half of the last century, it's a bit of a strange history because everybody tells it in their way, so mentioning some people rather than others, but we can all agree on the fact that the hacker ethics is actually created before the computers were accessible to people, and the goal was actually to have access to those computers to do something because it was something that was reserved for university, for like the old professors to play with, or big corporations like IBM, but there was like the development of the hacker character came before the existence of software itself, and okay we can also include Lady Lovelace in this terminology because actually what was her problem, she had this huge machine and nobody knew how to make it work, so she had to invent something, a language to talk to it, and also she wrote programs that could run on this hypothetical machine even if it was not built before another 30 years, but these guys back in the 40s were enthusiastic about building train models because it was something that you could actually disassemble, reassemble, and tune, optimize, so it had something to do with the way we are used now to look at things, so this group of people, like the model railroad club, at some point became students at MIT, they were already in Massachusetts, and they met this professor, this professor Marvin Minsky, who gave them the access to this big powerful machine, this TX-0, and was available for them to play and learn during off time. What was the outcome? In a few years these guys were able to write the first video game, to theorize AI, to learn, to teach the computer to play chess, and even to invent the second oldest programming language known to humans, and still the oldest one that's still in use today, that's Lisp. So in other words, they helped a lot defining the software as we know it today, but what they were starting as well was the hacker community that was starting in these days at MIT and later on even in California when some of them moved to Berkeley and met other people that made the history during the 60s and the 70s, and they theorized the points, they were the first one to theorize the points of the hacker ethics actually, so way before the era of the personal computer, and that's mostly because of the struggle to access these kind of technologies that were something for an elite of people, and still will remain like that until the personal computers will get to everyone. So what are these ethics? And I think this is still very actual, it's for something that was written thinking about today in a way, I'm impressed by these points here, it's like okay maybe we don't have the top problem anymore because accessing technology hands on, it is still a struggle if the technology is proprietary or closed source, but we will get there later, but all the other ones, all information should be free, but even your own information is free to access yourself, they're fixing that now, but very slowly, mistrust, authority promote decentralization, it's seen a nice graffiti entering here, it's like the ideas should never stand back, and that's about it, if you think something you should not just go with the flow, if you have good ideas you should always try to build something out of it, not to centralize everything, and well, there was already a big deal of inclusion in the fourth point there, because it was very early to say that hackers should be judged on what they do and not what they are for age, race, sex, gender, whatever, and this is very important because yes, you can create art and beauty on a computer, when you explain and non-technical friends what they do, I tell them that mine is a very creative job and I really enjoy doing art with the computer, but actually what I do is I write software for microelectronics, for the microelectronics industry, so from the outside point of view I understand that they struggle to just focus on the artistic and creative part of my job, but doing writing software is something very special, and of course, well, it took a while for us to understand, but computers can change our life for the better. Well, in the 70s, some of these MIT students moved to California, and someone like this student called Bill Gates started writing the basic programming language and he founded already Microsoft back in 1975, and meanwhile Steve Wozniak was building the Apple Tool in his garage and the other Steve was ready to sell it because he was already a pretty good business person, but what does it mean that the hacker community, these guys, these enthusiasts, got to provide the impersonal computer to the people way before the big figures, the big corporates of the time, HP and ABM, could even figure out there was such a market, so they got there first. What happened afterwards is like home computer where introduced, we start having all this nice Commodore 64 or Sinclair Spectrum at home, and I was a kid, I did have a Sinclair Spectrum, I remember that I could go to the newspaper shop in the 80s and buy those cassettes with video games on it, but they were not the original video games because they were cloned from the originals, translated to Italian with a completely different name, sometimes even the sprites were changed because the source code was there, nobody actually had the idea of ownership of the software, you create software but it's like writing down an algebraic equation, for instance it's not something that they could think about having some kind of ownership on it, some kind of copyright, that came later, so the software actually was already born free, in the sense that everyone could do whatever they want with it, just before we or some company realized that it was easy money to do it, like you make software once, you copy it as many times as you want and you can sell license fees for each copy you sell, so it's a nice business model, so the legislation kind of followed these indications from companies and of course the copyright law was modified in many countries in Europe to include software as it was a novel or a piece of music or a painting, so that's how the two words met, but before that proprietary software never existed, so some people that were like a bit concerned about this, like we're introducing the concept of copyright and ownership on something like software, that as a hacker community we always consider something that was public for everyone, but that's a normal process of course because if you write something and it starts to have that artistic value I was talking about, so it's not that bad to have this kind of regulation, it's just that these guys, Talman was very against it and he started his own project and he started writing this GNU project because the most popular operating system at the time was Unix, but it also came with the strong ownership from from big companies, so he said I'm gonna write one that's free for everyone, but he hadn't yet theorized what the license model should have been, that came a bit later on. This project was not very successful in the 80s or the beginning of the 90s, but for a simple reason these guys seem to fail to write the core component, the kernel where this operating system could run on, but yeah probably you already know the story, this young student in 1991 Thorvald sends emails saying hey I wrote this kernel and that turns out to be the missing component for the GNU project, but in the meanwhile what happened in the 90s is that personal computer were replacing this home computer that we had in the 80s and there was one strong player that was the Microsoft that was founded back in 1995 and had a lot of project products and they tried to lock in the users with all the ways they could, so even making some versions of the software available to the public for free, especially on the office suite, to ensure that people are forced in a way to stay in that railway of technology that they defined so they can guarantee the return on revenue on those products. The problem is there's nothing wrong with it, that's how the market works, the problem is that this process also englobated the public administration in many cases, which means that a lot of public money started flowing on a single big player in the market already back in the 90s, but it was already happening since the introduction of copyright of course and the commercialization of software. Linux in the meanwhile in the 90s at the beginning it was just a few followers of this Torval guy, mostly people that are very interested about programming in C with the system and decide what the system, the public system for everyone will look like, but it starts leaving its niche, it starts conquering parts of the technology that where it actually makes a difference, so mostly the server, so most web servers switched to free and open source solution running on Linux already very early in the days and a few new companies are born on defining a different market value than just selling license fees and I'm talking about Red Hat, SUSE and other companies that have contributed making Linux great, making Linux what it's today by investing money in the development of this free software and moving a bit, shifting the development of Linux from the basement of hobbyists to an actual corporate environment, so also introducing different kind of quality metrics, etc. and their business model is not anymore on license fees, but it's based on selling services or other more complex business models that we're not discussing here. Then again, what happened in 2000? The good software, as in well written, it became popular again because a lot of network devices like your routers and access points at home are being replaced with Linux machines. Linux becomes mostly popular on the mobile market thanks to Google that makes this open source, not new version of Linux that runs on half of the mobile phones in the world and this company Apple that's in 10-15 years of dark age with dubious products on the market suddenly against popularity again, which is good because it gives a bit of diversity on the market because you're not anymore tied to one single brand, so this way you make space for the third one. Yes, there is a few good achievements that we have had in the past two decades and especially we know that good technology, well written software, can prevail on the market because when the companies are interested in how things work it's not anymore about how much money you spend but it's the results that you achieve. There is some kind of victory for someone who lived this from the inside. It feels good to have Linux as one of the most important software projects right now in the world and so much popular in almost everyone's pocket. But let's go back for a moment of what is software? So software is made of what? It is made of ideas, it's made of algorithms and it's made of solutions, but it's a matter of form rather than substance. The things that you don't find in software like atoms or molecules are something that compose matter. So why do I get here? Because some people still especially politicians don't understand this separation so they still treat software as a product as something you can sell but it's just a matter of form. If you get two programmers and you tell them to write the same thing they will use two different technologies probably two different programming language and come out with something that they don't look like each other but probably in the end they will do the same thing. So look at how many possibilities we have for every single software that we can use nowadays and that's because different communities, different groups, different companies have worked on a similar product but they're not exactly the same but this is not plagiarism because if you start from a from a from a blank sheet you can start writing a novel yourself and it's just a matter of form. If the butler is the killer in my police novel it would be already in several of them but it doesn't mean that it needs to look like the others. So the software ownership it is a matter of form it is never a matter of content so if I do something and you do something that looks similar to it to the user's eye it doesn't mean that we use the same code and if we didn't those are two different things so all these words and patterns you can imagine it's just pointless because we will talk about two different recipes to make chicano gratin but if it tastes good it's not it's not plagiarism so this is important because a lot of companies corporate lobbyists have tried to introduce the the concept of software patents and they've been trying for years actually and it might even look nice as a concept because it means that you know when you put a patent on something you need to release every single bit about it from the latent pattern which means to lay open to show the universe but this only applies to physical things like if I do this I design it for the first time it's a nice object I can put a patent on it and then I will exclude all my competitors to produce it because that's my invention and but this is as a cost for me to produce it as a cost for me to put on the market it is different it's not a concept I can put patents and concepts so this is just pointless right it's a luckily we're still resisting from introducing this kind of model on software and that's not that's not the case everywhere because in the US if you're powerful enough you can still put patents on software so you can still patent ideas which is a bit scary what are the regulations about software software is regulated by the we've seen the copyright law so you can't sell it so when you say I bought that product from that software company you didn't buy the product you actually sign the contract with them that's very similar to a rental contract when you rent a new house it's it's it's about defining what you're allowed and not allowed to do within the boundaries that who granted you software license decide for you and you can decide of of course to accept or or not that this kind of contract but that's still how it works you don't buy actually anything software is not a product and that's actually how it is regulated in european countries through the copyright law so these licenses basically the proprietary licenses are there to put walls and borders around where you could move while using the software open source licenses are just the opposite as we've seen they were they were created as a reaction to the introduction of proprietary software because that never existed before the 80s to put back things as they were before and yeah this the whole discussion of course implies that that you read the software agreement the terms of agreement of the software that that you're gonna use but you are bound to agree to the rules that are written there so the open source words to make it really really really simple as basically two approaches the number one approach is permissive licenses it's like the bsd license that's a that's what is normally called open source in a broader in a broader sense and the bsd license says do whatever you want basically except to us but on the other hand you'd be so kind if you really really become rich with it you should still mention the original authors in your copyright notice to give them some glory that's what open source looks like which is not the not really ideal because if i'm a big company and i'm really interested in the software that wow there is is writing i can just steal it make it better not release it back to the open source he will still keep his own version which is lagging behind because in the meanwhile i had new features i had it i fixed some bugs i'll never tell him and my version is clearly better i invested money and time on it so i'll sell it on the market but what comes back to the original developers is clearly nothing so the same guy behind the new reger storm and i wanted to have unix for everyone um he invented this new kind of license that's a free software license at the also called the new general public license which is different because it's less permissive so it's a bit of a clash with the term free but the term free in this case means you need to provide freedom to your next user and it's done through the four freedoms so the freedom number zero and it's exactly the opposite as proprietary software so closed source is only one part of the problem freedom zero is use it for whatever purpose you want so anything even to make weapons or whatever we don't care because you're free to use the software for any purpose that was designed for some purpose probably but you're free to read adapted to anything um you're free to study it because what's the point of running something if you don't know what's inside it it's just a black box and you don't get very much from it or at least you are kind of one of the machines in the in the in the distributed system because you're using it but just through the path that you were indicated so you're you're making basically a set of predictable steps so you're like the the Babbage machine basically but you're just facing another machine so it's a bit sad the fact that you can't actually read the code that's probably one of the the part that that people like the least but also I'm not just if you stop there you get something that's called the micro shared source license I think works like this so you're free to use it and you're free to look into it but that's it don't even think about touching it but what they want to do with this software is changing it and making it better because water software is great but yes a few things that can be improved so I just move towards action and improve the software water but not for myself for everyone because the rule number three as the last of the four rules says you are entitled to redistribute all the derivatives but you must keep granting the four licenses to the next to the four freedoms to the next person so the software should still be within the same license some people call this viral but it's it's not bad it's actually it keeps the market fair it keeps the ecosystem working so I'd rather use something like this for software I write than the open source permissive licenses but of course this is always a matter of bias and taste and personal history and whatever they're obviously both have a good history of nice project and working track also in in trials so in in actual low environment so there are communities that were able to to sue big companies because they violated one of those freedoms so this is powerful this is a powerful weapon but of course a lot of companies yeah think that this is viral because oh my god all our sources is immediately becoming free for everyone but making software making money on software licenses is some legacy we have from the past it's not a model that's working still in 2018 it's we now sell services we sell experience we don't sell software licenses that clashes a bit with with the degree of technology we have reached so far and if you open your code it doesn't doesn't mean that you're not going to make money with it because there are many business models that are that are based on on free and software and open source software licenses yes probably you're not making billions probably not like founding Microsoft again but I don't think that there are like historical basis to to do something like this right now what we should be focused on should be mostly a way to guarantee a fair market for everyone together and from a small software artisans to the big company everyone should be able to make money with with what they do because software development is is a hell of a job it's very fun but it means you lose sleep and it impacts on your life in a way so you want to get some something back from it but of course there are many ways to do this and of course there is always these companies that say no we don't release our source code because we don't like it it's and my doubt is always the same are they not releasing it because their code is damn ugly and I cannot show you I've seen some code that was not released under an NDA from some customers I worked for and that's the case 90 percent of the time they don't want to show the code because the code sucks because it's completely unreadable it's difficult to maintain and they don't want to associate those lines of code to their logo that's why companies don't release software on open source licenses most of the time because there is not much of a huge advantage right now for how the things have changed to keep proprietary software closed source on software products so proprietary software is not always paid it can be free as in gratis so free as in a free beer let's say but not as in freedom not as in the for freedom but it doesn't mean that it doesn't lock you in because it doesn't ask you money it can still be like completely closed source this is the this is the case probably for thousands of apps for a for a mobile phone they don't ask you money but you will never be able to see the code and that's also bad because we're not fighting against the high price of the software here we're fighting against the the whole concept of hiding your technology in something that's that you don't want to show to the other people how it works so and of course from for people like hackers this is annoying it is frustrating because you will never know how it works you have no ideas who wrote it you need to be trusting them 100% so if you get a computer and you put your nice apple operating system or windows operating system you will never know what it is doing in its core because you're not able to look at actually the software how it was written so and also limits all the other kinds of licenses of freedom sorry that are granted in the free software license because normally in a eula in a in a and user license agreement of one of those software they state clearly what kind of actions you can perform and what you cannot and for sure it won't let you copy it to your friends and there is this funny clause there's many proprietary systems include which is completely invalid in within the EU that's against the reverse engineering so let's say you want to know how something works and you start tearing it apart and checking each component and trying to figure out a bit as you did with your toys when you when you were a kid or with your PlayStation 3 when you had to modify it or you can do the same thing with the with software there are like programs like these assemblers that let you know what actions the machine is is performing step by step please keep using those keep looking inside the software and check what it is doing even if the code is not available because even if the license says it's you can't do that well as long as you are within the european union it's it's your own damn right to do it to start checking and and seeing why the software is being in that specific way and of course that's that's a very very sad note about proprietary software like a lot of the money in the public in the public administration is still going to big software corporations to licenses that are granted to a specific structure just imagine i don't know how many hospitals are in Brussels so probably eight or ten just imagine each one of those hospitals need to buy license for the same software many many times and it's it just adds up to the to the cost if we had the different way of doing these things that would be much more it would be much better for our society but also much more convenient for our pockets because a lot of public money go there so probably a lot of your taxes go there as well and okay i have a video to show you which explains why if the software is it's done for the for the for the public purpose it should be public itself and so open source and even free as well i'm really good to show it to you okay so video treat our public infrastructure like our streets and public buildings the same way it treats our digital infrastructure our members of parliament would work in a rented space where they weren't allowed to vote in favor of stricter environmental laws because the owner a multinational corporation didn't allow that kind of voting in its buildings nor will it allow a long overdue upgrade to more than 500 seats this means some members of parliament have to stay outside in the street and a couple of blocks away a brand new gym is already being torn down just six months after it was built it's being replaced with an exact replica at great expense and the only difference the new manufacturer also provides street for as an added feature meanwhile every night through a hidden back door in the city hall documents that contain sensitive information on citizens from bank data to health care records are being stolen but no one is allowed to do anything about it because searching for back doors and locking them would infringe the subject and as absurd as this sounds when it comes to our digital infrastructure things like the software and programs that our governments are using every day this comparison is pretty accurate because mostly our administrations procure proprietary software this means a lot of money goes into licenses that last for a limited amount of time and restrict our rights we aren't allowed to use our infrastructure in a reasonable way and because the source code of proprietary software is usually a business secret finding security holes or deliberately installed back doors is extremely difficult and even illegal but our public administrations can do better if all publicly financed software were to be free and open source we could use and share our infrastructure for anything and for as long as we wanted we could upgrade it repair it and remodel it in any way to fit our needs and because the open source in free software means that the blueprint is openly readable for everyone this makes it much easier to find and close security holes and if something practical and reliable was created digitally not only can you reuse the blueprint all over your country the actual thing itself can be deployed anywhere even internationally a great example of this is fix my street originally developed in Great Britain as a free software app to report view and discuss local problems like potholes it's now being used all over the world everyone benefits because new features and improvements are shared by everyone if all our software would develop like this we could stop struggling with restrictive licenses and could start thinking about where and how software could help us we could concentrate on creating a better society for everyone so if you think that tomorrow's infrastructure should be in our own hands help us now by sharing this video and visiting our website public.edu it's time to make a demand public money public code so you worried yet um what are the actions that we can do at this point as a user it could be more critical there are alternatives to the software that you use to every day okay sometimes this means being out of your network of your hands for your the latest messaging or social media whatever but yeah I've been through this and that's not that bad I mean it just if you are a developer it's even better because it just pushes you in improving what's already there but as a developer you can do much you can learn new stuff that's number one if you stop learning it just stuck again in the same kind of technology and that's something you can't afford software itself is something that's moving and developers can't be static so never sit down on your own knowledge just if you think you know too much just go ahead and learn something new and there are so many interesting technologies and so many interesting communities out there in the open source and free software word that just they're just waiting for you basically and they're all eager to to to guide you through their own technology because they're usually very passionate about the what they did so yeah start contributing start your own project but most important to join some communities there is in Brussels there is the outer space there is a certain informatic here at tlb it's it's this kind of technology knowledge enhancement places because you get there you show people what you've done people will show you what what they have done and you bought you bought come out very enriched by that of course there is stuff that companies can do as well like sponsors open open source project and ideas for their employees to evolve because that's also means that they're learning new things and becoming better professional adopt open standards so start refusing lock ins policies like big company can come out tomorrow with the new way of visualizing web pages that they decided on their own but it was not like they didn't go through a research a scientific path that open standards and protocols and technologies went through to assess a wider range of problems that are not specific for it for a for a single business model and of course yeah it's it's all about the the mentality of not hiding stuff it's just showing what you can do but new battles are there it's just it's not just the the fact of the of the closed or proprietary software that's warring the technological society and that has to do with the with the with the hacker ethics we discussed earlier because the new battle is actually played on decentralization free and open software is not enough alone it has been a powerful weapon but it's not enough because big companies have learned from their mistakes and they start inglobating open source software they learned how to use it and how to get through communities alter licenses make them sign contribution agreement etc and but be careful because the the goal of the of the free software community is not to destroy capitalism even if in my own opinion it would be a nice side effect but on in general we are not like trying to mine the profit we're trying to make the market more fair more ecologic from the society point of view and so if you promote free software and especially free software not just open source you allow individuals to grow and small companies can compete again with large enterprises and still the gpl license is the i think the most powerful political but also legal tool that we have to increase to increase the the this kind of fairness and equity on the market where small players again can become rich can go through that hope of developing different software in a different way and of course be aware of one thing in open source where there is a lot of false friends a lot of people that say we are friend of open source we support open source we've even contributed to the linux kernel and they go around and organize this kind of let's not just all all the big corporates even local belgian companies will invite you to hackathons where you're supposed to write software for their own idea or promote your own idea or kind of you know summer camp where where you write software for them but be careful because licenses are very important in in these cases because if someone is telling you to develop open source software you just need to go one step further and say is this also free software because if it is not i'm basically improving your own proprietary services that you that you do with my open source software so i'm not against it and just saying if you think i'm good just pay me because developers need to eat as well right so even if people ask you to write open source software that's not something that came from yourself from your own community just please ask for money because it's not acceptable that big companies get cheap labor and uh and yeah beware of marketing especially big news titles because big companies normally pay the press to to put there the best technology in the in the first page uh but it's it's not that bad i mean you can build your own career on on open source software of course you need to be ready to sacrifice some of some parts of your life like sleeping that's not something you you're gonna do because especially if you have like full-time work or your students and you're very busy with your with your schedule and you do other things in your life you don't you'll have to to find some some time for your hobbies but that's for everything of course and but if you have the accurate mentality and everyone a little bit has it i think it just depends on how much you develop it and in your in your younger years if you want to know how things actually work and if you're interested in the tearing them apart studying them and putting them back with new features or the facts fixed etc then you should really consider to become a free and open source developer as side effect of this is that if you write good software and you're passionate about it um at some point your software your software will become part of your cv so the good companies that hire good software developers will check your github page to see if you actually can write software can if you're able to to solve problems that you had in the past etc so just put some some time in it it's not just lost but if you if you actually believe in the project it will come come back it will it will come back in in the form of a profit for yourself as a professional software developer and of course one thing that you need to absolutely do absolutely is coming to fosdom because fosdom is is more than just a conference it's just celebrating the beauty of our magnificent community of more than 7 000 hackers because they like to to wear funny t-shirts where they say that they they believe in these um attic points that that that that we've been through and of course we have a lot of other things we have beer we have a week of talks just concentrated in uh in in just a single weekend that's that's the best definition i've got from fosdom was from a from a tweet from that guy um exactly this year and uh we have beer we have communities that meet up especially on fosdom there is people that you can only meet at fosdom so there is open source there is free software and there is beer did i mention there is beer and so i'll see you in february at fosdom but meanwhile i don't know i've probably got really tight with the time but uh if you have questions or things that you want to discuss with me i leave you this this is all my contacts so you you can actually confront me on the things i said and if there is something that you don't like especially please let's start a conversation about it and uh i'm even going to uh to publish these slides uh with the gravity comments so if someone wants to add things or hate me for a specific thing i put in there i'm just open to everything so yes thank you very much and thanks a lot for your time i hope that uh it was not so too boring and uh you actually got something from this thank you