 Thank you for having me here. My name is Max Miel. I work for the Free Software Foundation Europe, the FSFE. We are a charity that empowers users to control technology. And today I would like to talk with you about one of our projects called ReUse. This is a nice project aimed towards developers but also people reusing software code and how we can make that easier. But before getting started right into the topic, I would like to ask you for some honesty. So I have three simple questions. So if it applies to you please raise your hand. The first question is, who of you has ever programmed some software code? Maybe a shell script or a sophisticated program? Okay, I see 95% of the hands up. Perhaps the last 5% are either sleeping or never really never touched software code. But this is fine as well. Don't leave the room. It might be interesting to you as well what I'm talking about. Second question is, who has ever released some software code, so released it as free software? Okay, numbers drop not significantly 80%. That's awesome. Folks, you're awesome. You're providing code, your creativity as free software to other people. You spread the four freedoms and enable people to control technology. That's awesome. But now the last question before we get started. Who has never been confused by how to properly license their free software code? Never. One, two, three. Wow, guys. Either you really blatantly lied to me or you're geniuses. Really. Congrats. Okay, next genius. So this is a problem, right? We have four people in this room, roughly 5% who probably know how to do free software licensing. We should change that. So there are some common uncertainties when doing free software licensing, right? So the most easiest question is, where do I put the information about my chosen license? So you do free software, you release that and you think about which license should it have, under which conditions can users use and reuse your software? Because that's your freedom to decide that. But where to put that? In the README file? In some license text somewhere in the repo? Do we have to edit every file? Or do we have to call Richard Stallman to ask him? Well, that's a problem, right? We don't know or many people don't know. And what do I do when I have multiple licenses in my project? So this could well be if your code is under a GPL license, well, under which license you can decide. But you have some documentation, for instance, which should be under a documentation license and the text license like Creative Commons. So you have now two licenses where to put this information, two license files in your repo. That's complicated. Then very important, how can we make sure that re-users are aware of the license that we've chosen? So you said, I want to have a copy left license or I don't want to have a copy left license. How can you inform re-users, so other free software projects, individual users, but also big corporations about your choice? How can you do that? Like how to make them really aware of what you think about your conditions for re-use? And, well, last but not least, free software is great because we can build on top of what others have solved. So we have an issue, a problem, another guy, another girl on the internet solved that issue. You want to take the code and re-use it in your own program to make a shortcut. That's great. Free software enables you to do that. But how to find out which conditions, which license the other person chose? So now you have to crawl through the repository, the readme file, or you have to trust something like github.com and the license indicator on top. And that's not really cool. I mean, that's work and free software programming should be fun. So we thought we really have to make licensing and copyright easier for everyone. So we have to find easy solutions because the solutions out there are not really solving the problem. And we came up with something called re-use. Re-use is supposed to help you, free software developers, and free software re-users. Our idea is to solve this problem at the very source. So we don't store information about our copyright and our licensing choice somewhere else, but as close as possible to the source files. So the idea is that it's really hard to ignore your licensing choice and your copyright information. So what we did is to come up with best practices for free software developers to make this licensing easy and transparent for everyone. So easy for developers, easy for re-users. And as I said, the idea is to store this information as close as possible to the source, so ideally at every file. So, sorry. So you would have in each source code file a license header or something like that or something where it's really easy to find this licensing and copyright information. And so the steps to reach this goal are quite simple. There are three steps. The first is choose and provide licenses. So you should, as a free software developer, make a conscious decision about which license to choose and store this in a dedicated place, like the full license text inside of your repo. The second part is to add copyright and licensing information to every file. So either add a commentator to every source code file or if that's not possible, like for binary files, like pictures or like other edge cases, we also provide some other alternatives to do that. The idea is, again, as close as possible, as transparent as possible. And the last step is to confirm re-us compliance. That's quite simple. We have a re-us helper tool which can check your repository and you can verify whether you have this information available for every file. If that's done, you get a big fat smiley and you're done for this. So this is one example, how this may could look like. This is a commentator which you could store in the file and it just has two lines, basically, the SPDX license identifier. So that's a unique identifier for the license you've chosen. So that's really clear. And the second is a copyright. Who is the copyright holder of the file? And this is also very important information. That's the most important information you need to give out if you release free software. So this sounds quite theoretical. We made it practical. We have the set helper tool which enables your help you in becoming re-us compliant. So this doesn't only check whether you're re-us compliant but also give a tool to initialize your repository, to download the license text so you don't have to find them in the internet from different sources. And it also helps you in adding these licensing and copyright information to the header, to the header of the files or also the alternative solutions. So this by that becomes really simple. And the tool is easy to install and you can find it online. It's free software, of course. But we also work on the learning side. So we have a tutorial that will get you started. So you will go through an example repository and you will just learn how to make this re-us compliant. And in order to help you to understand the principles of re-us. We also have an FAQ. This is not only for the re-us tool and the re-us best practices but also for basic licensing questions. Like for instance, what is copyright? How does licensing work? Do I have to put something like the year in my copyright statement or something like that? So really simple things. And to be honest, one year ago or two years ago before I really started to get into this re-us project, I also didn't have much clue about it. But like this FAQ and the whole combination of the tutorial and the simple guidelines really also helped me to understand copyright and licensing and to make it this easier. So if I have a free software project, now it's really simple. We have the best practices, of course. So this is not only nice words on some website but we have a formal specification of re-us. So the idea is that this is not a small movement but that we can make this a standard for every free software project out there. So there's a formal specification for source forages, for companies, also for projects that you can follow and that we constantly develop if you see need for that. And last but not least, we have something like a re-us as a service. So we call this the re-us API. By this you can quickly register your project, your free software project. So it's any Git repository, no matter whether it's on GitHub, GitLab or some other independent Git platform. You can register your project. You can see whether it's already re-us compliant. Well, it probably won't but it will create a dynamic batch that you can include in your README file so people can see that you're re-us compliant and see the result of the re-us check already. So this is dynamic. If you came to the point that it's re-us compliant, you will always see that. If you're not re-us compliant, it will also show that this is not the case. So this is really transparent and really easy to start with. So speaking about easy to start with, who's already using reuse? So obviously we started with our own project and worked quite well. So the FSVE repos. But a really cool thing is that there's the next generation internet project. This is a big project by the European Commission where they fund 120 or over 120 projects, software projects that make the internet or should make the internet safer, more secure and privacy friendly. So we have 120 free software projects that are re-us compliant funded with public money. So this is a really great thing and this will speed up the whole thing. But we also have, and this is really great to know, the Linux kernel. This is right now 60 to 70 percent re-us compliant already. So they have added the copyright information and added the license identifiers already to 60 to 70 percent of their files. And this is great when you know that the Linux kernel has such a long history and so many confusing copyright statements with changing companies and stuff. That's really complicated to clean that up but the Linux kernel is already quite far. And so we hope to help these guys to finish this up very soon. We also know about some multinational corporations who are already using reuse and make this a best practice for their developers, for their free software projects. And so one question remains, is your project already re-us compliant? Probably not, but you should do that. So go to reuse.software and make your free software project re-us compliant. And by that secure your intentions, how you want to have your code handled by other parties by your users. So if you want to contribute, of course, everything is free software and quite transparent. So we look forward to your bug reports, if you try it out, we look forward to pull requests, also to the website, also to the specification, everything is transparent. So please help us in becoming better and make it easier for everyone. You can work on this and on many other projects if you become an FSVE intern. So we just opened up a few positions. So no matter which background, whether social science, technical, legal, we have many cool projects and among them is also the reuse project. So check out FSVE.org. And of course, spread the word. Try it out. If you like it, tell your friends, tell your colleagues, tell your free software projects, tell your boss in your company. That would be great. We need that because reuse is only mighty, becomes only mighty and useful for many people. If as many projects as possible, we become reuse compliant and thereby make copyright and licensing easy, fun and simple again. So I would like to thank you for your attention. If you have any questions, go to reuse.software or just approach me after the talk or ask some question. Now, thank you. Any questions? Does distributing the license across all the files not make it a bit more difficult as well to find where should I be looking for the license that will apply to my reuse of this code? So if you have 20 different files, potentially with different licenses, you have to go and check all of them. Yeah, sure. But the idea is that you, I mean, it doesn't matter whether you have only one license or 20 licenses or 20 files. You can also do a license file. But it's important that if you do that, like, for instance, you use from a third party, a certain library, then this might have a different license. So it's important that people reusing then from your code, which are the, in which you also reused other components, that it's quite simple to see, ideally at the top of the file, under which license, from which copyright holder this file is. So of course, it might be complicated, but that's free software licensing. But we should make that more transparent. And that's just the idea of reuse. Any more questions? Other questions? There could also be different licenses within a file, right? Like Stack Overflow has, you know, you can copy code from there, as long as it's attributed, or things like that. Does the reuse handle any of that? Unfortunately not, but that's a really cool question that we also want to work on. The idea that we had is to have something like a, here begins code under this copyright and this license, and here dense. That would be great. Like right now, the reuse tool, at least, you could do that already, but the reuse tool doesn't really detect whether a license is split in multiple snippets, for instance. You could do that manually, somehow, but the tool would, will search for this SPDX license identifier and for a copyright statement already. So it would at least carry the information that there are multiple licenses in this file, somehow. But it's not like really easy yet. But we can figure that out. I think there's already an open issue for that. So if someone has a really good idea, please, please help us. I would be great. Okay, thank you very much. That's all the time we have for questions. Thank you.