State of the Goblin
Christopher Allan Webber
2014-04-23 Sun
About me
Hi, I'm Chris Webber!
- 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
The present reality of network freedom isn't pretty…
- Corporate control of the web
- NSA spying
- Freedom for developers, but not for users
- What to do?
About MediaGoblin
MediaGoblin is:
- 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
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…
Messaging
One of the most critical components of network / computing freedom success!
But wait… why?
Computing freedom as a human right
- 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 :\
- 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?
- "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
- 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…
but maybe this is a symptom of something else?
The mid-2000s->today shift
- 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!)
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?
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…
- 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
- 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
- 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 :\
- 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?
- "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?
- 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
- 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"?
What I'd like to see:
- 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
- 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
Not just for Star Trek!
The current state of federation
(Note: StatusNet != OStatus; Pump.IO != Pump API)
Why the switch?
- Cleaner
- Easy to understand
- Privacy
- Switch from StatusNet (PHP!) to Node an opportunity to reapproach things
Federation, MediaGoblin, and PyPump
Cohesiveness
So, federation is cohesion between sites, but what about within a site
itself?
- 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?
???
Accomplishments of the last year
- Five major releases
- Six successful Outreach Program for Women and Summer of Code internships
- One grant-funded project for MediaGoblin in academic institutions
What a deal!
So where is MediaGoblin now?
We're pretty close…
- 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?
Are we calling it quits and leaving the kittens out in the cold?
No!
A critical opportunity
- 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!
Please help :)
- Join our community! Use & contribute: http://mediagoblin.org/
- Please donate in the campaign (everything helps, seriously)
- Please spread the word
Thank you! Any questions?