The road ahead for network freedom
Webber, Christopher
Christopher Allan Webber of GNU MediaGoblin discusses the past, present, and future of free network services. Issues of network freedom have gained much attention over the last six years, and increasingly so both within and outside of the software freedom communities. Progress has been made, but present adoption shows we seem to have a ways to go. What opportunities and challenges face free network services? Ranging from licensing decisions, technical choices, protocols, deployment configuration, and how we message ourselves, many components inform the past, present and future of this field. Join Christopher Allan Webber of GNU MediaGoblin in talking about what can be done so that network freedom can be something that everyone can feasibly enjoy
 I want to introduce someone who's one of my heroes and Chris is one of my heroes because he cares very deeply about an issue that's important to me that I don't work on enough but he spends all his time working on it which is the freedom of network services and he's done the more work than almost anyone in the community on this issue and I want to hear his wonderful talk on it. Alright, well thanks Bradley for the very kind introduction. So yeah, so this talk is about the road ahead for network freedom. So actually a little bit about me, Bradley already somewhat introduced me but I'm Chris Weber. I'm the lead developer of a project called GNU MediaGoblin which some of you may know of. I'm also a Python developer, free software and free cultural activist. I've been doing this for quite a while. I've worked at a number of free software organizations prior to this. I was working at Creative Commons full time and at the Participatory Culture Foundation and I'm doing MediaGoblin full time actually as a contractor through the FSF and I'll get to about that a bit. But you're not here to hear about me and we don't have a lot of time so let's frame the conversation. It's not very hard to frame this conversation thanks to the last year's political situation. The present reality of network freedom is very clearly not pretty. We have corporate control of the web, NSA spying, freedom for developers but not for users. That is a phrase that I will probably repeat a few times but what do we do about all this? What actually can we do? Well I'm actually working on a project to try to do things about it and towards the end of 2012 we actually ran a fundraising campaign with the FSF which is what's paid for me to work for the last year or if you include the time working on the fundraising campaign and the stuff since this last year, about a year and a half actually to work on Media Goblin full time and thanks to the community I'm able to be paid to work on this. We had a video which is actually probably one of the best explanations of Media Goblin we have and also ties into a bunch of stuff that I'm going to talk about here so I'm actually going to play that. Apologies if you've seen it already. For just over a year now we've been building a site new project of the web called the new Media Goblin. Media Goblin is a media publishing system for hosting audio, video, images and more. It's free software so anyone can run it and customize it. It can do a lot of cool things including supporting multiple media types from images to videos to audio. This means you can have all your media in one place. It's also built for its sensibility which means you can add entirely new media types even something wild like Asgyr. Why not right? That's that new goblin speaking by the way. Media Goblin is part of the movement to make the web a better place but we need your help to make sure we get there. The internet and the web were designed to be decentralized. This is great because it enables a global and diverse voice. It's also very resilient. If one server goes down for whatever reason the internet still exists. To quote John Gilmore, the net interprets censorship as damage and routes around it. But recently the internet has been moving in a different direction. Instead of a resilient web of smaller and independent sites we have larger, more centralized sites. This has several problems. For one thing the more centralized the web becomes the easier it is for organizations to automate censorship either via the centralized host directly or even through the pressures of external institutions. In such a system the internet can't route around damaging more. Things are much more fragile generally too. In a more decentralized web if one node goes out the whole system lives on. But what if everyone's photos were on Flickr and it disappeared? What would happen if YouTube went away? What would happen to cat videos on the internet? It would be like a cat massacre. This leads to a sad attract. This is why we're developing Media Goblin. Media Goblin is devoted to putting power back into the hands of users. And it's a good new project because we care a lot about freedom. We've already got a lot of stuff that's pretty awesome so I hope you'll join. Media Goblin supports all different types of media and support for more types could happen soon. We have e-mings so you can make it look any way you want. We also have obituary map supports so you can see where your pictures are taken. And we have commenting and other things that web users are used to. It's working software that you can run yourself. Over the last year and a half we've had over 50 contributors and have made several significant releases. This is indeed exciting times. We need your help. Media Goblin has come a long way. There's a lot more it really needs that it can become the best media hosting option that there is. Most noticeably we need Federation. Federation is how email works. You and your friends might be on entirely different servers but emailing between them feels like they're on the same thing. We want media hosting to work the same way. Stand up, Matt. I'm going to stop it right there. That's about enough of that video that you need to see maybe even a little bit more. But I brought it in there actually because the reason why I replayed the thing. And that's actually because I wanted to talk first of all, I'm talking about the road ahead for network freedom but one of the most important things that I think has to do with this is actually the issue of messaging. You might be wondering, well, wait a minute, this is a talk about network freedom. What does that have to do with messaging? What is that really important? I'm going to get a little bit more science fiction-y for a second. I'm going to say that actually I'm going to talk about computing freedom as a human right. This sounds very science fiction-y. This is also partly because we tend to treat software freedom as kind of a nerd issue even by most of us. There's a lot of other projects that are more important. There's a lot of other issues that are more important. And we kind of tend to downplay this in some ways. And that's probably even actually fair so that we don't become into totals egotistical jerks basically. But actually computing is getting closer and closer to where pretty much everything you need to do, everything you want to actually convey or actually act upon involves computing in some sort of way. So we're actually moving to the point where this is not just a nerd environment type thing. Computing freedom affects everybody. Okay, so accepting that, the problem is though that issues of computing freedom are mostly just understood by nerds. Outside of hackers and academics, how many people actually understand the concepts of computing freedom, especially the concepts of free software, especially as an ethical issue. And network non-freedom has an at work effect. In networking stuff, if you take a look at, for example, how many of you have wanted to leave Facebook, maybe even left it and then came back, right? You know, probably quite a few. It's very difficult to actually be able to, in a networked world, be completely free when the rest of the world is non-free. So we actually can't just be, we can't live in a world just like free software for free software nerds. It's not possible. And free software, anyway, we really shouldn't do it. Is this not freedom for the technically skilled view or freedom for society? And surely we were in the broader social movement camp. So, and lastly, accepting all of this, now that we know this, how do we go about it? Do we just become super smug and we're like, we know what's right. We're the free software people, all you people, you don't know what's going on. That's not going to work. That smugness is not the answer. So, what can we do to improve awareness? So, I think that we actually have a lot of teachable moments. You know, the upside to the really terrible last year of us finding out how bad things really are in computer science, like in the world of computer security and stuff, is that people really latch onto that stuff. We made this video before this note and stuff came out, but like, you know, the app itself has had this image up on their site for the last year. And you know, like the thing is, we had a lot of people actually come up to me after this video and they were like, oh, well, you know, I wasn't sure why I cared about any of this stuff, but I really felt it after I watched your video. And what if we create materials that are for people who are not really probably going to spend the time to actually dive in to reading, you know, some very academic articles about what free software means, but just get people like the equivalent of like the environmentalist level of things, right? Like environmentalism. Not a lot of people actually do anything about it, but most people get the general ideas of it, right? Even if they're actually not making a lot of movement themselves. We're not anywhere near that level and that makes conversations really difficult. And the media problem video is partly an attempt to actually prove that this is possible. That's one of my secret agendas of many secret agendas that I have, I guess, not so secretly on the table all the time. So next stuff. This is licensing and policy thing. Let's talk about licensing and community. There's a lot of stress about this in the free software world, especially, you know, probably somebody in this room tends to stress out about it more than anyone else about copy left and permissive licenses. But actually, I think this might actually be a symptom of something else. And that's why I have this lovely little don't panic picture on here. It's because I actually think that this is a symptom of a different change that we've been seeing. I have a little blog post up here from one of the GitHub founders that says open source almost everything. At least everything but your secret sauce, right? And this is a really common discussion. In fact, the secret sauce would get brought up this morning, you know, in the Twitter conversation, right? So in the mid-2000s, we saw the rise of the web 2.0 world. And this is like, at least, you know, and we saw this also happen with kind of a big switch over to max and kind of like a lot of people kind of an exodus from the free software desktop. And this kind of also came along in the time with a lot of anti-copyless sentiments, which has just been kind of on the rise in many ways, which this idea is like, you know, actually in some ways this is actually a conversation of like, you know, the release everything but your secret sauce. But it's also kind of a developer freedom kind of thing. Like, you know, like we can really do a lot of cool things if we just release all of the tooling as free software, but we'll stop right there because then we can make a bunch of money on that proprietary layer. And this, like, we can write free software stuff during the day and it'll be awesome. But now we have a bunch of free developers and the users are actually still encumbered. So this is not really, I think, actually the greatest thing. And the anti-copyless attitude is not really kind of the traditional BSD kind of like, well, I'm so against copyright that I'm against even using copyright in this type of way, which can be an ethical stance. It's actually kind of a, well, we want to proprietize this layer type of thing. Although sometimes people trickly try to think you, to make you think that they're in that camp. But so most devs make their license choices today on what their role models do and who are the role models of today? The role models of today are mostly a lot of people, you know, like the leaders of Django and Rails and types of people like this, who have these very anti-copyless sentiments. And so that's led to kind of like, people tend to do what their role models actually do. So moving on from there, are we in a copy left crisis or an ethical crisis? I actually think that the reason why we're seeing this is because where people are working right now are in the library space. And libraries tend to be more conducive to permissive licenses. And I actually think this is okay. We're doing just fine infrastructure-wise. In fact, this makes my job of building the thing that's on the next layer a lot easier. But we still need to work on that next layer. So we're not really struggling on the developer freedom side, but on the user freedom side. But is copy left totally dead in the web space? Well, actually, when you look at web applications, when you get to the total secret sauce releasing side of things, people actually, when they release that side as free software, tend to actually use copy left. WordPress is under the GPL, and so is Media Wiki. CPCRM is under the AGPL. Statusnet and Goose social was over the AGPL. Pump.io, the kind of successor is under the Apache, but that's because it was for a number of reasons. One was because it was trying to become more of infrastructure. PageKite, MailPile, Diaspora, MediaGoblin, Agatorious, all of these are under the AGPL. So actually, when people work on that top layer, copy left still seems to feel like a pretty good choice. So in other words, we're struggling with getting polished user-facing free software and getting in the hands of users. But when that happens, copy left actually seems, it actually doesn't look so dead. It's just that we're not seeing as much movement there as we need. So, freedom-aware communities are the antidote. So I think there's two things that we can do. In the infrastructure side of things, we need more people who are actually in the side of building infrastructure, even if they're in a permissive license space, who are like, actually, this top layer is really important, and I care about not just the infrastructure side of things, but actually building, getting freedom all the way down to the user. And if we actually have that, that's an opportunity to kind of get people engaged to build the tooling that we actually need. But we also need people working on that top layer of things, building the user-oriented network applications with tomorrow, like MediaGablin. And probably people will choose copy left licenses for this. And if people give you crap for it, just say, oh, I copy left what you released as your secret sauce. That's the difference right there. But right now, we don't have enough polished examples. And so that's partly a problem. So let's talk about deployment and adoption. Even though we actually have some software that releases free software, we don't have enough users, and we also don't have enough people deploying this. And this is partly because it's actually very hard to run free software network services. And if somebody is running a free network service, this is not a fun thing for me to admit, right? So we're struggling on this. Deployment is hard. A lot of free software web applications are not packaged or just packaged in their language and environment. And there's a trend toward kind of language-specific packaging and environments with Python, using virtual-on-vins stuff like that, and kind of the whole setup-tools ecosystem. And not to mention that once you actually deploy things, editing application is not just as easy as just app get install, some sort of server. You also have to generally edit application files and all sorts of things like that to get things to actually work. And so that actually makes things pretty difficult for people to deploy and then maintain. So most modern web applications actually require somebody who's familiar enough with the language to actually deploy the application written in that language itself. But we should be engaging in this type of thing anyway. Even though this is actually a sad reality of it, I actually think we need to be deploying the type of... One of the reasons that Nidhi Goblin has written in Python, despite Python being difficult to deploy in this type of thing, is I see that these types of applications, this is the way that people are writing modern web applications. So if we're not actually trying to go through the process of making those difficult to deploy applications easier to run, then we're just stuck with writing crappy applications or just not getting that deployed at all. And users don't tend to see this because part of the trend has been you don't run your own servers, you don't have any control over it. And then you have a team of people who are just like, you know, you've got a team of DevOps people who are both developers and system administrators, and they handle that type of stuff, and the users never see it. So, but network freedom does not have that luxury. We need people to be working on these things to make this type of stuff easier. And if we don't, we're not going to move forward on this. Now, you can actually say, but wait a minute, what about PHP? PHP is super easy to deploy, right? Well, it's sort of easy if you're using shared hosting, but the sort of things that make it easy also kind of make it easily exploited. The, you know, how many you compromise WordPress sites have you seen over the last number of years, probably quite a few if you've had to deal with WordPress sites. Shared hosting is also dying and for good reason. It's actually not a very good user freedom environment. You have very little control over that server. So this is not actually really a really great situation. And PHP is living in the past, dude. Like, just don't write things in PHP. That's my opinion. There are good PHP communities. I'm not a big, but I think that like saying like, well, we'll just got PHP and that's a solution. It's not the solution in my view. And I do acknowledge I have language bigotry though. So not just the web services though, you're like, so like, oh, you media goblins, you guys are super hard to deploy. That's the problem. You guys just don't know how to write this stuff. Well, okay, let's take a look at some other federated services. How about email, right? It's been around a while. Email federated. We know all this works. Been around a while, right? Super easy to deploy by that, right? I didn't even have to ask anybody because I got the laughing response. You know, how hard could it be? I had a friend say to me recently, I'm so tired of relying on Google for all my email. I'm going to run my own server. I'm going to just do this. I've got a linode account. I'm going to run it. And then they went and they installed and they're like, I just said, what packages do I install? I just installed the packages and I'm good, right? Like, can you describe your mail set up to me? And I'm like, well, I probably have kind of a nonstandard setup. What I do, I have postfix and I have Dovcott to deliver the mail to me and then deliver it. I connect over an SSH tunnel to be able to send mail. But I also deliver to a mail. What's the question? It's a bit hard because it's exactly because it has been around for that long time. It's got a lot of baggage. It has some baggage, but the protocols are not that complicated in some sort of ways. But anyway, so I interrupt them myself. So my setup is I've got postfix and Dovcott delivering to things and then I run it through proc mail, which then goes through spam assassin. I fetch it over to my machine with offline IMAP. I index it locally on my machine with MU. And then I run an email explying called MU4E. Super simple. Oh, by the way, my mail's recently got marked as spam because I wasn't sending the right headers on my mail. So like, this stuff is not easy, even if you've been struggling to learn how this stuff works for a long time. But I actually think that email in some ways is very complex, but it's not just a protocol being kind of crifty and been around a long time that's an issue. It's that deploying and maintaining and configuring all these things are not that easy and there's not been enough space in making the configuration layer of things easy. So we use user-centric configuration and deploying and management type things. And there's actually a lot of work being done on this right now. Docker, SaltStack, OpenShift, Puppet, you've probably heard of a lot of these things. With the exception of OpenShift though, we need these layers above the packaging world. However, while there's all this cool stuff that's been happening, they're mostly oriented towards sysadmins and kind of corporate environments. And so while people are like working on this type of stuff, it's not actually for that end user type of person I'm actually talking about here. So we need to get another layer above that. We really need a configuration and deployment management for somebody who will never touch a configuration file. That's what we need. So what can we actually do? Maybe something like OpenShift where enough things are abstracted as a type of solution. I'm not quite sure. It's something that needs to be worked on though. I'm very busy working on Media Goblin though, but I'd love to work with people who are working on this type of thing. That's the situation I'm in. So what's the silver lining of this situation? Oh, I just made deployment seem really frustrating and like, oh, we're so fucked. But what are we going to do? Well, actually there's a silver lining to this. The free software desktop used to be really hard to run and maintain. People used to have parties just to get this stuff running on your machine. And we need to encourage people actually running stuff on this frontier until it gets easier. But in the meanwhile, when things are hard, there's actually an opportunity to learn cool things. I learned all sorts of things about file systems. I learned all sorts of things about like kernels and how they work and then compilers and all sorts of things I never would have learned if my computer were not so fucking hard to install in the mid 2000s. And like, it was so difficult. But now it's not that difficult and these install fests have gone away. But maybe the install fests should come back. Maybe we should actually be teaching people a whole new layer of fun, exciting things to do and scream at by installing free network web services. Somebody in the back. There is a desktop that group and the packaging inside the package. So, are they used in the future or against the current? Well, I mean, I think packaging actually, like packaging with like desktop packaging is a great idea. Like we should be working with those types of people. But I think that the packaging itself doesn't just solve things. You know, just installing a mail server is not enough because you also have to configure your SN cell search and then you've got to work with some external site for that. You've also got to be able to set things so that you've got your domain name and your blah, blah, blah and tons and tons of settings that are really complex and that are scattered. You have to sync them up across all these different configuration files. If you look on things like on puppet, I'm going to get to questions more than. But if you look on things like Salt Stack and stuff like that, you can reuse variables and stuff like that. And that's like something that we're not really seeing outside on the kind of user set and tripside. But we should keep moving on. So, let's talk about Federation. It's not just for Star Trek. Federation in this context is talking about getting the servers to actually talk to each other. So, what does that actually mean for us? For us like, you know, us web services using people. Well, what do we want to do in MediaGalbin, for instance? We want people to be able to, you know, comment on somebody else's photo. Sure. We also want people to be able to add somebody's, you know, video to their own gallery. We want people to add their own images to their equivalent of a flicker pool or something like that. We want people to be able to, you know, to do all the same type of social things they can normally do. But when you end up splitting it across a bunch of sites, it makes it really difficult. So, what's a current state of Federation? Well, a minor troll here. But if you know, the pump that I know, this will be a bit funnier, but Zach's laughing. So, the state of both, for both, so what we used to have was kind of, O-Status was like, a couple years ago, actually even in the last video, we were like, O-Status is like where things are going protocol-wise. And Statusnet was kind of the application that kind of proved how this stuff works. But the pump, but actually pump.io is kind of the where things are going. But, and there's a new API called the pump API. And, but these things are kind of separate, but in both cases, this is kind of a flagship application that's kind of implementing the proof of the protocol. But why the switch? For one thing, the status, O-Status actually required a whole bunch of different separate protocols that were kind of like, we're going to take this protocol and this protocol and this protocol and bring them all together and then we'll have federation. And it was kind of a meta-standard in some ways. But pump.io is a lot simpler. It's JSON based, which is what all Web 2.0 developers want these days. A number of things. It's also fairly easy to understand. It has privacy baked into it, which was one of the big complaints about O-Status. And not to mention the fact that Statusnet got rewritten away from PHP towards Node. And it was an opportunity for, I think, Evan to kind of re-approach things as that was happening. So what about Federation and MediaGalbin? What's the current state of Federation and MediaGalbin? We have an extremely talented student in, throughout each program, for women named Jessica Talon. And she was working on Federation for us. How much time do I have by the way? All right. You have a lot. Oh, okay. Great. Wow. Nice. So she was working on both on adding Federation to MediaGalbin and also building a library called PiPump to make Federation a lot easier within MediaGalbin, within Python applications of all kinds. And so this has been moving along. This is actually a screenshot. When I end up getting to the thing I'll show at the end, you'll actually see it this kind of reappear. But like you actually, the current state of things is you can submit, the pump API is actually going to be submitting both the desktop and mobile API that we currently have in MediaGalbin to kind of become the omnidpi for MediaGalbin. But thanks to PiPump, it's super easy to write a client now. And I actually think that PiPump might even be more important than MediaGalbin's implementation of the pump API. Because the way the developers learn things tends to be by picking up a library and messing around with stuff. And we didn't really have that for OSDAS. But with Pump.io, very, I'm sorry, Pi, the pump API, because pump.io is software and we don't even use it in MediaGalbin. With the pump API, we actually are having a lot of more tooling kind of appearing right away. And that's really exciting. But on the other hand, we have had this kind of fracturing in kind of the Federation space. But anyway, so the Federation is about cohesiveness between different installations of like some sort of instance of things, right? What about cohesiveness within the site itself, right? So say you want to install Diaspora and MediaGalbin and, you know, like XMPP, and you want to install WordPress and all this stuff, and you want to have it all together. In some ways, this is actually kind of difficult at the moment. Part of the problem is that multiple applications are kind of hard to theme. They tend to use different templating engines. They tend to have different layout decisions and patterns. It means that this is actually a screenshot from the media.jpop.org, one of our MediaGalbin contributors runs a MediaGalbin site, and he runs all of these different things. Well, not GitHub, obviously. But he runs tons of these different things, and he's actually themed each one of them. But it's a lot of work to re-theme each thing. And so we actually have some kind of incoherence between the different applications. And that's kind of a problem. So differing in incompatible authentication systems is also a problem. You have this installation. Why should you create eight different users for yourself on one, this type of thing? This is kind of a problem. And there's other inter-application inconsistencies. So what are we going to do about this? Well, do we need a desktop suite of web applications? I'm not actually proposing that I'm going to build such a thing right now, but it's something I've been thinking about. I'm actually struggling enough with a single application that I'm working on already. But I have thought about, you know, it really might be that we actually need to have, instead of just a single application, have a full suite of things that kind of have clear ideas of how they work together. So that actually brings us back to Media Goblin and where things are currently in Media Goblin itself. So let's talk about accomplishments of last year. So Media Goblin, we managed to raise, not quite hit our goal, but we managed to raise enough to be able to pay me for over a year to work on things and also do some more stuff than that too. We got out five major releases, not minor, five major releases, which is pretty exciting, packed full of features in each one. We have six successful outreach programs for women and summer of code and student ships. And actually one of those students is actually, we've got a grant where she's continuing on to work on Media Goblin stuff for academic institutions and improving Media Goblin's metadata support. So actually it's been a really exciting last year. And what a deal for the amount of money raised. We actually got tons of development in within this last year. But we still have a ways to go and Media Goblin isn't quite finished. And because of that, what's going to happen? Is this it? Are we going to leave the cats out in the cold? Is this the end of Media Goblin development? Well, no. We're actually planning to move ahead. And that is why we're actually planning on running another campaign. So I have been scrambling like crazy to get this thing together. This room is the first room to be able to see what I've been working on over the last month to be able to get the campaign materials prepared. You guys have executive preview access to what's going to be released for our new campaign. I hope you enjoy it. I'm going to play the whole thing. The internet was once a healthy resource. Before I say this, this is intentionally a little bit corny in the sense that we decided to make this kind of like, people really like the imagery from last year. So we decided we're going to build on this. And in fact, we're going to make this like epic movie trailer sequel style. So let's see if I managed to pull it off. Oh, I should probably play again. Oh, no. I don't know what happened, but it's not happy. Okay. Whoa. It's a good thing I have lots of time. Uh, okay. There we go. The internet was once a healthy, resilient and self healing place. But then things began to change. Power has moved for the many to the few. These corporate megasites are fragile, sometimes going out entirely. Censorship has become rampant. And the last year has shown surveillance to be creeping into the systems of the web. Centralization has infected the debt at the cost of our privacy and safety. While you're voting user freedom. Is there any hope for the internet we knew and love? But wait, something new has arrived. Something to put power back in the hands of the people. Media goblin. Media goblin is a media publishing system for the web. It's decentralized and social. With media goblin, you don't need to split your media across a billion separate commercial sites. Whether you want to share images, or video, or audio, or presentations, or even pretty models. Media goblin can host it all. Media goblin is written in Python by a community of over 75 contributors. Media goblin is a GNU project, which means we're all about bringing freedom back to you, the user. Media goblin's key feature is federation. With federation, we can provide user freedom and improve the social experience of modern media publishing sites. By making the network more resilient. When you favorite a photo, who's to comment to a video, or share your latest drawing. You want people to be able to see those updates. But how do you share with people on a totally different media goblin site? With federation, people can be on entirely different media goblin sites. And share as if they were in the same place. We've been working towards this using a protocol called the POP API as implemented by POP.com. As part of this, we've been collaborating on building a library called Python. Which will make it easy for Python to have applications of all kinds. We've found an accomplished group of contributors that work hard and make things happen. We've accomplished a lot. We've got five major releases last year alone. This includes new features like a plugin set, 3D model support, Doctypuff and KDF uploads, user curated collections and galleries. Authentication plugins including Lozilla persona support, OpenID support, LDAN support, Common Preview, Slight Administration and Moderation Tool, and many more. We want to make that happen, wrap up with more info, add privacy features, and bring media goblin to the table. We can't do it without you. That's why we're asking for your support to bring the benefits of media goblin to everyone. Become a part of Internet History. Join our goblin force today and help us bring about a media revolution. There we go. We better raise the money, goddammit, because I went goddam insane over the last month on that video. But anyway, that's where things are currently at. There's some brief credits here. I guess I'll scroll back through them. But anyway, there's been... So that's basically where things are at. The campaign is going to be launching sometime in the next couple of weeks, and I'm assuming we'll send a message through the FSF and a number of other things. You can help by joining our community, participating, running the software, using the software. Users are super important. And please donate in the UpCalling campaign. We are actually hoping, if everything goes really well, I'd actually love to fund not just myself. I'm not making that much money off of this. After we managed to pay a couple of people to do some things, and after rewards and everything, I was paid about $32,000 for a year and a half worth of work. But I don't want to pay the same to the person that I'd actually like to bring on. I'd actually love to be able to pay somebody to actually work completely focused on making Federation awesome. And that would require more funding that we actually managed to bring in last year, which means that things are going to be super ambitious if we actually managed to pull this off. Who knows if we will or not, but I'm really hoping that you will. And more than just donating, I could really use help and people being able to spread the word about things. If you can write in a blog post, send stuff. If you do any sort of writing on this type of stuff, I'm going to be around here tomorrow. We can talk. But help spread the word about it. And thank you. What? We do have stickers. They are in my bag. I do not have the Gavrash stickers, but I do have the I Love Media Goblin stickers. And that's it. That's what I've got. Any questions? You. Oh. Thank you. Thank you. Yeah, absolutely. That's what I was talking about in the whole deployment section is, you know, that we need easier ways to be able to run software. And it's not just Media Goblin. We need easier ways to be able to run all sorts of software. And right now it's actually hard within the current tooling that we have. And I actually think that we need some layers of this that are above where Media Goblin currently is, because this is a problem not just with Media Goblin, but with all sorts of software. And so there we need extra layers there. If people are working on these types of things, I'm interested in speaking to them. And you are raising your hand. So you go ahead next. Oh, we're right. Okay. PageKite is pretty cool. I think it's actually a really neat thing. It does require that you actually end up proxying something through something else, which is actually pretty, but it's pretty cool how it does things. I don't actually think that it solves all of the things though, because it doesn't solve the configuration side of things for you. And like you, if you're actually wanting to run multiple things together, you actually probably need to be able to kind of configure things so that they kind of work smoothly across it. But PageKite is actually pretty awesome. Is Bjarni here? No. But anyway, Bjarni is super awesome who works on PageKite and also in MailPile and actually donates stuff for us. And I think it's actually a pretty neat part of things. But I actually think we need a bit more than that too, because we also need to be able to handle the configuration management and other style of things. But I agree. Media Goblin is actually a part of the solution, not the entire solution. We need to be working on multiple layers of these things. Thank you. So what Kanuchi was saying is that, you know, what about routers that are running free software and are using free software like configuration management tools? I actually think that that's actually a great idea. Everybody has a router, everybody has a router in their home. It would be great if there were easy ways to be able to run things just off of your router. And you don't have to write proxying things to get around your router if you're actually, it is your router that's running things. So it would be great if people were working on that layer of things on the router level software. Sure. Right, right, right. So there are, well, we should talk more basically. I don't actually know much at all about how that software works. It's not something I spent much time in. But if that's a good way to move forward on things, we should absolutely talk about it. Yes. You. Yeah, I know this FreedomBox people. Actually, one of my close friends is Nick Daly, who works very hard on the FreedomBox stuff. He's awesome. I think, you know, and FreedomBox has been working towards these types of things. I actually think FreedomBox is a great idea. I actually think that the types of things that I'm thinking about, I actually don't know too much of the details of the current state of FreedomBox, to be perfectly honest, even though I'm friends with one of the people who works very hard on it. But I actually think that the layer of things I'm talking about also on the configuration management and side of things too, I actually don't think we need to target towards any specific devices either. Actually, we should be building things that can be deployed exactly the same as if you're deploying it on a plug, or if you're deploying it on your VPS, or if you're deploying it on all these types of things. Because it really doesn't actually matter. This is the equivalent of apt. The thing that I'd actually like to see happen is the equivalent of apt for configuration management and stuff like that. I'd like things to be as easy as apt get installed, this type of stuff, and maybe clicking a couple of check boxes as easy and syntactic. I can speak last year, I said the same thing, as easy as synaptic package manager, which is not to say the best interface in the world, but easy enough where somebody can actually just kind of do that type of thing. But I'd like it to be pretty generic also. But anyway, other questions or comments? Talk about the Federation in this video, and I guess you have a brick done much more coding than a pump or die. But how much of a design have you done so far? For the design of the Federation stuff, well, I'd like to say that it was a lot more than we have, but we're actually still moving along in that type of stuff. Design is something that actually MediaGoblin could use a lot more help with right now. I'm actually looking for help from designers to be able to move forward on things. We have one of our most awesome designers who kind of set the original design for MediaGoblin. Sorry, not to sign us in the way it looks. Architecture of the sign. Architecture. The information moves around. Oh yeah, we've actually discussed that quite a bit. It's not set in stone, but we actually have, that's been discussed quite a bit. And the... You can also document it somewhere, so I can have a look at it. Sure. Actually, we've got an Ethernet page that we wrote up way long time ago when Jessica started working on the thing. Part of the thing is also that Jessica ended up, and actually it's what I encouraged her to do also, ended up spending a lot more time on the pie pump side of things. And we got to the point where you were able to submit the media through pie pump and stuff like that, through MediaGoblin, but it's not quite at the point where things are interconnecting. So it's likely that some of that will actually end up changing on the architecture side of things, but we did create kind of a speck out doc with the general idea of how things would go. You. What's... So you mentioned emails that are passive camera on service. And one of the things that we were giving to Spam, do you have obviously on the other calls of Spam? I mean, how much do you improve from that? So I have... So what's happened in the world of Spam, actually, so a lot of what I ended up doing, if it's not obvious enough, I'm riding off of the heels of an extremely smart person named Evan Perdomo. And he has been working on a server called Spam City, which unfortunately is in its own ways kind of centralized. But it is like... What it is trying to do is actually try to use all the kind of common ideas, but it's also free software at the moment. But anyway, it uses all the common ideas of what the kind of Bayesian filtering and all sorts of other things that we do for Spam filtering and moves into the kind of the pump.io stack. So what I'd like to do is actually try to make it easy for people to be able to just click and kind of turn on a service to connect to some sort of service like that for their Spam filtering. But I think it's going to be difficult. Spam is difficult in email, but it's not impossible. Spam assassin actually does a pretty good job of filtering out Spam on my local server, so we can have free software alternatives to these types of things. But yeah, it will be difficult. That's the reality of anything that's networked. Spam is a very, very, very difficult question in it. And I think the only true solution for Spam can, in theory, be some kind of social network filtering, which means that people have a social score that some kind of scoring network gives them. Because in the kind of Bayesian filtering and so on, we'll always be fooled because Spam will just improve too much. Well, there's a number of, I mean, yeah, every Spam system that's working now is having to take a multiple set of approaches right now. And the reality is that, yes, the network service, getting to a point of total free network services actually involves solving a lot of hard problems. And one of the actual issues that I think we're actually having right now is that part of the current trend is get really excited about the new thing that somebody ends up announcing, throwing up a Kickstarter page for, and they start, they go for a number of months, and then it kind of disappears. We actually need to be focusing on these years. I think this is actually a many-year problem that we actually have to focus on. And we're going to end up running through a lot of these difficult problems and have to work through them, but it can just continue to be a lot of work. But anyway, yes, go ahead. I was able to filter my plus-a income list of like, Hey, what? Plus-a team like, pornography, but if so, and... Oh, plus-a team, like a pornography media goblin site. Yeah, sure, you can use media goblin for porn. I don't know, they came in and they... Oh, it'll filter in for me. So we have one of our oldest bugs in the tracker is actually like trying to figure out how to be able to handle the kind of marking whether or not things are like pornographic or not. And we actually haven't really seen media goblin being used for porn right now, which I guess probably has not really spurned anybody to work on that bug. But my current thoughts on that are a few things. One, it's probably actually... It is going to be something that's going to be a bit tricky, but it's not totally impossible to be able to tag and mark things as 18 plus and stuff like that. We can hope that sites actually end up being good and actually kind of, you know, marking those types of things and maybe you can actually mark things as a blacklist as if, like, you know, you want to be very careful about that on your site and want to say, like, I know this stuff tends to be, you know, fairly raunchy and I want to be careful about that on my site. But actually, Evan Prodromo made an interesting comment on Pump.io, which is that maybe this could actually... Federated Services could actually be a real boon to parents who are concerned about these types of things, because if you're actually able to run a site and you're actually able to help, you know, handle the moderation of those types of, like, some of, like, which sites users people are subscribing to and your kids are young enough or that are not technically savvy enough where they're going to be able to get around all your stuff anyway, but they're young enough that you're going to actually be able to spend some time on this, well, then adults could probably actually handle some of the whitelisting of these types of things. Like, yeah, you can subscribe to this channel and this channel and this channel. So I actually think there's ways around it, ways forward with it, but we haven't tackled it yet in Mediae Galvan itself. But yeah. I think that's that. Oh, go ahead and then he says. I think the problem with some sort of content filtering comes back to the same thing as with spam. You need to have some sort of system that you can trust to actually filter that. Yeah, probably. Is there any support for the newity of the members of this generation? There's no anonymity support as far as I know. In the Pomp Protocol, there is privacy support. Well, I mean, there's privacy support, which is not necessarily the same as anonymity support. I mean, you could be about as anonymous as Bitcoin just to say not very anonymous at all. You know, right? People think, like, Bitcoin, great. It's an anonymous currency, an anonymous currency where we keep the history forever of every single transaction that happens, right? Like, you can actually be a bit more anonymous than that, in fact, because you're not going to actually store the transaction or everything ever. So, but I mean, you know, sure, if somebody wants to actually run a site for journalists who are in a, or people who are in like a socially repressed area and they want to get around censorship and speak to journalists or something like that, well, maybe they can connect to a media goblin instance where anonymous registration is allowed. And sure, they might have some sort of user ID that gets persistent and ends up appearing a bunch of places, but it's still actually a lot more censorship resistant than Twitter or Flickr or YouTube or any of these types of things. And you could have a way of people being able to push stuff out there. So I actually think anonymity is totally possible. But, you know, somebody making an anonymous post, I actually don't think it's in the spec for the pump API. And I'm not actually completely sure it's really necessary at the moment, but... Yes. I can't hear you. Can you say that again? Well, I mean, I mean, so it's possible to do aggressive censorship of any network system. It's a lot harder when it's spread out. Well, we're still moving forward in the Federation space, so that's kind of like next step after that. So, yeah. Is that it? It seems like it sounds like... are we getting towards the end of time? Okay, well, that's it. Thanks everyone. Greatly appreciated.
 I want to introduce someone who's one of my heroes and Chris is one of my heroes because  he cares very deeply about an issue that's important to me that I don't work on enough  but he spends all his time working on it which is the freedom of network services and he's  done the more work than almost anyone in the community on this issue and I want to hear  his wonderful talk on it.  Alright, well thanks Bradley for the very kind introduction.  So yeah, so this talk is about the road ahead for network freedom.  So actually a little bit about me, Bradley already somewhat introduced me but I'm Chris  Weber.  I'm the lead developer of a project called GNU MediaGoblin which some of you may know  of.  I'm also a Python developer, free software and free cultural activist.  I've been doing this for quite a while.  I've worked at a number of free software organizations prior to this.  I was working at Creative Commons full time and at the Participatory Culture Foundation  and I'm doing MediaGoblin full time actually as a contractor through the FSF and I'll get  to about that a bit.  But you're not here to hear about me and we don't have a lot of time so let's frame  the conversation.  It's not very hard to frame this conversation thanks to the last year's political situation.  The present reality of network freedom is very clearly not pretty.  We have corporate control of the web, NSA spying, freedom for developers but not for  users.  That is a phrase that I will probably repeat a few times but what do we do about all this?  What actually can we do?  Well I'm actually working on a project to try to do things about it and towards the  end of 2012 we actually ran a fundraising campaign with the FSF which is what's paid  for me to work for the last year or if you include the time working on the fundraising  campaign and the stuff since this last year, about a year and a half actually to work on  Media Goblin full time and thanks to the community I'm able to be paid to work on this.  We had a video which is actually probably one of the best explanations of Media Goblin  we have and also ties into a bunch of stuff that I'm going to talk about here so I'm  actually going to play that.  Apologies if you've seen it already.  For just over a year now we've been building a site new project of the web called the  new Media Goblin.  Media Goblin is a media publishing system for hosting audio, video, images and more.  It's free software so anyone can run it and customize it.  It can do a lot of cool things including supporting multiple media types from images to videos  to audio.  This means you can have all your media in one place.  It's also built for its sensibility which means you can add entirely new media types  even something wild like Asgyr.  Why not right?  That's that new goblin speaking by the way.  Media Goblin is part of the movement to make the web a better place but we need your help  to make sure we get there.  The internet and the web were designed to be decentralized.  This is great because it enables a global and diverse voice.  It's also very resilient.  If one server goes down for whatever reason the internet still exists.  To quote John Gilmore, the net interprets censorship as damage and routes around it.  But recently the internet has been moving in a different direction.  Instead of a resilient web of smaller and independent sites we have larger, more centralized  sites.  This has several problems.  For one thing the more centralized the web becomes the easier it is for organizations  to automate censorship either via the centralized host directly or even through the pressures  of external institutions.  In such a system the internet can't route around damaging more.  Things are much more fragile generally too.  In a more decentralized web if one node goes out the whole system lives on.  But what if everyone's photos were on Flickr and it disappeared?  What would happen if YouTube went away?  What would happen to cat videos on the internet?  It would be like a cat massacre.  This leads to a sad attract.  This is why we're developing Media Goblin.  Media Goblin is devoted to putting power back into the hands of users.  And it's a good new project because we care a lot about freedom.  We've already got a lot of stuff that's pretty awesome so I hope you'll join.  Media Goblin supports all different types of media and support for more types could happen soon.  We have e-mings so you can make it look any way you want.  We also have obituary map supports so you can see where your pictures are taken.  And we have commenting and other things that web users are used to.  It's working software that you can run yourself.  Over the last year and a half we've had over 50 contributors and have made several significant releases.  This is indeed exciting times.  We need your help.  Media Goblin has come a long way.  There's a lot more it really needs that it can become the best media hosting option that there is.  Most noticeably we need Federation.  Federation is how email works.  You and your friends might be on entirely different servers  but emailing between them feels like they're on the same thing.  We want media hosting to work the same way.  Stand up, Matt.  I'm going to stop it right there.  That's about enough of that video that you need to see maybe even a little bit more.  But I brought it in there actually because the reason why I replayed the thing.  And that's actually because I wanted to talk first of all,  I'm talking about the road ahead for network freedom but one of the most important things that I think has to do with this  is actually the issue of messaging.  You might be wondering, well, wait a minute, this is a talk about network freedom.  What does that have to do with messaging?  What is that really important?  I'm going to get a little bit more science fiction-y for a second.  I'm going to say that actually I'm going to talk about computing freedom as a human right.  This sounds very science fiction-y.  This is also partly because we tend to treat software freedom as kind of a nerd issue even by most of us.  There's a lot of other projects that are more important.  There's a lot of other issues that are more important.  And we kind of tend to downplay this in some ways.  And that's probably even actually fair so that we don't become into totals egotistical jerks basically.  But actually computing is getting closer and closer to where pretty much everything you need to do,  everything you want to actually convey or actually act upon involves computing in some sort of way.  So we're actually moving to the point where this is not just a nerd environment type thing.  Computing freedom affects everybody.  Okay, so accepting that,  the problem is though that issues of computing freedom are mostly just understood by nerds.  Outside of hackers and academics,  how many people actually understand the concepts of computing freedom,  especially the concepts of free software,  especially as an ethical issue.  And network non-freedom has an at work effect.  In networking stuff, if you take a look at, for example, how many of you have wanted to leave Facebook,  maybe even left it and then came back, right?  You know, probably quite a few.  It's very difficult to actually be able to, in a networked world, be completely free when the rest of the world is non-free.  So we actually can't just be, we can't live in a world just like free software for free software nerds.  It's not possible.  And free software, anyway, we really shouldn't do it.  Is this not freedom for the technically skilled view or freedom for society?  And surely we were in the broader social movement camp.  So, and lastly, accepting all of this, now that we know this, how do we go about it?  Do we just become super smug and we're like, we know what's right.  We're the free software people, all you people, you don't know what's going on.  That's not going to work. That smugness is not the answer.  So, what can we do to improve awareness?  So, I think that we actually have a lot of teachable moments.  You know, the upside to the really terrible last year of us finding out how bad things really are in computer science,  like in the world of computer security and stuff, is that people really latch onto that stuff.  We made this video before this note and stuff came out, but like, you know,  the app itself has had this image up on their site for the last year.  And you know, like the thing is, we had a lot of people actually come up to me after this video and they were like,  oh, well, you know, I wasn't sure why I cared about any of this stuff, but I really felt it after I watched your video.  And what if we create materials that are for people who are not really probably going to spend the time to actually dive in  to reading, you know, some very academic articles about what free software means,  but just get people like the equivalent of like the environmentalist level of things, right?  Like environmentalism. Not a lot of people actually do anything about it,  but most people get the general ideas of it, right?  Even if they're actually not making a lot of movement themselves.  We're not anywhere near that level and that makes conversations really difficult.  And the media problem video is partly an attempt to actually prove that this is possible.  That's one of my secret agendas of many secret agendas that I have, I guess, not so secretly on the table all the time.  So next stuff. This is licensing and policy thing. Let's talk about licensing and community.  There's a lot of stress about this in the free software world, especially, you know,  probably somebody in this room tends to stress out about it more than anyone else about copy left and permissive licenses.  But actually, I think this might actually be a symptom of something else.  And that's why I have this lovely little don't panic picture on here.  It's because I actually think that this is a symptom of a different change that we've been seeing.  I have a little blog post up here from one of the GitHub founders that says open source almost everything.  At least everything but your secret sauce, right?  And this is a really common discussion.  In fact, the secret sauce would get brought up this morning, you know, in the Twitter conversation, right?  So in the mid-2000s, we saw the rise of the web 2.0 world.  And this is like, at least, you know, and we saw this also happen with kind of a big switch over to max  and kind of like a lot of people kind of an exodus from the free software desktop.  And this kind of also came along in the time with a lot of anti-copyless sentiments,  which has just been kind of on the rise in many ways, which this idea is like, you know,  actually in some ways this is actually a conversation of like, you know, the release everything but your secret sauce.  But it's also kind of a developer freedom kind of thing.  Like, you know, like we can really do a lot of cool things if we just release all of the tooling as free software,  but we'll stop right there because then we can make a bunch of money on that proprietary layer.  And this, like, we can write free software stuff during the day and it'll be awesome.  But now we have a bunch of free developers and the users are actually still encumbered.  So this is not really, I think, actually the greatest thing.  And the anti-copyless attitude is not really kind of the traditional BSD kind of like,  well, I'm so against copyright that I'm against even using copyright in this type of way,  which can be an ethical stance. It's actually kind of a, well, we want to proprietize this layer type of thing.  Although sometimes people trickly try to think you, to make you think that they're in that camp.  But so most devs make their license choices today on what their role models do and who are the role models of today?  The role models of today are mostly a lot of people, you know, like the leaders of Django and Rails and types of people like this,  who have these very anti-copyless sentiments.  And so that's led to kind of like, people tend to do what their role models actually do.  So moving on from there, are we in a copy left crisis or an ethical crisis?  I actually think that the reason why we're seeing this is because where people are working right now are in the library space.  And libraries tend to be more conducive to permissive licenses.  And I actually think this is okay. We're doing just fine infrastructure-wise.  In fact, this makes my job of building the thing that's on the next layer a lot easier.  But we still need to work on that next layer.  So we're not really struggling on the developer freedom side, but on the user freedom side.  But is copy left totally dead in the web space?  Well, actually, when you look at web applications, when you get to the total secret sauce releasing side of things,  people actually, when they release that side as free software, tend to actually use copy left.  WordPress is under the GPL, and so is Media Wiki.  CPCRM is under the AGPL.  Statusnet and Goose social was over the AGPL.  Pump.io, the kind of successor is under the Apache, but that's because it was for a number of reasons.  One was because it was trying to become more of infrastructure.  PageKite, MailPile, Diaspora, MediaGoblin, Agatorious, all of these are under the AGPL.  So actually, when people work on that top layer, copy left still seems to feel like a pretty good choice.  So in other words, we're struggling with getting polished user-facing free software and getting in the hands of users.  But when that happens, copy left actually seems, it actually doesn't look so dead.  It's just that we're not seeing as much movement there as we need.  So, freedom-aware communities are the antidote.  So I think there's two things that we can do.  In the infrastructure side of things, we need more people who are actually in the side of building infrastructure,  even if they're in a permissive license space, who are like,  actually, this top layer is really important, and I care about not just the infrastructure side of things,  but actually building, getting freedom all the way down to the user.  And if we actually have that, that's an opportunity to kind of get people engaged to build the tooling that we actually need.  But we also need people working on that top layer of things, building the user-oriented network applications  with tomorrow, like MediaGablin.  And probably people will choose copy left licenses for this.  And if people give you crap for it, just say,  oh, I copy left what you released as your secret sauce.  That's the difference right there.  But right now, we don't have enough polished examples.  And so that's partly a problem.  So let's talk about deployment and adoption.  Even though we actually have some software that releases free software,  we don't have enough users, and we also don't have enough people deploying this.  And this is partly because it's actually very hard to run free software network services.  And if somebody is running a free network service, this is not a fun thing for me to admit, right?  So we're struggling on this.  Deployment is hard.  A lot of free software web applications are not packaged or just packaged in their language and environment.  And there's a trend toward kind of language-specific packaging and environments with Python,  using virtual-on-vins stuff like that, and kind of the whole setup-tools ecosystem.  And not to mention that once you actually deploy things, editing application is not just as easy as just app get install,  some sort of server.  You also have to generally edit application files and all sorts of things like that to get things to actually work.  And so that actually makes things pretty difficult for people to deploy and then maintain.  So most modern web applications actually require somebody who's familiar enough with the language to actually deploy the application  written in that language itself.  But we should be engaging in this type of thing anyway.  Even though this is actually a sad reality of it, I actually think we need to be deploying the type of...  One of the reasons that Nidhi Goblin has written in Python, despite Python being difficult to deploy in this type of thing,  is I see that these types of applications, this is the way that people are writing modern web applications.  So if we're not actually trying to go through the process of making those difficult to deploy applications easier to run,  then we're just stuck with writing crappy applications or just not getting that deployed at all.  And users don't tend to see this because part of the trend has been you don't run your own servers,  you don't have any control over it.  And then you have a team of people who are just like, you know, you've got a team of DevOps people who are both developers and system administrators,  and they handle that type of stuff, and the users never see it.  So, but network freedom does not have that luxury.  We need people to be working on these things to make this type of stuff easier.  And if we don't, we're not going to move forward on this.  Now, you can actually say, but wait a minute, what about PHP? PHP is super easy to deploy, right?  Well, it's sort of easy if you're using shared hosting, but the sort of things that make it easy also kind of make it easily exploited.  The, you know, how many you compromise WordPress sites have you seen over the last number of years, probably quite a few if you've had to deal with WordPress sites.  Shared hosting is also dying and for good reason.  It's actually not a very good user freedom environment.  You have very little control over that server.  So this is not actually really a really great situation.  And PHP is living in the past, dude.  Like, just don't write things in PHP.  That's my opinion.  There are good PHP communities.  I'm not a big, but I think that like saying like, well, we'll just got PHP and that's a solution.  It's not the solution in my view.  And I do acknowledge I have language bigotry though.  So not just the web services though, you're like, so like, oh, you media goblins, you guys are super hard to deploy.  That's the problem.  You guys just don't know how to write this stuff.  Well, okay, let's take a look at some other federated services.  How about email, right?  It's been around a while.  Email federated.  We know all this works.  Been around a while, right?  Super easy to deploy by that, right?  I didn't even have to ask anybody because I got the laughing response.  You know, how hard could it be?  I had a friend say to me recently, I'm so tired of relying on Google for all my email.  I'm going to run my own server.  I'm going to just do this.  I've got a linode account.  I'm going to run it.  And then they went and they installed and they're like, I just said, what packages do I install?  I just installed the packages and I'm good, right?  Like, can you describe your mail set up to me?  And I'm like, well, I probably have kind of a nonstandard setup.  What I do, I have postfix and I have Dovcott to deliver the mail to me and then deliver it.  I connect over an SSH tunnel to be able to send mail.  But I also deliver to a mail.  What's the question?  It's a bit hard because it's exactly because it has been around for that long time.  It's got a lot of baggage.  It has some baggage, but the protocols are not that complicated in some sort of ways.  But anyway, so I interrupt them myself.  So my setup is I've got postfix and Dovcott delivering to things and then I run it through proc mail,  which then goes through spam assassin.  I fetch it over to my machine with offline IMAP.  I index it locally on my machine with MU.  And then I run an email explying called MU4E.  Super simple.  Oh, by the way, my mail's recently got marked as spam because I wasn't sending the right headers on my mail.  So like, this stuff is not easy, even if you've been struggling to learn how this stuff works for a long time.  But I actually think that email in some ways is very complex,  but it's not just a protocol being kind of crifty and been around a long time that's an issue.  It's that deploying and maintaining and configuring all these things are not that easy  and there's not been enough space in making the configuration layer of things easy.  So we use user-centric configuration and deploying and management type things.  And there's actually a lot of work being done on this right now.  Docker, SaltStack, OpenShift, Puppet, you've probably heard of a lot of these things.  With the exception of OpenShift though, we need these layers above the packaging world.  However, while there's all this cool stuff that's been happening,  they're mostly oriented towards sysadmins and kind of corporate environments.  And so while people are like working on this type of stuff,  it's not actually for that end user type of person I'm actually talking about here.  So we need to get another layer above that.  We really need a configuration and deployment management for somebody who will never touch a configuration file.  That's what we need.  So what can we actually do?  Maybe something like OpenShift where enough things are abstracted as a type of solution.  I'm not quite sure.  It's something that needs to be worked on though.  I'm very busy working on Media Goblin though,  but I'd love to work with people who are working on this type of thing.  That's the situation I'm in.  So what's the silver lining of this situation?  Oh, I just made deployment seem really frustrating and like, oh, we're so fucked.  But what are we going to do?  Well, actually there's a silver lining to this.  The free software desktop used to be really hard to run and maintain.  People used to have parties just to get this stuff running on your machine.  And we need to encourage people actually running stuff on this frontier until it gets easier.  But in the meanwhile, when things are hard,  there's actually an opportunity to learn cool things.  I learned all sorts of things about file systems.  I learned all sorts of things about like kernels and how they work and then compilers  and all sorts of things I never would have learned if my computer were not so fucking hard to install in the mid 2000s.  And like, it was so difficult.  But now it's not that difficult and these install fests have gone away.  But maybe the install fests should come back.  Maybe we should actually be teaching people a whole new layer of fun, exciting things to do and scream at  by installing free network web services.  Somebody in the back.  There is a desktop that group and the packaging inside the package.  So, are they used in the future or against the current?  Well, I mean, I think packaging actually, like packaging with like desktop packaging is a great idea.  Like we should be working with those types of people.  But I think that the packaging itself doesn't just solve things.  You know, just installing a mail server is not enough because you also have to configure your SN cell search  and then you've got to work with some external site for that.  You've also got to be able to set things so that you've got your domain name and your blah, blah, blah and tons and tons of settings  that are really complex and that are scattered.  You have to sync them up across all these different configuration files.  If you look on things like on puppet, I'm going to get to questions more than.  But if you look on things like Salt Stack and stuff like that, you can reuse variables and stuff like that.  And that's like something that we're not really seeing outside on the kind of user set and tripside.  But we should keep moving on.  So, let's talk about Federation.  It's not just for Star Trek.  Federation in this context is talking about getting the servers to actually talk to each other.  So, what does that actually mean for us?  For us like, you know, us web services using people.  Well, what do we want to do in MediaGalbin, for instance?  We want people to be able to, you know, comment on somebody else's photo.  Sure.  We also want people to be able to add somebody's, you know, video to their own gallery.  We want people to add their own images to their equivalent of a flicker pool or something like that.  We want people to be able to, you know, to do all the same type of social things they can normally do.  But when you end up splitting it across a bunch of sites, it makes it really difficult.  So, what's a current state of Federation?  Well, a minor troll here.  But if you know, the pump that I know, this will be a bit funnier, but Zach's laughing.  So, the state of both, for both, so what we used to have was kind of,  O-Status was like, a couple years ago, actually even in the last video, we were like,  O-Status is like where things are going protocol-wise.  And Statusnet was kind of the application that kind of proved how this stuff works.  But the pump, but actually pump.io is kind of the where things are going.  But, and there's a new API called the pump API.  And, but these things are kind of separate, but in both cases, this is kind of a flagship application  that's kind of implementing the proof of the protocol.  But why the switch?  For one thing, the status, O-Status actually required a whole bunch of different separate protocols  that were kind of like, we're going to take this protocol and this protocol and this protocol  and bring them all together and then we'll have federation.  And it was kind of a meta-standard in some ways.  But pump.io is a lot simpler.  It's JSON based, which is what all Web 2.0 developers want these days.  A number of things.  It's also fairly easy to understand.  It has privacy baked into it, which was one of the big complaints about O-Status.  And not to mention the fact that Statusnet got rewritten away from PHP towards Node.  And it was an opportunity for, I think, Evan to kind of re-approach things as that was happening.  So what about Federation and MediaGalbin?  What's the current state of Federation and MediaGalbin?  We have an extremely talented student in, throughout each program, for women named Jessica Talon.  And she was working on Federation for us.  How much time do I have by the way?  All right.  You have a lot.  Oh, okay.  Great.  Wow.  Nice.  So she was working on both on adding Federation to MediaGalbin and also building a library called PiPump  to make Federation a lot easier within MediaGalbin, within Python applications of all kinds.  And so this has been moving along.  This is actually a screenshot.  When I end up getting to the thing I'll show at the end, you'll actually see it this kind of reappear.  But like you actually, the current state of things is you can submit, the pump API is actually going to be submitting both the desktop and mobile API  that we currently have in MediaGalbin to kind of become the omnidpi for MediaGalbin.  But thanks to PiPump, it's super easy to write a client now.  And I actually think that PiPump might even be more important than MediaGalbin's implementation of the pump API.  Because the way the developers learn things tends to be by picking up a library and messing around with stuff.  And we didn't really have that for OSDAS.  But with Pump.io, very, I'm sorry, Pi, the pump API, because pump.io is software and we don't even use it in MediaGalbin.  With the pump API, we actually are having a lot of more tooling kind of appearing right away.  And that's really exciting.  But on the other hand, we have had this kind of fracturing in kind of the Federation space.  But anyway, so the Federation is about cohesiveness between different installations of like some sort of instance of things, right?  What about cohesiveness within the site itself, right?  So say you want to install Diaspora and MediaGalbin and, you know, like XMPP, and you want to install WordPress and all this stuff, and you want to have it all together.  In some ways, this is actually kind of difficult at the moment.  Part of the problem is that multiple applications are kind of hard to theme.  They tend to use different templating engines.  They tend to have different layout decisions and patterns.  It means that this is actually a screenshot from the media.jpop.org, one of our MediaGalbin contributors runs a MediaGalbin site, and he runs all of these different things.  Well, not GitHub, obviously.  But he runs tons of these different things, and he's actually themed each one of them.  But it's a lot of work to re-theme each thing.  And so we actually have some kind of incoherence between the different applications.  And that's kind of a problem.  So differing in incompatible authentication systems is also a problem.  You have this installation.  Why should you create eight different users for yourself on one, this type of thing?  This is kind of a problem.  And there's other inter-application inconsistencies.  So what are we going to do about this?  Well, do we need a desktop suite of web applications?  I'm not actually proposing that I'm going to build such a thing right now, but it's something I've been thinking about.  I'm actually struggling enough with a single application that I'm working on already.  But I have thought about, you know, it really might be that we actually need to have,  instead of just a single application, have a full suite of things that kind of have clear ideas of how they work together.  So that actually brings us back to Media Goblin and where things are currently in Media Goblin itself.  So let's talk about accomplishments of last year.  So Media Goblin, we managed to raise, not quite hit our goal,  but we managed to raise enough to be able to pay me for over a year to work on things  and also do some more stuff than that too.  We got out five major releases, not minor, five major releases, which is pretty exciting, packed full of features in each one.  We have six successful outreach programs for women and summer of code and student ships.  And actually one of those students is actually, we've got a grant where she's continuing on to work on Media Goblin stuff  for academic institutions and improving Media Goblin's metadata support.  So actually it's been a really exciting last year.  And what a deal for the amount of money raised.  We actually got tons of development in within this last year.  But we still have a ways to go and Media Goblin isn't quite finished.  And because of that, what's going to happen?  Is this it?  Are we going to leave the cats out in the cold?  Is this the end of Media Goblin development?  Well, no.  We're actually planning to move ahead.  And that is why we're actually planning on running another campaign.  So I have been scrambling like crazy to get this thing together.  This room is the first room to be able to see what I've been working on over the last month to be able to get the campaign materials prepared.  You guys have executive preview access to what's going to be released for our new campaign.  I hope you enjoy it.  I'm going to play the whole thing.  The internet was once a healthy resource.  Before I say this, this is intentionally a little bit corny in the sense that we decided to make this kind of like,  people really like the imagery from last year.  So we decided we're going to build on this.  And in fact, we're going to make this like epic movie trailer sequel style.  So let's see if I managed to pull it off.  Oh, I should probably play again.  Oh, no.  I don't know what happened, but it's not happy.  Okay.  Whoa.  It's a good thing I have lots of time.  Uh, okay.  There we go.  The internet was once a healthy, resilient and self healing place.  But then things began to change.  Power has moved for the many to the few.  These corporate megasites are fragile, sometimes going out entirely.  Censorship has become rampant.  And the last year has shown surveillance to be creeping into the systems of the web.  Centralization has infected the debt at the cost of our privacy and safety.  While you're voting user freedom.  Is there any hope for the internet we knew and love?  But wait, something new has arrived.  Something to put power back in the hands of the people.  Media goblin.  Media goblin is a media publishing system for the web.  It's decentralized and social.  With media goblin, you don't need to split your media across a billion separate commercial sites.  Whether you want to share images, or video, or audio, or presentations, or even pretty models.  Media goblin can host it all.  Media goblin is written in Python by a community of over 75 contributors.  Media goblin is a GNU project, which means we're all about bringing freedom back to you, the user.  Media goblin's key feature is federation.  With federation, we can provide user freedom and improve the social experience of modern media publishing sites.  By making the network more resilient.  When you favorite a photo, who's to comment to a video, or share your latest drawing.  You want people to be able to see those updates.  But how do you share with people on a totally different media goblin site?  With federation, people can be on entirely different media goblin sites.  And share as if they were in the same place.  We've been working towards this using a protocol called the POP API as implemented by POP.com.  As part of this, we've been collaborating on building a library called Python.  Which will make it easy for Python to have applications of all kinds.  We've found an accomplished group of contributors that work hard and make things happen.  We've accomplished a lot.  We've got five major releases last year alone.  This includes new features like a plugin set, 3D model support,  Doctypuff and KDF uploads, user curated collections and galleries.  Authentication plugins including Lozilla persona support, OpenID support, LDAN support,  Common Preview, Slight Administration and Moderation Tool, and many more.  We want to make that happen, wrap up with more info, add privacy features, and bring media goblin to the table.  We can't do it without you.  That's why we're asking for your support to bring the benefits of media goblin to everyone.  Become a part of Internet History.  Join our goblin force today and help us bring about a media revolution.  There we go.  We better raise the money, goddammit, because I went goddam insane over the last month on that video.  But anyway, that's where things are currently at.  There's some brief credits here.  I guess I'll scroll back through them.  But anyway, there's been...  So that's basically where things are at.  The campaign is going to be launching sometime in the next couple of weeks,  and I'm assuming we'll send a message through the FSF and a number of other things.  You can help by joining our community, participating, running the software, using the software.  Users are super important.  And please donate in the UpCalling campaign.  We are actually hoping, if everything goes really well, I'd actually love to fund not just myself.  I'm not making that much money off of this.  After we managed to pay a couple of people to do some things, and after rewards and everything,  I was paid about $32,000 for a year and a half worth of work.  But I don't want to pay the same to the person that I'd actually like to bring on.  I'd actually love to be able to pay somebody to actually work completely focused on making Federation awesome.  And that would require more funding that we actually managed to bring in last year,  which means that things are going to be super ambitious if we actually managed to pull this off.  Who knows if we will or not, but I'm really hoping that you will.  And more than just donating, I could really use help and people being able to spread the word about things.  If you can write in a blog post, send stuff.  If you do any sort of writing on this type of stuff, I'm going to be around here tomorrow. We can talk.  But help spread the word about it.  And thank you.  What?  We do have stickers.  They are in my bag.  I do not have the Gavrash stickers, but I do have the I Love Media Goblin stickers.  And that's it. That's what I've got.  Any questions?  You.  Oh.  Thank you.  Thank you.  Yeah, absolutely. That's what I was talking about in the whole deployment section is, you know, that we need easier ways to be able to run software.  And it's not just Media Goblin.  We need easier ways to be able to run all sorts of software.  And right now it's actually hard within the current tooling that we have.  And I actually think that we need some layers of this that are above where Media Goblin currently is, because this is a problem not just with Media Goblin, but with all sorts of software.  And so there we need extra layers there.  If people are working on these types of things, I'm interested in speaking to them.  And you are raising your hand.  So you go ahead next.  Oh, we're right. Okay.  PageKite is pretty cool. I think it's actually a really neat thing. It does require that you actually end up proxying something through something else, which is actually pretty, but it's pretty cool how it does things.  I don't actually think that it solves all of the things though, because it doesn't solve the configuration side of things for you.  And like you, if you're actually wanting to run multiple things together, you actually probably need to be able to kind of configure things so that they kind of work smoothly across it.  But PageKite is actually pretty awesome.  Is Bjarni here? No.  But anyway, Bjarni is super awesome who works on PageKite and also in MailPile and actually donates stuff for us.  And I think it's actually a pretty neat part of things.  But I actually think we need a bit more than that too, because we also need to be able to handle the configuration management and other style of things.  But I agree. Media Goblin is actually a part of the solution, not the entire solution.  We need to be working on multiple layers of these things.  Thank you.  So what Kanuchi was saying is that, you know, what about routers that are running free software and are using free software like configuration management tools?  I actually think that that's actually a great idea.  Everybody has a router, everybody has a router in their home.  It would be great if there were easy ways to be able to run things just off of your router.  And you don't have to write proxying things to get around your router if you're actually, it is your router that's running things.  So it would be great if people were working on that layer of things on the router level software.  Sure.  Right, right, right.  So there are, well, we should talk more basically.  I don't actually know much at all about how that software works.  It's not something I spent much time in.  But if that's a good way to move forward on things, we should absolutely talk about it.  Yes.  You.  Yeah, I know this FreedomBox people.  Actually, one of my close friends is Nick Daly, who works very hard on the FreedomBox stuff.  He's awesome.  I think, you know, and FreedomBox has been working towards these types of things.  I actually think FreedomBox is a great idea.  I actually think that the types of things that I'm thinking about, I actually don't know too much of the details of the current state of FreedomBox, to be perfectly honest, even though I'm friends with one of the people who works very hard on it.  But I actually think that the layer of things I'm talking about also on the configuration management and side of things too, I actually don't think we need to target towards any specific devices either.  Actually, we should be building things that can be deployed exactly the same as if you're deploying it on a plug, or if you're deploying it on your VPS, or if you're deploying it on all these types of things.  Because it really doesn't actually matter.  This is the equivalent of apt.  The thing that I'd actually like to see happen is the equivalent of apt for configuration management and stuff like that.  I'd like things to be as easy as apt get installed, this type of stuff, and maybe clicking a couple of check boxes as easy and syntactic.  I can speak last year, I said the same thing, as easy as synaptic package manager, which is not to say the best interface in the world, but easy enough where somebody can actually just kind of do that type of thing.  But I'd like it to be pretty generic also.  But anyway, other questions or comments?  Talk about the Federation in this video, and I guess you have a brick done much more coding than a pump or die.  But how much of a design have you done so far?  For the design of the Federation stuff, well, I'd like to say that it was a lot more than we have, but we're actually still moving along in that type of stuff.  Design is something that actually MediaGoblin could use a lot more help with right now.  I'm actually looking for help from designers to be able to move forward on things.  We have one of our most awesome designers who kind of set the original design for MediaGoblin.  Sorry, not to sign us in the way it looks.  Architecture of the sign.  Architecture.  The information moves around.  Oh yeah, we've actually discussed that quite a bit.  It's not set in stone, but we actually have, that's been discussed quite a bit.  And the...  You can also document it somewhere, so I can have a look at it.  Sure.  Actually, we've got an Ethernet page that we wrote up way long time ago when Jessica started working on the thing.  Part of the thing is also that Jessica ended up, and actually it's what I encouraged her to do also,  ended up spending a lot more time on the pie pump side of things.  And we got to the point where you were able to submit the media through pie pump and stuff like that,  through MediaGoblin, but it's not quite at the point where things are interconnecting.  So it's likely that some of that will actually end up changing on the architecture side of things,  but we did create kind of a speck out doc with the general idea of how things would go.  You.  What's...  So you mentioned emails that are passive camera on service.  And one of the things that we were giving to Spam, do you have obviously on the other calls of Spam?  I mean, how much do you improve from that?  So I have...  So what's happened in the world of Spam, actually, so a lot of what I ended up doing,  if it's not obvious enough, I'm riding off of the heels of an extremely smart person named Evan Perdomo.  And he has been working on a server called Spam City, which unfortunately is in its own ways kind of centralized.  But it is like...  What it is trying to do is actually try to use all the kind of common ideas,  but it's also free software at the moment.  But anyway, it uses all the common ideas of what the kind of Bayesian filtering and all sorts of other things that we do for Spam filtering  and moves into the kind of the pump.io stack.  So what I'd like to do is actually try to make it easy for people to be able to just click and kind of turn on a service  to connect to some sort of service like that for their Spam filtering.  But I think it's going to be difficult.  Spam is difficult in email, but it's not impossible.  Spam assassin actually does a pretty good job of filtering out Spam on my local server,  so we can have free software alternatives to these types of things.  But yeah, it will be difficult.  That's the reality of anything that's networked.  Spam is a very, very, very difficult question in it.  And I think the only true solution for Spam can, in theory, be some kind of social network filtering,  which means that people have a social score that some kind of scoring network gives them.  Because in the kind of Bayesian filtering and so on,  we'll always be fooled because Spam will just improve too much.  Well, there's a number of, I mean, yeah,  every Spam system that's working now is having to take a multiple set of approaches right now.  And the reality is that, yes, the network service,  getting to a point of total free network services actually involves solving a lot of hard problems.  And one of the actual issues that I think we're actually having right now is that  part of the current trend is get really excited about the new thing that somebody ends up announcing,  throwing up a Kickstarter page for, and they start, they go for a number of months,  and then it kind of disappears.  We actually need to be focusing on these years.  I think this is actually a many-year problem that we actually have to focus on.  And we're going to end up running through a lot of these difficult problems  and have to work through them, but it can just continue to be a lot of work.  But anyway, yes, go ahead.  I was able to filter my plus-a income list of like,  Hey, what?  Plus-a team like, pornography, but if so, and...  Oh, plus-a team, like a pornography media goblin site.  Yeah, sure, you can use media goblin for porn.  I don't know, they came in and they...  Oh, it'll filter in for me.  So we have one of our oldest bugs in the tracker is actually like trying to figure out  how to be able to handle the kind of marking whether or not things are like pornographic or not.  And we actually haven't really seen media goblin being used for porn right now,  which I guess probably has not really spurned anybody to work on that bug.  But my current thoughts on that are a few things.  One, it's probably actually...  It is going to be something that's going to be a bit tricky,  but it's not totally impossible to be able to tag and mark things as 18 plus and stuff like that.  We can hope that sites actually end up being good and actually kind of, you know,  marking those types of things and maybe you can actually mark things as a blacklist  as if, like, you know, you want to be very careful about that on your site  and want to say, like, I know this stuff tends to be, you know, fairly raunchy  and I want to be careful about that on my site.  But actually, Evan Prodromo made an interesting comment on Pump.io, which is that  maybe this could actually... Federated Services could actually be a real boon to parents  who are concerned about these types of things,  because if you're actually able to run a site and you're actually able to help, you know,  handle the moderation of those types of, like, some of, like, which sites users people are subscribing to  and your kids are young enough or that are not technically savvy enough  where they're going to be able to get around all your stuff anyway,  but they're young enough that you're going to actually be able to spend some time on this,  well, then adults could probably actually handle some of the whitelisting of these types of things.  Like, yeah, you can subscribe to this channel and this channel and this channel.  So I actually think there's ways around it, ways forward with it,  but we haven't tackled it yet in Mediae Galvan itself.  But yeah.  I think that's that.  Oh, go ahead and then he says.  I think the problem with some sort of content filtering comes back to the same thing as with spam.  You need to have some sort of system that you can trust to actually filter that.  Yeah, probably.  Is there any support for the newity of the members of this generation?  There's no anonymity support as far as I know.  In the Pomp Protocol, there is privacy support.  Well, I mean, there's privacy support, which is not necessarily the same as anonymity support.  I mean, you could be about as anonymous as Bitcoin just to say not very anonymous at all.  You know, right?  People think, like, Bitcoin, great.  It's an anonymous currency, an anonymous currency where we keep the history forever of every single transaction that happens, right?  Like, you can actually be a bit more anonymous than that, in fact,  because you're not going to actually store the transaction or everything ever.  So, but I mean, you know, sure, if somebody wants to actually run a site for journalists who are in a,  or people who are in like a socially repressed area and they want to get around censorship and speak to journalists or something like that,  well, maybe they can connect to a media goblin instance where anonymous registration is allowed.  And sure, they might have some sort of user ID that gets persistent and ends up appearing a bunch of places,  but it's still actually a lot more censorship resistant than Twitter or Flickr or YouTube or any of these types of things.  And you could have a way of people being able to push stuff out there.  So I actually think anonymity is totally possible.  But, you know, somebody making an anonymous post,  I actually don't think it's in the spec for the pump API.  And I'm not actually completely sure it's really necessary at the moment, but...  Yes.  I can't hear you. Can you say that again?  Well, I mean, I mean, so it's possible to do aggressive censorship of any network system.  It's a lot harder when it's spread out.  Well, we're still moving forward in the Federation space, so that's kind of like next step after that.  So, yeah.  Is that it?  It seems like it sounds like... are we getting towards the end of time?  Okay, well, that's it.  Thanks everyone. Greatly appreciated.
_FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_0_419.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_420_1295.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_1296_1523.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_1524_1595.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_1596_2195.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_2196_2243.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_2244_2735.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_2736_3491.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_3492_5063.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_5064_5519.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_5520_6059.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_6060_6671.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_6672_6851.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_6852_7043.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_7044_7415.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_7416_7835.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_7836_8231.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_8232_8495.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_8496_8807.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_8808_9191.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_9192_10643.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_10644_10883.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_10884_11867.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_11868_12059.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_12060_13679.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_13680_14663.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_14664_14879.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_14880_15359.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_15360_15707.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_15708_16175.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_16176_18047.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_18048_19355.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_19356_19739.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_19740_23195.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_23196_28355.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_28356_28451.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_28452_29843.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_29844_31259.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_31260_31535.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_31536_31811.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_31812_32579.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_32580_32927.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_32928_34739.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_34740_36659.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_36660_37931.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_37932_38051.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_38052_40151.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_40152_41027.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_41028_41375.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_41376_41435.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_41436_43535.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_43536_43751.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_43752_43895.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_43896_44123.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_44124_44339.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_44340_44555.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_44556_44603.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_44604_44735.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_44736_45935.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_45936_46727.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_46728_47447.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_47448_47543.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_47544_50495.png _FOSDEM_2014__The_road_ahead_for_network_freedom_4vNMAOJDhhw_50496_72028.png
I want to introduce someone who's one of my heroes and Chris is one of my heroes because he cares very deeply about an issue that's important to me that I don't work on enough but he spends all his time working on it which is the freedom of network services and he's done the more work than almost anyone in the community on this issue and I want to hear his wonderful talk on it. Alright, well thanks Bradley for the very kind introduction. So yeah, so this talk is about the road ahead for network freedom. So actually a little bit about me, Bradley already somewhat introduced me but I'm Chris Weber. I'm the lead developer of a project called GNU MediaGoblin which some of you may know of. I'm also a Python developer, free software and free cultural activist. I've been doing this for quite a while. I've worked at a number of free software organizations prior to this. I was working at Creative Commons full time and at the Participatory Culture Foundation and I'm doing MediaGoblin full time actually as a contractor through the FSF and I'll get to about that a bit. But you're not here to hear about me and we don't have a lot of time so let's frame the conversation. It's not very hard to frame this conversation thanks to the last year's political situation. The present reality of network freedom is very clearly not pretty. We have corporate control of the web, NSA spying, freedom for developers but not for users. That is a phrase that I will probably repeat a few times but what do we do about all this? What actually can we do? Well I'm actually working on a project to try to do things about it and towards the end of 2012 we actually ran a fundraising campaign with the FSF which is what's paid for me to work for the last year or if you include the time working on the fundraising campaign and the stuff since this last year, about a year and a half actually to work on Media Goblin full time and thanks to the community I'm able to be paid to work on this. We had a video which is actually probably one of the best explanations of Media Goblin we have and also ties into a bunch of stuff that I'm going to talk about here so I'm actually going to play that. Apologies if you've seen it already. For just over a year now we've been building a site new project of the web called the new Media Goblin. Media Goblin is a media publishing system for hosting audio, video, images and more. It's free software so anyone can run it and customize it. It can do a lot of cool things including supporting multiple media types from images to videos to audio. This means you can have all your media in one place. It's also built for its sensibility which means you can add entirely new media types even something wild like Asgyr. Why not right? That's that new goblin speaking by the way. Media Goblin is part of the movement to make the web a better place but we need your help to make sure we get there. The internet and the web were designed to be decentralized. This is great because it enables a global and diverse voice. It's also very resilient. If one server goes down for whatever reason the internet still exists. To quote John Gilmore, the net interprets censorship as damage and routes around it. But recently the internet has been moving in a different direction. Instead of a resilient web of smaller and independent sites we have larger, more centralized sites. This has several problems. For one thing the more centralized the web becomes the easier it is for organizations to automate censorship either via the centralized host directly or even through the pressures of external institutions. In such a system the internet can't route around damaging more. Things are much more fragile generally too. In a more decentralized web if one node goes out the whole system lives on. But what if everyone's photos were on Flickr and it disappeared? What would happen if YouTube went away? What would happen to cat videos on the internet? It would be like a cat massacre. This leads to a sad attract. This is why we're developing Media Goblin. Media Goblin is devoted to putting power back into the hands of users. And it's a good new project because we care a lot about freedom. We've already got a lot of stuff that's pretty awesome so I hope you'll join. Media Goblin supports all different types of media and support for more types could happen soon. We have e-mings so you can make it look any way you want. We also have obituary map supports so you can see where your pictures are taken. And we have commenting and other things that web users are used to. It's working software that you can run yourself. Over the last year and a half we've had over 50 contributors and have made several significant releases. This is indeed exciting times. We need your help. Media Goblin has come a long way. There's a lot more it really needs that it can become the best media hosting option that there is. Most noticeably we need Federation. Federation is how email works. You and your friends might be on entirely different servers but emailing between them feels like they're on the same thing. We want media hosting to work the same way. Stand up, Matt. I'm going to stop it right there. That's about enough of that video that you need to see maybe even a little bit more. But I brought it in there actually because the reason why I replayed the thing. And that's actually because I wanted to talk first of all, I'm talking about the road ahead for network freedom but one of the most important things that I think has to do with this is actually the issue of messaging. You might be wondering, well, wait a minute, this is a talk about network freedom. What does that have to do with messaging? What is that really important? I'm going to get a little bit more science fiction-y for a second. I'm going to say that actually I'm going to talk about computing freedom as a human right. This sounds very science fiction-y. This is also partly because we tend to treat software freedom as kind of a nerd issue even by most of us. There's a lot of other projects that are more important. There's a lot of other issues that are more important. And we kind of tend to downplay this in some ways. And that's probably even actually fair so that we don't become into totals egotistical jerks basically. But actually computing is getting closer and closer to where pretty much everything you need to do, everything you want to actually convey or actually act upon involves computing in some sort of way. So we're actually moving to the point where this is not just a nerd environment type thing. Computing freedom affects everybody. Okay, so accepting that, the problem is though that issues of computing freedom are mostly just understood by nerds. Outside of hackers and academics, how many people actually understand the concepts of computing freedom, especially the concepts of free software, especially as an ethical issue. And network non-freedom has an at work effect. In networking stuff, if you take a look at, for example, how many of you have wanted to leave Facebook, maybe even left it and then came back, right? You know, probably quite a few. It's very difficult to actually be able to, in a networked world, be completely free when the rest of the world is non-free. So we actually can't just be, we can't live in a world just like free software for free software nerds. It's not possible. And free software, anyway, we really shouldn't do it. Is this not freedom for the technically skilled view or freedom for society? And surely we were in the broader social movement camp. So, and lastly, accepting all of this, now that we know this, how do we go about it? Do we just become super smug and we're like, we know what's right. We're the free software people, all you people, you don't know what's going on. That's not going to work. That smugness is not the answer. So, what can we do to improve awareness? So, I think that we actually have a lot of teachable moments. You know, the upside to the really terrible last year of us finding out how bad things really are in computer science, like in the world of computer security and stuff, is that people really latch onto that stuff. We made this video before this note and stuff came out, but like, you know, the app itself has had this image up on their site for the last year. And you know, like the thing is, we had a lot of people actually come up to me after this video and they were like, oh, well, you know, I wasn't sure why I cared about any of this stuff, but I really felt it after I watched your video. And what if we create materials that are for people who are not really probably going to spend the time to actually dive in to reading, you know, some very academic articles about what free software means, but just get people like the equivalent of like the environmentalist level of things, right? Like environmentalism. Not a lot of people actually do anything about it, but most people get the general ideas of it, right? Even if they're actually not making a lot of movement themselves. We're not anywhere near that level and that makes conversations really difficult. And the media problem video is partly an attempt to actually prove that this is possible. That's one of my secret agendas of many secret agendas that I have, I guess, not so secretly on the table all the time. So next stuff. This is licensing and policy thing. Let's talk about licensing and community. There's a lot of stress about this in the free software world, especially, you know, probably somebody in this room tends to stress out about it more than anyone else about copy left and permissive licenses. But actually, I think this might actually be a symptom of something else. And that's why I have this lovely little don't panic picture on here. It's because I actually think that this is a symptom of a different change that we've been seeing. I have a little blog post up here from one of the GitHub founders that says open source almost everything. At least everything but your secret sauce, right? And this is a really common discussion. In fact, the secret sauce would get brought up this morning, you know, in the Twitter conversation, right? So in the mid-2000s, we saw the rise of the web 2.0 world. And this is like, at least, you know, and we saw this also happen with kind of a big switch over to max and kind of like a lot of people kind of an exodus from the free software desktop. And this kind of also came along in the time with a lot of anti-copyless sentiments, which has just been kind of on the rise in many ways, which this idea is like, you know, actually in some ways this is actually a conversation of like, you know, the release everything but your secret sauce. But it's also kind of a developer freedom kind of thing. Like, you know, like we can really do a lot of cool things if we just release all of the tooling as free software, but we'll stop right there because then we can make a bunch of money on that proprietary layer. And this, like, we can write free software stuff during the day and it'll be awesome. But now we have a bunch of free developers and the users are actually still encumbered. So this is not really, I think, actually the greatest thing. And the anti-copyless attitude is not really kind of the traditional BSD kind of like, well, I'm so against copyright that I'm against even using copyright in this type of way, which can be an ethical stance. It's actually kind of a, well, we want to proprietize this layer type of thing. Although sometimes people trickly try to think you, to make you think that they're in that camp. But so most devs make their license choices today on what their role models do and who are the role models of today? The role models of today are mostly a lot of people, you know, like the leaders of Django and Rails and types of people like this, who have these very anti-copyless sentiments. And so that's led to kind of like, people tend to do what their role models actually do. So moving on from there, are we in a copy left crisis or an ethical crisis? I actually think that the reason why we're seeing this is because where people are working right now are in the library space. And libraries tend to be more conducive to permissive licenses. And I actually think this is okay. We're doing just fine infrastructure-wise. In fact, this makes my job of building the thing that's on the next layer a lot easier. But we still need to work on that next layer. So we're not really struggling on the developer freedom side, but on the user freedom side. But is copy left totally dead in the web space? Well, actually, when you look at web applications, when you get to the total secret sauce releasing side of things, people actually, when they release that side as free software, tend to actually use copy left. WordPress is under the GPL, and so is Media Wiki. CPCRM is under the AGPL. Statusnet and Goose social was over the AGPL. Pump.io, the kind of successor is under the Apache, but that's because it was for a number of reasons. One was because it was trying to become more of infrastructure. PageKite, MailPile, Diaspora, MediaGoblin, Agatorious, all of these are under the AGPL. So actually, when people work on that top layer, copy left still seems to feel like a pretty good choice. So in other words, we're struggling with getting polished user-facing free software and getting in the hands of users. But when that happens, copy left actually seems, it actually doesn't look so dead. It's just that we're not seeing as much movement there as we need. So, freedom-aware communities are the antidote. So I think there's two things that we can do. In the infrastructure side of things, we need more people who are actually in the side of building infrastructure, even if they're in a permissive license space, who are like, actually, this top layer is really important, and I care about not just the infrastructure side of things, but actually building, getting freedom all the way down to the user. And if we actually have that, that's an opportunity to kind of get people engaged to build the tooling that we actually need. But we also need people working on that top layer of things, building the user-oriented network applications with tomorrow, like MediaGablin. And probably people will choose copy left licenses for this. And if people give you crap for it, just say, oh, I copy left what you released as your secret sauce. That's the difference right there. But right now, we don't have enough polished examples. And so that's partly a problem. So let's talk about deployment and adoption. Even though we actually have some software that releases free software, we don't have enough users, and we also don't have enough people deploying this. And this is partly because it's actually very hard to run free software network services. And if somebody is running a free network service, this is not a fun thing for me to admit, right? So we're struggling on this. Deployment is hard. A lot of free software web applications are not packaged or just packaged in their language and environment. And there's a trend toward kind of language-specific packaging and environments with Python, using virtual-on-vins stuff like that, and kind of the whole setup-tools ecosystem. And not to mention that once you actually deploy things, editing application is not just as easy as just app get install, some sort of server. You also have to generally edit application files and all sorts of things like that to get things to actually work. And so that actually makes things pretty difficult for people to deploy and then maintain. So most modern web applications actually require somebody who's familiar enough with the language to actually deploy the application written in that language itself. But we should be engaging in this type of thing anyway. Even though this is actually a sad reality of it, I actually think we need to be deploying the type of... One of the reasons that Nidhi Goblin has written in Python, despite Python being difficult to deploy in this type of thing, is I see that these types of applications, this is the way that people are writing modern web applications. So if we're not actually trying to go through the process of making those difficult to deploy applications easier to run, then we're just stuck with writing crappy applications or just not getting that deployed at all. And users don't tend to see this because part of the trend has been you don't run your own servers, you don't have any control over it. And then you have a team of people who are just like, you know, you've got a team of DevOps people who are both developers and system administrators, and they handle that type of stuff, and the users never see it. So, but network freedom does not have that luxury. We need people to be working on these things to make this type of stuff easier. And if we don't, we're not going to move forward on this. Now, you can actually say, but wait a minute, what about PHP? PHP is super easy to deploy, right? Well, it's sort of easy if you're using shared hosting, but the sort of things that make it easy also kind of make it easily exploited. The, you know, how many you compromise WordPress sites have you seen over the last number of years, probably quite a few if you've had to deal with WordPress sites. Shared hosting is also dying and for good reason. It's actually not a very good user freedom environment. You have very little control over that server. So this is not actually really a really great situation. And PHP is living in the past, dude. Like, just don't write things in PHP. That's my opinion. There are good PHP communities. I'm not a big, but I think that like saying like, well, we'll just got PHP and that's a solution. It's not the solution in my view. And I do acknowledge I have language bigotry though. So not just the web services though, you're like, so like, oh, you media goblins, you guys are super hard to deploy. That's the problem. You guys just don't know how to write this stuff. Well, okay, let's take a look at some other federated services. How about email, right? It's been around a while. Email federated. We know all this works. Been around a while, right? Super easy to deploy by that, right? I didn't even have to ask anybody because I got the laughing response. You know, how hard could it be? I had a friend say to me recently, I'm so tired of relying on Google for all my email. I'm going to run my own server. I'm going to just do this. I've got a linode account. I'm going to run it. And then they went and they installed and they're like, I just said, what packages do I install? I just installed the packages and I'm good, right? Like, can you describe your mail set up to me? And I'm like, well, I probably have kind of a nonstandard setup. What I do, I have postfix and I have Dovcott to deliver the mail to me and then deliver it. I connect over an SSH tunnel to be able to send mail. But I also deliver to a mail. What's the question? It's a bit hard because it's exactly because it has been around for that long time. It's got a lot of baggage. It has some baggage, but the protocols are not that complicated in some sort of ways. But anyway, so I interrupt them myself. So my setup is I've got postfix and Dovcott delivering to things and then I run it through proc mail, which then goes through spam assassin. I fetch it over to my machine with offline IMAP. I index it locally on my machine with MU. And then I run an email explying called MU4E. Super simple. Oh, by the way, my mail's recently got marked as spam because I wasn't sending the right headers on my mail. So like, this stuff is not easy, even if you've been struggling to learn how this stuff works for a long time. But I actually think that email in some ways is very complex, but it's not just a protocol being kind of crifty and been around a long time that's an issue. It's that deploying and maintaining and configuring all these things are not that easy and there's not been enough space in making the configuration layer of things easy. So we use user-centric configuration and deploying and management type things. And there's actually a lot of work being done on this right now. Docker, SaltStack, OpenShift, Puppet, you've probably heard of a lot of these things. With the exception of OpenShift though, we need these layers above the packaging world. However, while there's all this cool stuff that's been happening, they're mostly oriented towards sysadmins and kind of corporate environments. And so while people are like working on this type of stuff, it's not actually for that end user type of person I'm actually talking about here. So we need to get another layer above that. We really need a configuration and deployment management for somebody who will never touch a configuration file. That's what we need. So what can we actually do? Maybe something like OpenShift where enough things are abstracted as a type of solution. I'm not quite sure. It's something that needs to be worked on though. I'm very busy working on Media Goblin though, but I'd love to work with people who are working on this type of thing. That's the situation I'm in. So what's the silver lining of this situation? Oh, I just made deployment seem really frustrating and like, oh, we're so fucked. But what are we going to do? Well, actually there's a silver lining to this. The free software desktop used to be really hard to run and maintain. People used to have parties just to get this stuff running on your machine. And we need to encourage people actually running stuff on this frontier until it gets easier. But in the meanwhile, when things are hard, there's actually an opportunity to learn cool things. I learned all sorts of things about file systems. I learned all sorts of things about like kernels and how they work and then compilers and all sorts of things I never would have learned if my computer were not so fucking hard to install in the mid 2000s. And like, it was so difficult. But now it's not that difficult and these install fests have gone away. But maybe the install fests should come back. Maybe we should actually be teaching people a whole new layer of fun, exciting things to do and scream at by installing free network web services. Somebody in the back. There is a desktop that group and the packaging inside the package. So, are they used in the future or against the current? Well, I mean, I think packaging actually, like packaging with like desktop packaging is a great idea. Like we should be working with those types of people. But I think that the packaging itself doesn't just solve things. You know, just installing a mail server is not enough because you also have to configure your SN cell search and then you've got to work with some external site for that. You've also got to be able to set things so that you've got your domain name and your blah, blah, blah and tons and tons of settings that are really complex and that are scattered. You have to sync them up across all these different configuration files. If you look on things like on puppet, I'm going to get to questions more than. But if you look on things like Salt Stack and stuff like that, you can reuse variables and stuff like that. And that's like something that we're not really seeing outside on the kind of user set and tripside. But we should keep moving on. So, let's talk about Federation. It's not just for Star Trek. Federation in this context is talking about getting the servers to actually talk to each other. So, what does that actually mean for us? For us like, you know, us web services using people. Well, what do we want to do in MediaGalbin, for instance? We want people to be able to, you know, comment on somebody else's photo. Sure. We also want people to be able to add somebody's, you know, video to their own gallery. We want people to add their own images to their equivalent of a flicker pool or something like that. We want people to be able to, you know, to do all the same type of social things they can normally do. But when you end up splitting it across a bunch of sites, it makes it really difficult. So, what's a current state of Federation? Well, a minor troll here. But if you know, the pump that I know, this will be a bit funnier, but Zach's laughing. So, the state of both, for both, so what we used to have was kind of, O-Status was like, a couple years ago, actually even in the last video, we were like, O-Status is like where things are going protocol-wise. And Statusnet was kind of the application that kind of proved how this stuff works. But the pump, but actually pump.io is kind of the where things are going. But, and there's a new API called the pump API. And, but these things are kind of separate, but in both cases, this is kind of a flagship application that's kind of implementing the proof of the protocol. But why the switch? For one thing, the status, O-Status actually required a whole bunch of different separate protocols that were kind of like, we're going to take this protocol and this protocol and this protocol and bring them all together and then we'll have federation. And it was kind of a meta-standard in some ways. But pump.io is a lot simpler. It's JSON based, which is what all Web 2.0 developers want these days. A number of things. It's also fairly easy to understand. It has privacy baked into it, which was one of the big complaints about O-Status. And not to mention the fact that Statusnet got rewritten away from PHP towards Node. And it was an opportunity for, I think, Evan to kind of re-approach things as that was happening. So what about Federation and MediaGalbin? What's the current state of Federation and MediaGalbin? We have an extremely talented student in, throughout each program, for women named Jessica Talon. And she was working on Federation for us. How much time do I have by the way? All right. You have a lot. Oh, okay. Great. Wow. Nice. So she was working on both on adding Federation to MediaGalbin and also building a library called PiPump to make Federation a lot easier within MediaGalbin, within Python applications of all kinds. And so this has been moving along. This is actually a screenshot. When I end up getting to the thing I'll show at the end, you'll actually see it this kind of reappear. But like you actually, the current state of things is you can submit, the pump API is actually going to be submitting both the desktop and mobile API that we currently have in MediaGalbin to kind of become the omnidpi for MediaGalbin. But thanks to PiPump, it's super easy to write a client now. And I actually think that PiPump might even be more important than MediaGalbin's implementation of the pump API. Because the way the developers learn things tends to be by picking up a library and messing around with stuff. And we didn't really have that for OSDAS. But with Pump.io, very, I'm sorry, Pi, the pump API, because pump.io is software and we don't even use it in MediaGalbin. With the pump API, we actually are having a lot of more tooling kind of appearing right away. And that's really exciting. But on the other hand, we have had this kind of fracturing in kind of the Federation space. But anyway, so the Federation is about cohesiveness between different installations of like some sort of instance of things, right? What about cohesiveness within the site itself, right? So say you want to install Diaspora and MediaGalbin and, you know, like XMPP, and you want to install WordPress and all this stuff, and you want to have it all together. In some ways, this is actually kind of difficult at the moment. Part of the problem is that multiple applications are kind of hard to theme. They tend to use different templating engines. They tend to have different layout decisions and patterns. It means that this is actually a screenshot from the media.jpop.org, one of our MediaGalbin contributors runs a MediaGalbin site, and he runs all of these different things. Well, not GitHub, obviously. But he runs tons of these different things, and he's actually themed each one of them. But it's a lot of work to re-theme each thing. And so we actually have some kind of incoherence between the different applications. And that's kind of a problem. So differing in incompatible authentication systems is also a problem. You have this installation. Why should you create eight different users for yourself on one, this type of thing? This is kind of a problem. And there's other inter-application inconsistencies. So what are we going to do about this? Well, do we need a desktop suite of web applications? I'm not actually proposing that I'm going to build such a thing right now, but it's something I've been thinking about. I'm actually struggling enough with a single application that I'm working on already. But I have thought about, you know, it really might be that we actually need to have, instead of just a single application, have a full suite of things that kind of have clear ideas of how they work together. So that actually brings us back to Media Goblin and where things are currently in Media Goblin itself. So let's talk about accomplishments of last year. So Media Goblin, we managed to raise, not quite hit our goal, but we managed to raise enough to be able to pay me for over a year to work on things and also do some more stuff than that too. We got out five major releases, not minor, five major releases, which is pretty exciting, packed full of features in each one. We have six successful outreach programs for women and summer of code and student ships. And actually one of those students is actually, we've got a grant where she's continuing on to work on Media Goblin stuff for academic institutions and improving Media Goblin's metadata support. So actually it's been a really exciting last year. And what a deal for the amount of money raised. We actually got tons of development in within this last year. But we still have a ways to go and Media Goblin isn't quite finished. And because of that, what's going to happen? Is this it? Are we going to leave the cats out in the cold? Is this the end of Media Goblin development? Well, no. We're actually planning to move ahead. And that is why we're actually planning on running another campaign. So I have been scrambling like crazy to get this thing together. This room is the first room to be able to see what I've been working on over the last month to be able to get the campaign materials prepared. You guys have executive preview access to what's going to be released for our new campaign. I hope you enjoy it. I'm going to play the whole thing. The internet was once a healthy resource. Before I say this, this is intentionally a little bit corny in the sense that we decided to make this kind of like, people really like the imagery from last year. So we decided we're going to build on this. And in fact, we're going to make this like epic movie trailer sequel style. So let's see if I managed to pull it off. Oh, I should probably play again. Oh, no. I don't know what happened, but it's not happy. Okay. Whoa. It's a good thing I have lots of time. Uh, okay. There we go. The internet was once a healthy, resilient and self healing place. But then things began to change. Power has moved for the many to the few. These corporate megasites are fragile, sometimes going out entirely. Censorship has become rampant. And the last year has shown surveillance to be creeping into the systems of the web. Centralization has infected the debt at the cost of our privacy and safety. While you're voting user freedom. Is there any hope for the internet we knew and love? But wait, something new has arrived. Something to put power back in the hands of the people. Media goblin. Media goblin is a media publishing system for the web. It's decentralized and social. With media goblin, you don't need to split your media across a billion separate commercial sites. Whether you want to share images, or video, or audio, or presentations, or even pretty models. Media goblin can host it all. Media goblin is written in Python by a community of over 75 contributors. Media goblin is a GNU project, which means we're all about bringing freedom back to you, the user. Media goblin's key feature is federation. With federation, we can provide user freedom and improve the social experience of modern media publishing sites. By making the network more resilient. When you favorite a photo, who's to comment to a video, or share your latest drawing. You want people to be able to see those updates. But how do you share with people on a totally different media goblin site? With federation, people can be on entirely different media goblin sites. And share as if they were in the same place. We've been working towards this using a protocol called the POP API as implemented by POP.com. As part of this, we've been collaborating on building a library called Python. Which will make it easy for Python to have applications of all kinds. We've found an accomplished group of contributors that work hard and make things happen. We've accomplished a lot. We've got five major releases last year alone. This includes new features like a plugin set, 3D model support, Doctypuff and KDF uploads, user curated collections and galleries. Authentication plugins including Lozilla persona support, OpenID support, LDAN support, Common Preview, Slight Administration and Moderation Tool, and many more. We want to make that happen, wrap up with more info, add privacy features, and bring media goblin to the table. We can't do it without you. That's why we're asking for your support to bring the benefits of media goblin to everyone. Become a part of Internet History. Join our goblin force today and help us bring about a media revolution. There we go. We better raise the money, goddammit, because I went goddam insane over the last month on that video. But anyway, that's where things are currently at. There's some brief credits here. I guess I'll scroll back through them. But anyway, there's been... So that's basically where things are at. The campaign is going to be launching sometime in the next couple of weeks, and I'm assuming we'll send a message through the FSF and a number of other things. You can help by joining our community, participating, running the software, using the software. Users are super important. And please donate in the UpCalling campaign. We are actually hoping, if everything goes really well, I'd actually love to fund not just myself. I'm not making that much money off of this. After we managed to pay a couple of people to do some things, and after rewards and everything, I was paid about $32,000 for a year and a half worth of work. But I don't want to pay the same to the person that I'd actually like to bring on. I'd actually love to be able to pay somebody to actually work completely focused on making Federation awesome. And that would require more funding that we actually managed to bring in last year, which means that things are going to be super ambitious if we actually managed to pull this off. Who knows if we will or not, but I'm really hoping that you will. And more than just donating, I could really use help and people being able to spread the word about things. If you can write in a blog post, send stuff. If you do any sort of writing on this type of stuff, I'm going to be around here tomorrow. We can talk. But help spread the word about it. And thank you. What? We do have stickers. They are in my bag. I do not have the Gavrash stickers, but I do have the I Love Media Goblin stickers. And that's it. That's what I've got. Any questions? You. Oh. Thank you. Thank you. Yeah, absolutely. That's what I was talking about in the whole deployment section is, you know, that we need easier ways to be able to run software. And it's not just Media Goblin. We need easier ways to be able to run all sorts of software. And right now it's actually hard within the current tooling that we have. And I actually think that we need some layers of this that are above where Media Goblin currently is, because this is a problem not just with Media Goblin, but with all sorts of software. And so there we need extra layers there. If people are working on these types of things, I'm interested in speaking to them. And you are raising your hand. So you go ahead next. Oh, we're right. Okay. PageKite is pretty cool. I think it's actually a really neat thing. It does require that you actually end up proxying something through something else, which is actually pretty, but it's pretty cool how it does things. I don't actually think that it solves all of the things though, because it doesn't solve the configuration side of things for you. And like you, if you're actually wanting to run multiple things together, you actually probably need to be able to kind of configure things so that they kind of work smoothly across it. But PageKite is actually pretty awesome. Is Bjarni here? No. But anyway, Bjarni is super awesome who works on PageKite and also in MailPile and actually donates stuff for us. And I think it's actually a pretty neat part of things. But I actually think we need a bit more than that too, because we also need to be able to handle the configuration management and other style of things. But I agree. Media Goblin is actually a part of the solution, not the entire solution. We need to be working on multiple layers of these things. Thank you. So what Kanuchi was saying is that, you know, what about routers that are running free software and are using free software like configuration management tools? I actually think that that's actually a great idea. Everybody has a router, everybody has a router in their home. It would be great if there were easy ways to be able to run things just off of your router. And you don't have to write proxying things to get around your router if you're actually, it is your router that's running things. So it would be great if people were working on that layer of things on the router level software. Sure. Right, right, right. So there are, well, we should talk more basically. I don't actually know much at all about how that software works. It's not something I spent much time in. But if that's a good way to move forward on things, we should absolutely talk about it. Yes. You. Yeah, I know this FreedomBox people. Actually, one of my close friends is Nick Daly, who works very hard on the FreedomBox stuff. He's awesome. I think, you know, and FreedomBox has been working towards these types of things. I actually think FreedomBox is a great idea. I actually think that the types of things that I'm thinking about, I actually don't know too much of the details of the current state of FreedomBox, to be perfectly honest, even though I'm friends with one of the people who works very hard on it. But I actually think that the layer of things I'm talking about also on the configuration management and side of things too, I actually don't think we need to target towards any specific devices either. Actually, we should be building things that can be deployed exactly the same as if you're deploying it on a plug, or if you're deploying it on your VPS, or if you're deploying it on all these types of things. Because it really doesn't actually matter. This is the equivalent of apt. The thing that I'd actually like to see happen is the equivalent of apt for configuration management and stuff like that. I'd like things to be as easy as apt get installed, this type of stuff, and maybe clicking a couple of check boxes as easy and syntactic. I can speak last year, I said the same thing, as easy as synaptic package manager, which is not to say the best interface in the world, but easy enough where somebody can actually just kind of do that type of thing. But I'd like it to be pretty generic also. But anyway, other questions or comments? Talk about the Federation in this video, and I guess you have a brick done much more coding than a pump or die. But how much of a design have you done so far? For the design of the Federation stuff, well, I'd like to say that it was a lot more than we have, but we're actually still moving along in that type of stuff. Design is something that actually MediaGoblin could use a lot more help with right now. I'm actually looking for help from designers to be able to move forward on things. We have one of our most awesome designers who kind of set the original design for MediaGoblin. Sorry, not to sign us in the way it looks. Architecture of the sign. Architecture. The information moves around. Oh yeah, we've actually discussed that quite a bit. It's not set in stone, but we actually have, that's been discussed quite a bit. And the... You can also document it somewhere, so I can have a look at it. Sure. Actually, we've got an Ethernet page that we wrote up way long time ago when Jessica started working on the thing. Part of the thing is also that Jessica ended up, and actually it's what I encouraged her to do also, ended up spending a lot more time on the pie pump side of things. And we got to the point where you were able to submit the media through pie pump and stuff like that, through MediaGoblin, but it's not quite at the point where things are interconnecting. So it's likely that some of that will actually end up changing on the architecture side of things, but we did create kind of a speck out doc with the general idea of how things would go. You. What's... So you mentioned emails that are passive camera on service. And one of the things that we were giving to Spam, do you have obviously on the other calls of Spam? I mean, how much do you improve from that? So I have... So what's happened in the world of Spam, actually, so a lot of what I ended up doing, if it's not obvious enough, I'm riding off of the heels of an extremely smart person named Evan Perdomo. And he has been working on a server called Spam City, which unfortunately is in its own ways kind of centralized. But it is like... What it is trying to do is actually try to use all the kind of common ideas, but it's also free software at the moment. But anyway, it uses all the common ideas of what the kind of Bayesian filtering and all sorts of other things that we do for Spam filtering and moves into the kind of the pump.io stack. So what I'd like to do is actually try to make it easy for people to be able to just click and kind of turn on a service to connect to some sort of service like that for their Spam filtering. But I think it's going to be difficult. Spam is difficult in email, but it's not impossible. Spam assassin actually does a pretty good job of filtering out Spam on my local server, so we can have free software alternatives to these types of things. But yeah, it will be difficult. That's the reality of anything that's networked. Spam is a very, very, very difficult question in it. And I think the only true solution for Spam can, in theory, be some kind of social network filtering, which means that people have a social score that some kind of scoring network gives them. Because in the kind of Bayesian filtering and so on, we'll always be fooled because Spam will just improve too much. Well, there's a number of, I mean, yeah, every Spam system that's working now is having to take a multiple set of approaches right now. And the reality is that, yes, the network service, getting to a point of total free network services actually involves solving a lot of hard problems. And one of the actual issues that I think we're actually having right now is that part of the current trend is get really excited about the new thing that somebody ends up announcing, throwing up a Kickstarter page for, and they start, they go for a number of months, and then it kind of disappears. We actually need to be focusing on these years. I think this is actually a many-year problem that we actually have to focus on. And we're going to end up running through a lot of these difficult problems and have to work through them, but it can just continue to be a lot of work. But anyway, yes, go ahead. I was able to filter my plus-a income list of like, Hey, what? Plus-a team like, pornography, but if so, and... Oh, plus-a team, like a pornography media goblin site. Yeah, sure, you can use media goblin for porn. I don't know, they came in and they... Oh, it'll filter in for me. So we have one of our oldest bugs in the tracker is actually like trying to figure out how to be able to handle the kind of marking whether or not things are like pornographic or not. And we actually haven't really seen media goblin being used for porn right now, which I guess probably has not really spurned anybody to work on that bug. But my current thoughts on that are a few things. One, it's probably actually... It is going to be something that's going to be a bit tricky, but it's not totally impossible to be able to tag and mark things as 18 plus and stuff like that. We can hope that sites actually end up being good and actually kind of, you know, marking those types of things and maybe you can actually mark things as a blacklist as if, like, you know, you want to be very careful about that on your site and want to say, like, I know this stuff tends to be, you know, fairly raunchy and I want to be careful about that on my site. But actually, Evan Prodromo made an interesting comment on Pump.io, which is that maybe this could actually... Federated Services could actually be a real boon to parents who are concerned about these types of things, because if you're actually able to run a site and you're actually able to help, you know, handle the moderation of those types of, like, some of, like, which sites users people are subscribing to and your kids are young enough or that are not technically savvy enough where they're going to be able to get around all your stuff anyway, but they're young enough that you're going to actually be able to spend some time on this, well, then adults could probably actually handle some of the whitelisting of these types of things. Like, yeah, you can subscribe to this channel and this channel and this channel. So I actually think there's ways around it, ways forward with it, but we haven't tackled it yet in Mediae Galvan itself. But yeah. I think that's that. Oh, go ahead and then he says. I think the problem with some sort of content filtering comes back to the same thing as with spam. You need to have some sort of system that you can trust to actually filter that. Yeah, probably. Is there any support for the newity of the members of this generation? There's no anonymity support as far as I know. In the Pomp Protocol, there is privacy support. Well, I mean, there's privacy support, which is not necessarily the same as anonymity support. I mean, you could be about as anonymous as Bitcoin just to say not very anonymous at all. You know, right? People think, like, Bitcoin, great. It's an anonymous currency, an anonymous currency where we keep the history forever of every single transaction that happens, right? Like, you can actually be a bit more anonymous than that, in fact, because you're not going to actually store the transaction or everything ever. So, but I mean, you know, sure, if somebody wants to actually run a site for journalists who are in a, or people who are in like a socially repressed area and they want to get around censorship and speak to journalists or something like that, well, maybe they can connect to a media goblin instance where anonymous registration is allowed. And sure, they might have some sort of user ID that gets persistent and ends up appearing a bunch of places, but it's still actually a lot more censorship resistant than Twitter or Flickr or YouTube or any of these types of things. And you could have a way of people being able to push stuff out there. So I actually think anonymity is totally possible. But, you know, somebody making an anonymous post, I actually don't think it's in the spec for the pump API. And I'm not actually completely sure it's really necessary at the moment, but... Yes. I can't hear you. Can you say that again? Well, I mean, I mean, so it's possible to do aggressive censorship of any network system. It's a lot harder when it's spread out. Well, we're still moving forward in the Federation space, so that's kind of like next step after that. So, yeah. Is that it? It seems like it sounds like... are we getting towards the end of time? Okay, well, that's it. Thanks everyone. Greatly appreciated.
developer of a project called GNU MediaGoblin conversation thanks to the last year's political situation. The present reality of network freedom internet has been moving in a different example, how many of you have wanted to leave over the AGPL. Pump.io, the kind of successor is baggage, but the protocols are not that something that needs to be worked on though. I'm just made deployment seem really frustrating and both, for both, so what we used to have was kind still have a ways to go and Media Goblin isn't talking about also on the configuration design have you done so far? For the design of server, so we can have free software alternatives getting to a point of total free network services any support for the newity of the members of this