#+TITLE: The Road Ahead for Network Freedom
#+AUTHOR: Christopher Allan Webber
#+EMAIL: cwebber@dustycloud.org
#+DATE: 2014-02-01 Sat
#+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
oh my god we don't have much time
* 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?
** COMMENT 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 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
* 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!
** What about PHP?
#+ATTR_REVEAL: :frag roll-in
- "Sort of" easy, but only if you're using shared hosting
- The things that make it "easy" make it easily exploited
- Shared hosting is dying (good riddance)
- PHP is living in the past, dude
** 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???
** 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!/
** 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!/
* Next campaign
#+REVEAL_HTML:
* 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: