MediaGoblin, which released version 0.3.0 this month, is a free and open source media hosting platform. Chris Webber, project founder and lead developer, took a few minutes to talk to us about the project so far and its future.
How did MediaGoblin come about?
At LibrePlanet 2010, I had just finished my work with the FSF on Patent Absurdity (I had done animations for the film), and I was trying to figure out what to do next. There was a lot of talk about "autonomo.us"-style, Franklin Street Statement compatible, free network services around that time, and I knew that as a Python web developer that that's where my skills lay, so that the next big project I ran would probably be in that area.
I had recently seen some mockups by Mairin Duffy for something called Design Hub. I got really excited by those, but thought I wanted to create something that was a bit less about work-in-progress things and more of an artist portfolio tool. I also knew I wanted something where I could upload a variety of different media, since I personally do a lot of different types of projects. So that's when I started thinking about building a decentralized, hopefully federated, python web application that supported multiple media types.
I chose the name MediaGoblin because I thought it was fun, a little bit clever (media "gobbling"), and also because I knew I could draw a decent mascot for it.
I wrote up a detailed outline for the project, added a few commits to it, and then let it sit in the dust for about a year. A year later I started to pick it up again, mentioned it on identi.ca, and got an unexpected stir of excitement. People started pressuring me for details, and Rob Myers and Matt Lee started pushing for me to make it a GNU project. Around that time I felt like there was a lot of community demand to not let this project die. The project picked up a lot of excited contributors, and we've been rolling along for the last year. In that sense, MediaGoblin has been in the plans for over a year, but is only a year old in terms of real, consistent work.
Why is freedom important when it comes to photo and video sharing? What does a user gain by using MediaGoblin over the long-standing (but closed) alternatives?
Freedom is hard to describe as a feature to users sometimes, though our current base of interest gets it. I think a good portion of the challenge will be speaking beyond that base. There's a number of ways that freedom of media on the web is important. One thing is the danger of homogenization. What would happen to the web if Flickr or YouTube disappeared today? What would that mean for images or video? Even if they never disappeared (which I'm sure many people thought about Geocities as well a little over a decade ago), you still have risks of censorship. Not to mention you really don't have much control over the featureset that those instances provide.
There isn't consensus on this in the free software community, but if you depend on free software web applications on a daily basis, the freedoms to run, copy, distribute, study, change and improve the software still do affect you as if it were a desktop application. Not exactly the same way, but if you don't have those freedoms, you're stuck with whatever's out there. People who are thinking about user freedom on the net should read the Franklin Street Statement.
The web and the internet were designed to be decentralized, and yet we're seeing people moving to more and more centralized platforms. I think people should be worried about that. I know I am.
What are MediaGoblin's best features?
MediaGoblin has a lot of cool features, but I think the coolest thing about it is still the support for multiple media types. The fact that you can host images, video, ASCII art, and in our new release, even audio, is pretty cool on its own. It's designed so that new types can be added in the future; I'm anticipating 3D artwork, presentations/documents, and more in the not-too-distant future.
We also have a professional and consistent theme thanks to the work of Jef van Schendel. We need to add theming support to make it easier to change it, but thanks to Jef, the deafult theme looks really great.
The main features that MediaGoblin really does well on are two simple but important things: freedom and community. The fact that we're a free software project aiming for a better web, and the fact that we have so many great people contributing right now (I think we're near, if not over, 40 contributors to the project at this point), I think means a lot for MediaGoblin's future.
And what are you hoping to implement in the future?
We've got a lot of exciting things on the horizon, but the biggest ones are federation, themability, plugin support and more social features.
Federation is undoubtedly the most important thing we're working towards. We really want to be able to preserve the nice social experiences users have on other media publishing sites like YouTube, Flickr, etc, where people can do things like subscribe to each others' channels, or create a pool/channel that's a curated collection of peoples' media. We'd like for this kind of experience to be cohesive across mutliple MediaGoblin sites. Think of how you and I could communicate across two email servers, and the experience is as nice as if we were on the same server, and you'll get a sense of what we're shooting for. We're building on OStatus, which is the same meta-standard that StatusNet sites use to federate with.
Themeability and plugin support are important because users want to be able to change the look of their installs. People also want to add all sorts of functionality such as LDAP support, the ability to set upload limits per users, direct integration with their coffee pot, etc. We can't do all of these in MediaGoblin's main codebase without making things super messy. Luckily Will Kahn-Greene is planning out a plugin system, and we'll be starting work on that soon, so I'm looking forward to that.
More social features will of course also be nice; we have some partly implemented support for favoriting and subscribing, we're interested in having a "user activity" timeline on users' homepages, galleries, and etc.
What are some of the best uses of MediaGoblin you've seen?
Right now there are only a few sites running MediaGoblin; we have a few public sites, and then a bunch of sites that people use to host pictures and videos of their families. I'm really happy with the deployments we have, but I suspect we're going to see many more interesting deployments of MediaGoblin crop up throughout this next year.
In a sense the best "use" of MediaGoblin is that a lot of our users are also contributors, and when people really wish they had some feature, their response is often to jump in and start working on it. I'm very happy that we have that kind of environment!
What's the best way for people who are interested in contributing to get involved?
What I'd tell people is: get on IRC (#mediagoblin on Freenode) and introduce yourself! While we have a variety of methods of communication on the project, most of the activity really happens in the chatroom. We've got a strong community there full of friendly people, and I'm sure we'd love to see you get involved.