#+TITLE: State of the Goblin #+AUTHOR: Christopher Allan Webber #+EMAIL: cwebber@dustycloud.org #+DATE: 2014-04-23 Sun #+OPTIONS: reveal_center:t reveal_progress:t reveal_history:nil reveal_control:t #+OPTIONS: reveal_mathjax:t reveal_rolling_links:t reveal_keyboard:t reveal_overview:t num:nil #+OPTIONS: reveal_width:1200 reveal_height:800 #+OPTIONS: toc:nil #+REVEAL_MARGIN: 0.1 #+REVEAL_MIN_SCALE: 0.5 #+REVEAL_MAX_SCALE: 2.5 #+REVEAL_TRANS: cube #+REVEAL_THEME: moon #+REVEAL_HLEVEL: 2 #+REVEAL_HEAD_PREAMBLE: * About me /Hi, I'm Chris Webber!/ #+REVEAL_HTML: #+ATTR_REVEAL: :frag roll-in - Lead MediaGoblin developer! - Python developer! - Free software and free culture activist - I've been doing this for a while... - Worked at various FOSS orgs (CC, PCF) - Now doing MediaGoblin fulltime - You are not here to hear about me * Framing things #+REVEAL_HTML: The present reality of network freedom isn't pretty... #+ATTR_REVEAL: :frag roll-in - Corporate control of the web - NSA spying - Freedom for developers, but not for users - What to do? ** About MediaGoblin MediaGoblin is: #+ATTR_REVEAL: :frag roll-in - MediaGoblin is a FOSS web media publishing system. (Okay, we've got a better pitch) - Released under the AGPL - A sizeable community: more than 75 contributors, and growing - A vision-made-reality of what future we want to see ** MediaGoblin's campaign for network freedom & privacy #+REVEAL_HTML: Running a fundraising campaign with the FSF Let's open it: http://mediagoblin.org/pages/campaign.html *** The video! Going to show the video (best intro we have... and frames the rest of this talk) I'm going to kind of improv this audio-wise... * COMMENT MediaGoblin and last year's campaign #+REVEAL_HTML: Ran a fundraising campaign from the FSF toward end of 2012.\\ Success! Paid full time to work (well... for now...) # totem ~/gfx-proj/mediagoblin_pitch/renders/mediagoblin_campaign_pitch.webm We had a video... which probably is the best intro we have...\\ *** MediaGoblin campaign video! #+REVEAL_HTML: *** COMMENT So what about this last year's campaign? [[file:../static/money_raised.png]] I promise a more complete breakdown, need to check with the FSF... but as far as I can tell: - *7% / $3834* <- campaign expenses (includes costs of rewards, shipping...) - *10% / $5128* <- Fiscal sponsorship (ie, FSF, who handle a lot!) - *20% / $10250* <- Paying other developers (OPW participation - *63% / $32072* <- Paying me (for ~1.5 years? cheap!) But what did we get done...? * Messaging One of the most critical components of network / computing freedom success! But wait... why? # /Apologies in advance for the "quoting dead US presidents" trope./ # #+BEGIN_QUOTE # "Freedom is indivisible, and when one [person] is enslaved, all are not free." -- John F. Kennedy # #+END_QUOTE # #+BEGIN_QUOTE # "Only an educated and informed people will be a free people." -- Also John F. Kennedy # #+END_QUOTE ** Computing freedom as a human right #+REVEAL_HTML: #+ATTR_REVEAL: :frag roll-in - Software freedom is treated as a nerd issue, even by most of us - Maybe an anti-ego self defense (fair enough!) - But as computing gets closer to directly augmenting thought and action, computing freedoms no longer a "nerds rights" issue, but a human rights issue ** But mostly just nerds understand it :\ #+ATTR_REVEAL: :frag roll-in - Outside of hackers and academics, how many people understand what FOSS really means, as an ethical issue? - Network non-freedom has a network effect - Freedom for the technically-skilled few, or freedom for society? - Surely we're in the broader social movement camp! - Smugness is not the answer ** Can we make better resources to improve awareness? [[file:../../mediagoblin/static/censor_scan.png]] #+ATTR_REVEAL: :frag roll-in - "Teachable moments" abound - What if we created materials that explain core principles of free software? - MediaGoblin campaign video partly an attempt to prove this possible ** Neither tech nor messaging independently enough #+ATTR_REVEAL: :frag roll-in - Laws are not enough - Seems unlikely corporate surveillance/censorship will be made illegal - Much of it probably illegal, and happened anyway! - But policy reform /is/ critical, certainly - Messaging is not enough - If people know there's a problem but have no way to change their habits, things will not change - It's a metric for how bad things are that most internet activist campaigns point back to FB/T/G+ - Tech is not enough - If we build it and nobody knows it or how to use it, what's the point? - I iterated on this already enough *** Let's work together tech + policy + messaging = <3 There's never been a better time to bring us together... let's take advantage of it! * Licensing and community Lots of stress about the adoption of copyleft vs permissive licenses... [[file:../static/dont_panic_terminal_crop.png]] but maybe this is a symptom of something else? ** The mid-2000s->today shift #+REVEAL_HTML: #+ATTR_REVEAL: :frag roll-in - Rise of the "web 2.0 world" - The release of the "mactel" leads to large apple switchover - Rise in anti-copyleft sentiments - "Release everything but your secret sauce" - Anti-copyleft attitude is /not/ mostly coming out of a principled anti-copyright policy, but a "we want to proprietize" strategy (tricky!) #+ATTR_REVEAL: :frag roll-in Most devs make the license choices their role models do... So, who are the role models of today's webdev hackers? ** Are we in a copyleft crisis? Or an ethical crisis? [[file:../../mediagoblin/static/agplv3-whitebg.png]] Libraries are always more condusive towards permissive licenses That's okay! We're doing *just fine* infrastructure-wise We're really struggling not on the developer-freedom-tooling side, but the user-freedom-tooling side... ** People still seem to choose copyleft for web *applications* To name a few... #+ATTR_REVEAL: :frag roll-in - Wordpress (GPL) - MediaWiki (GPL) - CiviCRM (AGPL) - StatusNet / GNU Social (AGPL) # <- pump.io licensing switch was partly for "become infrastructure" reasons - Pagekite (AGPL) - Mailpile (AGPL) - Diaspora (AGPL) - MediaGoblin (AGPL) ;) - Gitorious (AGPL) ** In other words We're struggling with getting polished user-facing software (and in the hands of users) But when it happens, copyleft seems a common choice ** Freedom-aware communities are the antidote #+ATTR_REVEAL: :frag roll-in - Build the developer-focused tooling of tomorrow, but with pro-freedom communities - Lots of opportunities... but that's another talk... - Permissive licensing is probably fine here! - Build the user-oriented networked appliations of tomorrow (like MediaGoblin? ;)) - People will probably choose copyleft licenses for these! - Free talking point: "I copyleft what you proprietize" - There aren't enough polished examples though * Deployment / adoption User freedom oriented software requires our software is used by users :) This means quality software, but also deployable software We're struggling here... ** Deployment is hard #+ATTR_REVEAL: :frag roll-in - Often not packaged, but even if so - Trend towards language-specific packaging and environments (see Virtualenv) - Editing application config files, getting about 5 separate application configs in sync ** Deployment of free network services: challenging :\ #+ATTR_REVEAL: :frag roll-in - Most modern web applications - Challenging to deploy if not a $LANGUAGE developer - But we have to engage it - Users don't tend to see these issues because companies abstract deployment away. Network freedom doesn't have that luxury! ** The PHP exception? #+ATTR_REVEAL: :frag roll-in - "Sort of" easy, but only if you're using shared hosting - Lots of good communities using PHP! But not everyone wants to code in it (including me), many new projects not written in PHP - MediaGoblin's hosting challenges *aren't solved* by PHP + shared hosting... modern web applications require things like daemonization, web sockets, etc... - Shared hosting isn't very good for user freedom anyway - PHP + shared hosting isn't sufficient. (But we should give it credit for being the closest to "easy" we've had.) ** Not just web services! Email is easy, right? #+ATTR_REVEAL: :frag roll-in - Email is federated, has been around a long time - "How hard could it be? Surely a solved problem, I just install a package?" - "Tell me about your setup, Chris" ** We need user-centric config/deployment management [[file:../static/deployment_logos.png]] #+ATTR_REVEAL: :frag roll-in - We need some layers above the packaging world - Cool things happening in the world of deployment, but they're mostly sysadmin/corporate oriented! (Salt, Puppet, Docker) - We need to make config/deployment management for people who will never touch a config file - PaaS? OpenShift??? ** "A layer above apt"? System packaging for free network services will help! But not totally. We need another layer. What I'd like to see: #+ATTR_REVEAL: :frag roll-in - A configuration recipe system designed for users, not sysadmins - "A layer above apt" - Super minimalist, hopefully a web interface, but maybe something not far from SaltStack? - Generic: not just for VMs, not just for plug computers - GNUToo: "Maybe look at Luci" (I haven't yet) ** The silver lining file:../static/install_fest.jpg #+ATTR_REVEAL: :frag roll-in - The free software desktop used to be hard to run and maintain also - We need to encourage exploring this frontier until it gets easier - When things are hard, that's an opportunity to learn cool things - Bring back the install fest! * Federation [[file:../static/purple_federation.png]] Not just for Star Trek! ** The current state of federation [[file:../static/ostatus_to_pump.png]] # https://identi.ca/uploads/evan/2013/7/26/pioe_g.jpg # http://ostatic.com/files/Evan%20Prodromou.jpg # http://status.net/wiki/File:Evan_stationc_192.jpg #+ATTR_REVEAL: :frag roll-in /(Note: StatusNet != OStatus; Pump.IO != Pump API)/ #+ATTR_REVEAL: :frag roll-in Why the switch? #+ATTR_REVEAL: :frag roll-in - Cleaner - Easy to understand - Privacy - Switch from StatusNet (PHP!) to Node an opportunity to reapproach things ** Federation, MediaGoblin, and PyPump [[file:../static/pypump_frame.png]] * Cohesiveness [[file:../static/jpope_lotsa_applications_bigger.png]] So, federation is cohesion between sites, but what about within a site itself? #+ATTR_REVEAL: :frag roll-in - Multiple applications hard to theme - Different templating languages - Different layout decisions and patterns - Differeing and incompatible authentication systems - Other inter-application inconsistencies ** Do we need a "desktop suite" of web applications? [[file:../static/GnomeLogoVertical.svg]] ??? * Accomplishments of the last year #+REVEAL_HTML: #+ATTR_REVEAL: :frag roll-in - Five *major* releases - Six successful Outreach Program for Women and Summer of Code internships - One grant-funded project for MediaGoblin in academic institutions #+ATTR_REVEAL: :frag roll-in /What a deal!/ * So where is MediaGoblin now? We're pretty close... #+ATTR_REVEAL: :frag roll-in - image/video/audio hosting already hosts pretty well - Already very extensible, great plugin/theming system - Things mostly work... we're almost at 1.0! Except... - We need federation features - We want privacy features - Various other bits of polish - We're so close...! ** But is that it? [[file:../static/think_of_the_kittens.png]] Are we calling it quits and leaving the kittens out in the cold? #+ATTR_REVEAL: :frag roll-in /No!/ * So, back to this campaign #+REVEAL_HTML: Super easy to find! Let's go there right now: http://mediagoblin.org/pages/campaign.html Or from the homepage even! ** A critical opportunity #+REVEAL_HTML: - There's never been more awareness of why this stuff is needed - We're definitely at a crossroads - We have the people, the community... we can do this! - But we need *YOU*! * Credits (p1) Mann Glass and Google Glass picture: CC BY-SA 3.0, #+REVEAL_HTML: http://en.wikipedia.org/wiki/File:MannGlas_and_GoogleGlass1_crop.jpg #+REVEAL_HTML: