
GNU MediaGoblin – A decentralized alternative to Flickr, YouTube, SoundCloud - diminish
http://mediagoblin.org/
======
diminish
I recommend the news and tour section, to learn more about project. Especially
the participation in Google Summer of Code and GNOME Outreach Program for
Women program, references to PRISM - and decentralizing the web, donation
campaign where they raised 45K are interesting. It uses python, postgresql,
and they were/are looking for women contributors and/or students.

PS: ..I am not part of the team.

Edit: See also the talk at Pycon US. [http://pyvideo.org/video/725/40-media-
goblin-the-road-to-fed...](http://pyvideo.org/video/725/40-media-goblin-the-
road-to-federation)

Edit2: Everyone may run their own instances and The 'federation' idea suggests
to me that independent instances will be able to enable social interactions.
[http://pyvideo.org/video/725/40-mediagoblin-the-road-to-
fede...](http://pyvideo.org/video/725/40-mediagoblin-the-road-to-fede..). See
also this checklist.
[http://mediagoblin.org/news/mediagoblin-1.0-checklist.html](http://mediagoblin.org/news/mediagoblin-1.0-checklist.html)

~~~
paroneayea
Thanks for linking to those. The tour page, sadly, is pretty out of date...
the screenshots they show don't reflect reality! Things look a lot nicer now I
think.

See also the video from the campaign page, which describes things better than
the actual site:
[http://mediagoblin.org/pages/campaign.html](http://mediagoblin.org/pages/campaign.html)

Unfortunately the site is in bad need of updating; there's so much going on in
the codebase right now that it's been hard to prioritize. Luckily we now have
an intern who is going to be taking on that work!

And yes, independent instances will be able to talk to each other soon. We
have an Outreach Program for Women participant actively working on federation
via the Pump API!
[https://github.com/e14n/pump.io/blob/master/API.md](https://github.com/e14n/pump.io/blob/master/API.md)

That's not all that's going on alone, but you can get some sense of what else
is happening by checking out: [http://mediagoblin.org/news/summer-of-
awesome.html](http://mediagoblin.org/news/summer-of-awesome.html)

------
apalmer
My biggest critique is I don't understand what it really offers, I mean as far
as distributed hosting of my files, isn't that just a web server? The
commenting posting CMS stuff seems like a competitor to wordpress... so i am
guessing its like a blogging engine focused on media instead of text?

~~~
paroneayea
Hi! Lead developer of MediaGoblin here.

I agree, the frontpage of mediagoblin.org can use some improvement. We're
working on that. If you want a fast summary of things, you can still watch the
video from the crowdfunding campaign we ran last year with the FSF (hell, you
can still donate too!).
[http://mediagoblin.org/pages/campaign.html](http://mediagoblin.org/pages/campaign.html)

We also have an intern helping us clean up the homepage. Things should be
getting clearer soon, I think. I agree that
[http://mediagoblin.org/](http://mediagoblin.org/) could use some improvement.

In the meanwhile, if you're wondering what it offers, right now it already
supports nice photo, video, audio, document (pdf.js!), and even 3d model
support. It's written in Python, so it's easy to get hacking on. We have a lot
more exciting things on the way too, most noticably federation; we currently
have someone working full time on adding federation via the Pump API:
[https://github.com/e14n/pump.io/blob/master/API.md](https://github.com/e14n/pump.io/blob/master/API.md)

This will make it so that even though there's a bunch of separate MediaGoblin
instances out there that you should be able to have a lot more of the same
social features of other media hosting sites as if they're in the same place.

I'm happy to answer questions if anyone has any!

~~~
alperakgun
When do you plan to reach 1.0 with your checklist items? What is a short
summary on how federation will work? Do you plan theme-ing support?

~~~
paroneayea
Heya! So, it's hard to know precisely re: 1.0, but I'm anticipating
approximately towards the end of the year. Federation is the big thing we're
still waiting on until we consider ourselves 1.0-worthy. Probably we could
have tagged ourselves 1.0 a while ago and considered federation 2.0, but
federation is at the root of a lot of our goals, so...

Anyway, once all our summer projects wrap up, I think we'll have reached
1.0-worthiness, however there's a _lot_ of code being developed right now, and
I can't promise how long it'll take for it to hit the "quality approval for
merge" state.

We've had theming for a while, since 0.3.1!
[http://mediagoblin.org/news/mediagoblin-0.3.1-a-whole-new-
lo...](http://mediagoblin.org/news/mediagoblin-0.3.1-a-whole-new-look.html)

Read the documentation for details on that, but you can already enable a light
"airy" theme if you prefer.

PS: If you're a python developer and interested in federation, you may be
interested in checking out our super-awesome-contributor Jessica Tallon's
"PyPump" library, which integrates with the Pump API:
[https://github.com/xray7224/PyPump](https://github.com/xray7224/PyPump)

I know she wants more users and feedback! Pump API integration is on the way,
but in the meanwhile, there's a project that's already using it if you want to
try out the API: [http://pump.io/](http://pump.io/)

Thanks for the excellent questions! Hope that rambly response was helpful :)

~~~
astrobe_
What is the status of the "federation" feature? I see there's two ideas of it
on the Wiki.

Will it support easy mirroring of media? Will the site be also metaservers
(servers that provide the addresses of other servers), or proxy servers (they
serve the content of other servers they know of)? What about the bandwidth
issues (often bandwidth is asymmetric between upstream/downstream)? Maybe some
form of load balancing by redirection to another server. But one would need
URI scheme across all the sites... Oh my.

Also: one-click-install for Windows/Mac when?

~~~
paroneayea
Federation, as said earlier on here, is in-progress; Jessica Tallon has been
laying down some foundations in a library we'll used called PyPump. She's
updated our OAuth code to match what the Pump API expects and is starting on
endpoints now. I don't have a clear ETA on when "federation will be ready" but
things are moving along well. The stuff on the wiki is totally outdated,
ignore it :)

Re: mirroring, I replied to that a bit here:
[https://news.ycombinator.com/item?id=6180159](https://news.ycombinator.com/item?id=6180159)

Additionally, you can already host media files with an OpenStack Swift cloud
files provider like Rackspace Cloud if you prefer.

I don't know anything about windows or macs personally, though people have
gotten mediagoblin working just fine on macs... windows is harder. :) I don't
have any clue when that packaging might happen though... if it happens, it'll
be by someone else I guess; I just don't know anything about it.

------
amirouche
This is great for any one like me that believe/think in GNU goals that such a
project exists and is viable alternative to private systems. Also it's good
opportunity for Python people to contribute to GNU. Moreover, MediaGoblin is
the only project in this vein I know of, there's not much free 2.0 services
available in Python.

------
jimktrains2
I mean, it's not decentralized. It's simply hostable.

Decentralized would be like GNUNet[1].

1: [https://gnunet.org/](https://gnunet.org/)

~~~
paroneayea
We're working on federation support, and I think that would be pretty fair to
call decentralized?

Decentralized can have various definitions; GNUNet is definitely one
definition, but you might consider that the web itself is supposed to be
decentralized and is designed to be able to be that way, but is moving away
from that as more and more of the web is being replaced by megasites like
YouTube, Flickr, Tumblr. So, MediaGoblin is one attempt to take back the web
in that respect.

~~~
opendomain
Look very interesting, but can you please make this more clear? I can host
media files in Wordpress or Drupal - why would I use MediaGoblin? With your
federation would allow my video files to be on other servers so if mine goes
down, they will host the content? How does that work? Round robin DNS or just
my file is copied to other servers. Can I track, update, change, or remove my
media from other servers? If this easy to admin like Wordpress or does a user
have to be a developer to understand the back-end processes of federating?

~~~
paroneayea
You can host media files on Wordpress or Drupal, but the goal here is to build
an application that's very focused and tailored user-interface wise to media.
Furthermore, Wordpress and Drupal alone might not very easily handle some of
the extra tooling that MediaGoblin does: if you upload a video, that video
needs to be transcoded; we have task queueing and infrastructure so that these
things can happen in the background without you just sitting there and your
browser timing out.

As for how federation will work, we may enable a plugin called "diskgobbler"
or something that might dowload files, but no, by default, MediaGoblin will
not mirror all files from the other sites it is federating with. :) Instead,
the goal is to keep the social side of things alive: you can create galleries
that have entries that span multiple sites, favoriting a piece of media can
happen across instances, you can subscribe to things a-la YouTube channels.
That's what we mean as in terms of what we aim for by federation.

Hope that answered a bit!

------
nemo
Nice idea, but I'd rename after something that isn't evil - subconscious
suggestions of maliciousness might inadvertently repel some users. I'd suggest
finding a design person who can lighten it up, pretty it up, and clean it up -
the design has possibilities, but it's way too dark. Finally, many of the
sample photos have really, really cold color temps (that cupcake photo's color
temp is way too cold - it looks like a corpse is holding it). I'd suggest
editing them to be have a warmer color temp., or finding other media that are
more compelling. The initial experience of a cold, dark, kind of confusing
goblin dungeon doesn't call up a great feel.

~~~
paroneayea
Heya! So, we sometimes get comments about the branding choice of "goblins"...
our goblins are actually not evil, though I agree that a lot of
$STANDARD_FANTASY they're used as evil characters. Our goblins are more "build
spaceships, be cute, and be awesome" goblins like
[http://mediagoblin.org/news/mediagoblin-0.3.2-goblinverse.ht...](http://mediagoblin.org/news/mediagoblin-0.3.2-goblinverse.html)

Curiously we've gotten a number of concerns about maybe the branding will push
people away by thinking that the goblins are evil or scary or will frighten
children, but we've never actually had anyone tell us that it actually invoked
that reaction in them, just that they're concerned about it. And a lot of
people seem to really like the goblins.

We do have a light theme called "airy"; there's some debate about whether that
theme should be default. The choice of a dark theme isn't to invoke something
dungeon'y, it's to put spotlight on the media, making the media the "light" of
the scene. But anyway, maybe at some point we will switch over to airy by
default... we'll see what the future brings.

Thanks for your comment!

~~~
nemo
I wasn't suggesting that there'd be anything conscious about the branding, but
that it'd be subconscious, so you wouldn't be likely to hear feedback. It's a
minor nit, really.

Glad to hear about theming. Flickr/500px/other sites chose to let users opt-in
to black backgrounds, I think that is a nice approach - some media is better
highlighted by a dark background, but not all. All the best to your project.

~~~
paroneayea
Thanks!

~~~
nemo
n/p

Also I beg of you to fix the color temp on that cupcake photo. People who are
interested in sharing media will notice.

------
someguy3
I never understood or its never clear if one could have a private MediaGoblin,
such that one has to login to view the content. The "private" ones with family
photos still are public to anyone, maybe I am missing something.

I actually attempted to get it going on my VPS just a few days ago but got
stuck on celery, missing some config (dont have the msg left) but might
attempt it in the future again.

I like the dark design at least, I never understood who came up with white and
bright pages to watch on a computer monitor, its not a book.

~~~
jwandborg
If you got the celery warning when running a `gmg [...]` it's my fault and
should not affect the result of the command. It is a result of python's import
statement importing a module which imports celery when the `gmg` command load
the mediagoblin.app module.

If it isn't clear already, the warning/error message re: celery when you run
`gmg *` is just a bug in current git master.

------
lars
This appears to be a photo gallery software, that also handles video and
sound. That's fine, but there's no way that's a "decentralized alternative to
Flickr, YouTube, SoundCloud". Am I missing something?

~~~
quadrangle
Federation is planned but not implemented yet.

~~~
jwandborg
Federation is under development by Jessica Tallon during this summer's GNOME
Outreach Program for Women.

------
threepipeproblm
This seems really cool. I wish I could say I was a fan of the name... hope
this is just a personal quirk and it does not limit adoption of the product...
but I cannot imagine mainstream users connecting with that name.

------
Gravityloss
Why not link to example sites using the software, instead of screenshots and
videos and what else? The real thing. Show us.

------
kfk
Any reason why you guys went rambo building on top of werkzeug instead of,
say, django or flask?

Serious questions. I love the project.

~~~
paroneayea
Heya! Well, our architecture is very Flask-like, but yes it does not use
Flask. There's kind of "historical reasons" for this; at the time that I
started MediaGoblin Flask was fairly new, and we started out using MongoDB (so
we couldn't make use of some of the nicer Django features anyway). I also
really strongly prefer Jinja2 templates over Django's because of the ability
to pass in arguments to functions, so eventually Django didn't make sense. But
the real root of it though is that it's not actually as much work as people
think to hook together a WSGI application that uses the libraries you already
know you want... not really that much harder than using Flask anyway!
[http://docs.webob.org/en/latest/do-it-
yourself.html](http://docs.webob.org/en/latest/do-it-yourself.html) is a good
read in that vein.

Will MediaGoblin stick with its own direction, or move over to using Django or
become a Flask app? It kind of depends... at the moment, things seem to be
running well, and aside for waiting for some of our libraries to catch up to
Python 3, we don't seem very hampered by it, and we're also very nimble...
changing core parts of MediaGoblin to fit our needs is presently very easy. It
also might be interesting to see what happens if eventually we end up adopting
some XUDD technologies:
[https://xudd.readthedocs.org/en/latest/](https://xudd.readthedocs.org/en/latest/)
but admittedly that's a ways out (though MediaGoblin already can run on XUDD,
as of yesterday ;)) if that will happen at all.

Sorry, kind of a rambly response! Hope it was interesting.

~~~
amirouche
+1 for «it's not actually as much work as people think to hook together a WSGI
application that uses the libraries you already know you want»

Also stop with the saying it's rambly please.

~~~
paroneayea
Apologies, I will work on reducing my apologies. ;)

------
TylerE
Reminds of the line from Spaceballs: "now you see that evil will always
triumph because good is dumb."

Seriously, what an amatuerish-looking mess. White text on black, no clear
navigation path, I can't imagine any random end user actually using one of
these sites.

~~~
qnrq
So it's an excellent opportunity for up and coming designers to contribute to
a promising open source project.

~~~
synctext
The architecture is also fundamentally flawed.

How many people want to be the SysAdmin for all 2.0 services for their entire
extended family? We need self-organizing systems, not federation.

~~~
paroneayea
It's a legitimate complaint that syadmin'ing all these services is a lot of
work, but I think that's actually an argument for working to make deployment
of services such as MediaGoblin easier. Right now deploying web applications
is hard... if we could get things at least to the point of deploying and
maintaining systems are "as easy" (note the quotes) as "apt-get install" and
"apt-get upgrade" then we'd be in a much better state. But there's a lot of
work happening right now towards abstracting deployment; I think if we can
turn some of that effort towards generalizing deployment recipies for everyone
(not just people running big clusters of servers) we could make big
improvement here. Projects like JuJu and OpenShift are probably the right
directions, but admittedly I haven't had enough time to spend playing with
them.

------
sard420
A good feature would be to mirror/replicate other trusted mediagoblin
instances, provides the ability for community backed channels to expand in a
distributed model. Federation should allow for some aggregation would also be
a useful feature.

------
caryhartline
So it's a public CMS and photo gallery software. I'm pretty sure we have
several thousand variations of that.

------
seivan
Woah, amazing stuff.

------
sublimit
"Decentralized", so it centralizes the functionality of many services. Okay
then.

You've bitten off more than you can chew by going against
Flickr/Youtube/Soundcloud. You don't really offer anything they don't, just a
promise of ethics like "it's free".

------
peterwwillis
You will never get normal people to use this thing. This is just a big
advertisement for open source developers to pick up a new coding hobby. It's
really sad, because you could build an alternative to those services if you
focused more on the product and less on IRC, git and LibreOffice.

~~~
dman
Travel back in time and see if you would have your response would be any
different to Linus announcing that he is starting a new operating system.

~~~
peterwwillis
I can't travel back in time. Left the TARDIS in a different century again.

Linus announcing his _kernel_ was in a time when there were no open Unix-like
operating systems to use. The GNU kernel was years away from release, but all
the tools were there to make an operating system out of the tools, if there
were just a free kernel too. (The only other kernels available were not
available to the general public for free) It took years for a somewhat usable
component to appear to look like a product once packaged correctly.

There exist open alternatives to galleries and video players, which is what
this effectively is. That's not to say that in years this couldn't be a usable
alternative to YouTube, but it's currently not being developed as a product.
Instead it's apparently a high school class project. If they want people to
use this, it needs some kind of vision other than yet-another-open-source-
clone-we-don't-need-itis.

~~~
belorn
The project is not about being a gallery and video player. We already got
those as you say.

Rather, the projects scope is to create a federated gallery and video player,
where each installed instance is connected with each other.

That has so far not been reached yet, which is why this software hasn't
reached their 1.0 goal yet.

~~~
peterwwillis
How does "federation" benefit anyone? Is it something you can explain to a
layman that they will say "wow, I want that!" Is it even a problem people are
even asking to be solved via products?

It's also curious if this was the whole point of the project, why wasn't that
done first?

~~~
belorn
> How does "federation" benefit anyone.

Improved Privacy. Only the author will have information regarding who visit,
how many times, and for how long is-

Future proofing. Youtube and flickr will only exist as long those services are
profitable. People who thinks they own their media, can only hope that it will
stay online for as long as possible.

Improved API/features. Media hosting companies will limit features to match
their business model. With federated services, there is no such limit.

Secure API. Media hosting companies will remove features if competitors are
using the API in a threatening style. with federated services, there is no
central company that can feel threatened.

> why wasn't that done first?

Just being federal, but with no meaningful usages, it would not be useful. I
don't know if there is a technical reason why it couldn't be done at the same
time.

