Hacker News new | past | comments | ask | show | jobs | submit login
MediaGoblin – Self Hosted, Decentralized​ Alt to YouTube, Flickr, SoundCloud (mediagoblin.org)
610 points by superhumanuser on May 25, 2017 | hide | past | favorite | 160 comments



Curious to see this here, given that I've been trying to set up some of these "decentralized services" at my home servers and figuring out if it is really possible to replace the common mainstream services.

So far, I installed my own Matrix server (synapse), my own XMPP (ejabberd), yesterday I got semi-happy with my mastodon setup, and now I was just finishing some tests with ownCloud to see if I could replace Dropbox.

MediaGoblin is on my list of services to setup. I ran a basic deployment and checked some other instances of it before, but I didn't put it higher on my priority list because to me it looks like it focus too much on being a "community-driven website" instead of providing a solid service as a media-hosting/publishing/catalog system.

To me it looks like they are shooting for the wrong level of "decentralization granularity". Each instance of these services are aiming for a "community", and think that the people use the mainstream tools because they don't want to/won't manage the server.

The point they seem to miss is that this only creates another type of top-down organization. It would be MUCH easier for them to focus on a "single-user" system, and start from the point that the communication will work when the applications talk with each other.

To me this is why Diaspora failed, and Wordpress is still such a big part of the internet.

Another thing I noticed: the projects that really focused on separating client from server produced much better results in terms of UI/UX. With Matrix, I just had to setup the server, and then I could have the riot app just point to my instance. If by any chance a better client comes around, my instance would be untouched.


> I didn't put it higher on my priority list because to me it looks like it focus too much on being a "community-driven website" instead of providing a solid service as a media-hosting/publishing/catalog system. To me it looks like they are shooting for the wrong level of "decentralization granularity". Each instance of these services are aiming for a "community", and think that the people use the mainstream tools because they don't want to/won't manage the server. The point they seem to miss is that this only creates another type of top-down organization. It would be MUCH easier for them to focus on a "single-user" system, and start from the point that the communication will work when the applications talk with each other.

This 1000 times. It just kills me to think about how much potential progress has been lost to these major projects spending so much time and energy on social federation protocols instead of working on the actual primary function of the software.

Mediagoblin could have already been THE software go-to for personal media organizing and display, but it seems to be getting stuck like every other potentially great project that runs out of steam when the main developers lose their focus. And now Yahoo has sold assets to Verizon, and millions of Flickr users are wondering what will happen next.


I feel like I want to strongly agree on this sentiment but what is the concrete point here? What should be the focus of projects like these??


Just focus on being a maximally useful media hosting server, with a really simple accounts system for admins and so forth.

Make it easy for me to stand up a server, upload a video of my kid, then share the link to that video on the internet.

Leave all the community/social/commenting stuff to community/social/commenting software.

I'd rather have both an open-source media server and an open-source equivalent to twitter, than have both of them rolled poorly into one.


Not OP. But the argument seems to be: Start by being maximally useful to one person. When you have enough people using your software that they want to use it together, that's the time to start investing a lot of effort in helping them do so.


The Wordpress model - only better?

Put together a distro with a complete solution - mail server, web server, media and social servers.

Make it one-click easy to set up. Keep security tight. Maybe do some deals with cheap hosting providers.

Then federate and connect.


Isn't that what Sandstorm[1] was trying to do? It was a very cool project, but got hung up on enterprise sales and ran out of steam.

[1] https://sandstorm.io/


And still is a very cool project, just moving a bit slower now.

I just moved my calendar from a large email provider to a self-hosted Radicale server on Sandstorm (syncing with Thunderbird, and DAVDroid on my phone). Small steps, but it was surprisingly easy.


MediaGoblin is available through Sandstorm: https://apps.sandstorm.io/app/70awyqss6jq2gkz7dwzsnvumzr0725...


Oddly enough, this is what I was trying to do with my Defiant project (http://BeDefiant.io). I wanted it to be a one-step installation framework to combat proprietary systems (better description on the website).

The bad news is that I am the only person working on it, and while I am an experienced developer, I am also a grad student.

In other words it is not ready for production at all. I have presented it to quite a few people for the purpose of finding help in the development, and everyone thinks it's a good idea, but everyone also wants to see a finished version of it before seriously considering helping out. Unfortunately, I can only work on Defiant in my free time, so developing the basic functionality is steady, but slow, progress.


I love the motivation, but this is way too generic - I don't see anything that distinguishes it, for this use case or honestly for any other, from any other JS application framework I might choose, and there are a lot of other ones out there that are much more thoroughly baked than this one. (Another way to say this might be "it's a good idea, but I want to see a finished version of it before seriously considering helping out.")

Sorry to be that guy, and I know it's not a nice thing to hear. But I'd hate to see you burn a ton of time on something that's born under the cloud of "there are a million other ones just like it and no reason anyone can see why this one is worth investing effort into". I'd rather see you take all that effort and skill, find a project that's already got some momentum behind it, and get behind that and push - everybody saying "I'll build my own!" is half the reason we've got where we are in the first place.

On the other hand, maybe your framework has a genuine USP that I'm just not seeing. In that case, you'll have an easier time getting interest if you find a way to surface that, front and center, so that even the most disinterested professional engineer who's skimming HN by way of procrastination before the next code review can't help but see it.

Either way, hope this helps, and good luck in your future endeavors!


> Put together a distro

I think this is kind of a good point. It's too hard to set up these 'solves-one-thing-well'-suits to work together in the right way. Having collections of services that are super simple to set up and works well together is probably a good way to do it.

Like one media platform, one search engine, one social platform. Or perhaps having a couple of alternatives but having integrations in between up and running in a plug and play way.

Then again, if you want all this to work in a decentralised fashion you probably have to think about how to achieve that early on.


> I feel like I want to strongly agree on this sentiment but what is the concrete point here? What should be the focus of projects like these??

You could say that Mediagoblin has 2 stated goals:

Stated Goal 1) Organize and share user media, which is what people actually want it for.

Stated Goal 2) Federated social something mumble, which no real world users actually want but which free software projects seem to get big e-rections over anyway.

I think that Mediagoblin should have 1 stated goal, the first one.

All news for the past several years has been about goal 2, and I just don't think that anyone in the real world actually wants or cares about that. Most people don't even know what the hell federation is supposed to mean. People just want to be able to stop relying on Flickr to organize their damn photos. Chasing this federated social something mumble dragon has seriously gotten in the way of making the thing that people would actually use, and it's frustrating to watch because there was so much potential.

Their official linked-from-the-landing-page "Easy Deployment" page (god, I'm already terrified by the word "deployment") has bold "WARNING: OUT OF DATE" messages all over it.

Their official site for (Not-Easy) "Deployment", right at the very top, says "GNU MediaGoblin is fairly new, and so at the time of writing there aren’t easy package-manager-friendly methods to install it."

The project is now 6 years old. 6 years isn't new anymore. There isn't an installer?


Federation is important because the average web user today is less likely to regularly visit individual sites than in the past. People tend to only visit new content if it shows up in their social network's feed. So, if you create content with a tool, but that tool doesn't post the content across social news feeds where people will actually find it, what's the point?


> Federation is important because ...<something entirely unrelated to what mediagoblin does>

What problem is mediagoblin actually trying to solve? Is it organizing your media or is it being a new social network? Because one of those makes sense and one of them does not.

> So, if you create content with a...

Mediagoblin isn't for creating anything, and it certainly isn't a network client. It is (ugh, should be) a tool for organizing your media.

Know what's a really great technology for sharing media? Hyperlinks. We built a visual web that is literally world-wide using them. Know what people don't have any trouble sharing media to using hyperlinks already? All of their social networks. Know what hyperlinks don't need? Years of effort spent chasing a white whale.

Mediagoblin still has a chance to be OpenFlickr if they would just stop faffing about with things that don't have any connection to it and start focusing on core competencies and important things like installability.


I think there can be a useful interpretation for the federation idea though. There is sort of a problem with there being an over abundance of communication channels that makes the social media landscape very unweildy. Not sure if this actually address this kind of problem though.


Can be, but I just cannot see how a media organization platform has any sane role in that.


Instagram is both a "media organization platform" and social network. 700 million people each month consider that a reasonable combination of features in a single app. The efforts behind Mediagoblin think similarly.

One use case I imagine is to add media files to my local Mediagoblin instance, and then have them show up on my friends's federated social media feeds on various platforms (GNU Social, Mastodon, Pump.io, etc.).


> Instagram is both a "media organization platform"

In what universe is that? Certainly not the Instagram I've ever seen. Mediagoblin's core compentency is 10000x more like Flickr than like Instagram. Now maybe that's not what they want to make, but damnit it's what they present themselves as trying to make and failing to make major progress on.

> One use case I imagine is to add media files to my local Mediagoblin instance, and then have them show up on my friends's federated social media feeds on various platforms (GNU Social, Mastodon, Pump.io, etc.).

Look, that would be a great secondary feature to add onto an already functional and installable tool. But you make the darn tool first and try not to invent imaginary problems! Because GNU Social and Mastodon are social networks, and Mediagoblin is a tool. Do you know what you can already use to post images to social networks with tools? An authentication API and hyperlinks. Not a database redesign.


I think there are plenty of DAMs out there that address your use case, even in GNU land. But the social aspect to media cataloging, organizing, and curating is an aspect to working with digital media that does not have a GNU solution besides MediaGoblin.

It is very important to content creators that such functionality does exist. In today's world of digital media, this precise feature, which enables easy collaboration, addresses one of the industry's biggest pain points. Even the monolithic media companies struggle to implement useful solutions to this problem.


> I think there are plenty of DAMs out there that address your use case, even in GNU land.

(I had to look up what you mean by DAM. I assume digital asset manager?) Are there? What easy-to-install, modern, libre, web-based personal Flickr replacements are there? Do the work generically with many different types of media?

I don't know of any. That doesn't mean they don't exist, but I've known about mediagoblin for quite a few years now.

And the product that mediagoblin shows on their website is exactly the product I'm talking about. It's exactly the product that everyone using Flickr but who wants to be able to also include sound files or who would like to be able to migrate away from Flickr to something more free wants to use. Except installing mediagoblin is a big ol' pile of shell commands and text config files, and that's if you somehow navigate your way to something current.


Would you consider writing a blog post on all the tech stacks you tried and how it panned out? I'm kind of in the same place as you and there is just an overwhelming number of underwhelming options.


> an overwhelming number of underwhelming options

I love this phrase, it really seems to catch the problem with all these decentralised projects.

Sure I could try to set up whatever matrix/status/appnet/tent decentralised service of the month happens to be on the front page of HN but also I could just not do that and use Twitter.

The other thing is they all want to take over the entire domain you use them on. Either you have to use a subdomain (which means you can't use your cool name@example.com address) or you forfeit your domain to whatever advert the software brings with it.

Honestly I've just given up with them. I use Twitter, I use Facebook, I use Dropbox and I do things other than trying to run my own versions of those in my free time


> The other thing is they all want to take over the entire domain you use them on

That's not true. Many such projects use /.well-known/ to provide the ability to redirect from the root example.com identity to where you should actually go to send things.


Could you source that? I'm not saying it's incorrect I've just not come across it in these things yet. That'd be the key to getting me on the decentralised bandwagon


Matrix doesn't take over the whole domain; right now you use an SRV record to point to the right place and we're planning to switch to .well-known URLs. source: i work on Matrix.


As an aside, what is the current status of identities in the matrix fediverse? Last time I checked it seemed like the centralisation of identities was "punted" on and you have an OStatus/WebFinger-like system where identities are tied to a particular server.


Ah apologies mate I was thinking of Mastodon when I wrote the original comment


NextCloud / ownCloud have federation but the WebDav links are described in /.well-known/. I haven't installed Mastodon so I can't speak to it, but since WebFinger uses /.well-known/ I would be surprised if Mastodon did anything else[1].

[1]: https://tools.ietf.org/html/rfc7033#page-8


I just had a brief look at Mastodon, and it appears to have the same humongous flaw that Diaspora has. No events management.

What the hell? That is the main feature required in a social network, after the ability to see each others comments. People want to organise their lives using the graph that their social network provides.

Is anyone aware of a distributed or federated open source social network which provides event management functionality? I would love to hear about it if you have... Gallery functionality would come in handy too.


I have events on my website https://jeena.net/events/ plain HTML marked up with h-event http://microformats.org/wiki/h-event and I can receive RSVPs with help of https://www.w3.org/TR/webmention/

It was fairly easy to implement, the only problem is that not many of the people I know have software which lets them RSVP too, therefor I also connected it to Facebook.


Points for you for using established protocol/microformats. Very good!


Nice! what are you using for the Photos page on your site?


Basically the same, h-entry and u-photo with microformats and p-author to show that I made the photo.


If i understand what you mean by "event management", then yes there is: GNU social provides for such a feature out-of-the-box. The less-than-ideal news however is that - to my knowledge - it is rarely used by anyone. (I certainly don't use it.) But, if you have the time+inclination, try and set up your own GNU social instance and see if it works for you. Alternatively, look at some of the GNU social instances out there (see http://www.fediverse.org for list of some nodes), and try registering for an account and play around with the events feature.


Are all your friends and family on GNU Social? If not, I can understand why it isn't a good place to organise events.

Most peoples friends and family are on Facebook, so the events management feature is useful there.

I can't convince my friends and family to use a social network if they lose the ability to organise and be made aware of events as part of the move.


No doubt, you bring up a good point No, of course all my friends and family are not on GNU social...yet. My family does use my GNU social instance for communications (though we just plan things without using the events feature), but my wife in particular also additionally plans events via text. But I'm also making new friends by now using GNU social (and yes, some of my existing friends have also joined existing GNU social instances and mastodon). Maybe more will join (or maybe they won't), or maybe they will join a mastodon instance (which is compatible with GNU social instances)...or maybe not. So, you're right, GNU social (or even the compatible mastodon, or hubzilla, or friendica, or pump.io, etc.) could not be considered a panacea for your use-case. However, I would posit that this is a bit of a chicken-egg problem (as in I can't join something because my friends aren't on it, and my friends won't join until i do, etc.)...Recall years back when "the facebook" was the new kid on the block...and folks were asking something along the lines of "why would i want to join this thing called facebook if my friends/family are all on friendster/whatever-social-network-was-popular-back-then/etc.?" Obviously the choice is half yours, because you can do whatever YOU want, though you're also influenced by where your friends/family "live" online; i get that. But, here's a bit of a weird recommendation: why not set up your own GNU social or mastodon instance...and then use it for you and your friends specifically...?


> Recall years back when "the facebook" was the new kid on the block...and folks were asking something along the lines of "why would i want to join this thing called facebook if my friends/family are all on friendster/whatever-social-network-was-popular-back-then/etc.?"

And how did Facebook actually solve the chicken-egg problem you just referenced?

I'd love to get some citations for any of the federated social networking platforms-- Diaspora, Gnu Social, Mediagoblin, Mastodon, etc.-- that link to a carefully considered and workable plan for mass adoption that any of them carried out at any point in their history. For reference you can look at the Wikipedia entry for Facebook (hint: it involves universities and enormous amounts of money).

edit: remove redundant word


I haven't heard of `events management' as a core feature of social media and Mastodon gets alone just fine without it. I'm assuming that you're referring to facebook-style timelines for life events, etc.?


I'm talking about being able to create an event and invite people to it, and let them specify whether they are coming or not. This is the main feature my friends use in Facebook, other than posting comments.


And Facebook is a platform oriented towards interacting with `meatspace' friends, while Mastodon is for microblogging. I feel that `event creation' would be a significant and unfortunate scope creep considering other platforms are better-equipped to handle it.


Does Twitter have this? Honest question. If not, why are you complaining that Mastodon does not?


Twitter does not have this feature, the only platform I know of that has this is Facebook.


CalDav sort of has this stuff, and NextCloud has federation that makes this pretty nice to work with. Personally I hate the fact that 'social networks' don't actually export useful calendar information.



I dabbled with ownCloud, Seafile, etc and came away disappointed. At the time I was trying to run them on a raspberry pi and ownCloud at least was too heavy. Eventually I found Syncthing and that's been the ticket for me. It's great for synchronization but not so much for general sharing.


If all you want is file syncing then Syncthing is really fantastic. I have a NextCloud installation on a Raspberry Pi 3, and getting it to work well took some suffering. If you use a MySQL database and php 7 it can actually perform pretty well though, at least for a small number of clients. A big issue with the Pi is that it shares the Ethernet and USB on the same bus, so there's a hard limit to your file access speeds. But for syncing between my own machines plus the occasional file share I am extremely happy with the setup.


We evaluated syncthing. There is a glaring problem which the developer has chose to deliberately ignore. Couldn't move forward due to it - - https://github.com/syncthing/syncthing/issues/107#issuecomme...

- https://github.com/syncthing/syncthing/pull/3527

tl;dr- Syncthing doesn't do a rolling hash implementation. Therefore, lets say you have a 1GB file. And you add a 1 line header at the top of the file, syncthing will download the entire file.


You saw that 3527 was merged in December? Is there still an issue?



What I do is MySQL+Nextcloud/Apache on a RPi and another Nextcloud instance on Apache on my desktop computer. Both the Apache instances are load balanced using keepalived. This gives me two things- 1. Good performance if my desktop Ubuntu is running. 2. When its not (happens when I reboot to Windows to play games), the RPi serves Nextcloud at a slower speed.


I second syncthing. It's been gloriously reliable on Linux, macOS, and Windows, even while pumping terabytes through it.


Syncthing is fantastic. It completely replaces Dropbox for folder duplication and syncing. Extremely reliable.


What exactly was the problem with Seafile? I was looking for a Dropbox alternative. Tried Owncloud and was fairly disappointed. But Seafile is working great for me (using it for ~1.5 years now).


Nextcloud VM https://github.com/nextcloud/vm sets it up automatically. Very easy to use.


Did you try nextcloud?


>"Curious to see this here, given that I've been trying to set up some of these "decentralized services" at my home servers and figuring out if it is really possible to replace the common mainstream services."

Just in case its not yet on your radar, you may be interested in Sandstorm:

https://sandstorm.io/

It bills itself as a 'self-hostable web productivity suite', but it's much broader than that, it's really a platform for self-hostable decentralised apps. Sandstorm manages security and app interoperability, so that developers and users can focus on the core functionality of the apps.


I mentioned this elsewhere but sandstorm packages are simply not updated at all - https://wiki.mediagoblin.org/EasyDeployment#Sandstorm for example. But this is true for vast majority of the packages.


Also, sadly, Sandstorm is not built for federated/decentralized apps that want to connect to arbitrary other servers.


That's not completely true. Sandstorm was built for federation, but also security (e.g. against malicious apps), and it took a while to get the right model in place to provide both. It's now possible for apps to request access to each other and to outside servers, but Mediagoblin hasn't been updated to use that feature.


Interesting the various stacks that people are coming up with for their home servers. I use ZNC, Bitlbee, NextCloud, Offlineimap + remote notmuch, mopidy.

I'm actually very happy with this - contacts, calendars, news, files - never have to go on the cloud for these things.

The uptime I've been able to manage for the last 2 years is about 95%. Most of the downtime was due to a kernel panic, a shady bios on the intel nuc, and no means of remotely restarting the thing.... had to get a "smart switch" and now my uptime could potentially hit 99%.

DR is next... got to drop my RAID disk + server combo with some friends and family. Probably slap on gluster, or just use lsyncd to synchronize changes.

We should make a freenode channel for this!


/r/selfhosted says hi :)


What are you thoughts on own cloud vs sync thing?


I use both Nextcloud and Syncthing, they solve different problems.

Nextcloud is great for easy access to currently important files and automatic uploads of phone pictures, synchronising contacts and calendars. The news app is also an excellent RSS reader.

Syncthing synchronises the bulk of my data between systems I own, it is much faster at this and isn't exposed to the risks you get with public web servers, but I cannot access those files from systems I don't own so anything I am currently using goes in Nextcloud.


It seems like neither supports encryption of the data at rest which is a showstopper for me.


NextCloud / ownCloud definitely support server-side encryption. There's a checkbox in the administration settings.


Hmm I could not find anything about that on the website. I guess I will have to reevaluate then. Thanks


I think to be able to say you're a "decentralized alternative to YouTube, Flickr, SoundCloud", you really need some way to search across all the servers in the network or at least interact with them and as far as I can tell, that doesn't exist. In the tour there's not even any mention of decentralization that I can see.

Is there something I'm missing?

Also in terms of self hosting, something I'd really like is the ability to point it at a pile of files and have it ingest them in place. Any idea whether that's possible?


Wrt search, I guess it's seen as an orthogonal problem and meant to be dealt with by indexing / search services..


In that case though, why claim to be "decentralized"? That to me means one large, interconnected network, which one can access through any of its members. Mastodon is decentralized; you can make an account on any server and search and follow users on any other server without leaving. Bittorrent is decentralized, you can grab info from the DHT then connect to peers and download stuff.

If it depends on an index/searching service, how is the network itself any more decentralized than say an FTP server? I wouldn't call FTP decentralized.


I'm still waiting for an open source self-hosted alternative to Google Drive. Even just the basic functionality of a file browser, image thumbnails, photo gallery, and video player would be fantastic. Many such projects exist, and maybe I'm just lazy, but I really don't want to have to set up a PHP server in order to run such a thing. I would love something like Syncthing where you download a compiled Go binary, start up the service, and configure it through your browser.

I started implementing something like this myself but didn't make it very far. The fear of eventually running out of space or having privacy/security issues on Drive hasn't produced enough pain for me to really do anything yet.


NextCloud has your back on this. Alternatively, google for the awesome-selfhosted list.



I highly recommend Seafile for this purpose. It was far more performant and reliable than ownCloud when I tried it, and more self-contained.


100% agree. Running Seafile for ~1.5 years with >100GB synced and ~5 users. Couldn't be happier. The sync-part just works.

Big advantages over own/nextcloud:

* Easy updates that work. When I tried owncloud, nearly every update I had to fiddle around with the database to make it work. Didn't have a single problem when updating Seafile so far.

* Block-level sync. Meaning if you change one line in a 10MB file, it will only update that part. Last time I checked, owncloud did not support this.

* Sync just works. When I tried owncloud, folders disappeared, folders were duplicated. Never had this problem with Seafile.


I installed Seafile and ran it for a while, but what I didn't like is that in order to get to the file on the server, I had to use fuse and, well, I just didn't want to have to do that. Picky, I get it, but we all have preferences.

I've run ownCloud for some time now and I don't see the reliability issues that some people claim. I am running it on TS140 and not something small like a RPi, so maybe that makes the difference.


I've run ownCloud for about half a year to sync my dev files to a hosted server. For a while, everything was great. What happened for me at least was if I was saving a project while ownCloud was syncing, there was a chance of it messing up and then requiring a full resync of my dev folder (a not insignificant amount of data).

The first time it happened I shrugged it off as a fluke. The second time I became gunshy and would disable it any time I was working, then enable it after. Not a big inconvenience but a hassle and something I had to remember. After a while I stopped using it. YMMV, of course.


I recall Digital Ocean lets you whip up a 1-click VM instance with OwnCloud all setup and ready to go.

As an alternative, you can just:

# curl -O http://vestacp.com/vst-install.sh # bash vst-install.sh

which would setup the entire LEMP stack for you (along with a full-featured, minimalist hosting admin panel) and then you can install any of the available file sharing tools.


Except it doesn't work...

  # bash vst-install.sh
  vst-install.sh: line 1: syntax error near unexpected token `newline'
  vst-install.sh: line 1: `<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'


Try this:

# curl -O http://vestacp.com/pub/vst-install.sh

# bash vst-install.sh


That's because link is dead.


The URL for vst-install.sh should be: https://vestacp.com/pub/vst-install.sh


My bad - I was typing from memory (that I thought was accurate ;-)). Thanks for catching/correcting.


Been looking at cloning the project to make the installer less dependent on vestacp.com's assets, so I only happened to know :)


Why do you want that in a browser? what's wrong with the native graphical shells?


You have to install them, and they have to exist for every platform where you want to use them.

For cloud services, the only unambiguous win for native over web client is access to platform APIs that the browser may not use.


Someone has to install them, not always you.

Someone has to install these web shells too, often not you.


If your gripe is with the setup, take a look into cloudron.io


OwnCloud?


original project forked to become NextCloud (but haven't looked myself at the status of each, just assuming NextCloud is the way to go now)


From what I can see (used to use ownCloud, switched to Nextcloud), this is the general overview:

* ownCloud is more stability-focused, used by large corporations, slower release schedule.

* Nextcloud is like more experimental, with new updates every two weeks, adding new features constantly, two major versions in front of ownCloud.

So, I tend to think them as ownCloud being kind of like Ubuntu LTS release, and Nextcloud being a regular six-month release.

They also cooperate a lot and build on top of each other (for example, Nextcloud just makes a skin on top of ownCloud's desktop client).

Also, Nextcloud's app community seems more vibrant than ownCloud's.


MediaGoblin is available on Sandstorm (eg one click install): https://apps.sandstorm.io/app/70awyqss6jq2gkz7dwzsnvumzr0725...



It would certainly be better if the version on Sandstorm was more up to date, but the current version works. If you're just interested in trying it out with minimal hassle.


What's the point of that? There is a live demo in the media goblin site if I want to try.


The "try a demo right now" link on the MediaGoblin homepage is just a link to Sandstorm.


I always seem to remember this project sort of limping along, only to forget it a while after as even though I'm an artist and I could make some use of it, the setup is far too much of a trouble when a Wordpress blog would do the trick for sharing my works just fine. Maybe it needs something akin to what happened with GNU/Social and Mastodon to be thrown into the limelight.


I don't have much experience with it but IMO mediagoblin might suit small organizations slightly better than individuals. It's probably best for folks who want their cycling club, makerspace, HOA, scouts troop, university, etc to be able to share media without being subject to content restrictions, silly communities, etc.


My question however is whether said people would be technically capable of getting it running. I mean, it's simple for those with experience in running a server or unmanaged VPS, who know how to run Python scripts and setup Docker or what not. But the average person in many of these small organisations (even the tech team) is probably confused by a simple WordPress install or even the process of uploading files to a web hosting account.

I feel these solutions seem like they should be aimed at the people and groups you mention, but end up seeming like they're designed for tech geeks and programmers. They need to be made to work on cheaper hosting accounts and installable by someone whose experience with 'tech' is clicking buttons in a user interface.


That sounds like a business opportunity to sell inexpensive hosted instances of Mediagoblin. Or you can volunteer to contribute code and documentation that makes it easier to self-host.


That's a good point. Something like WordPress.com for Mediagoblin would be fantastic here, even if it meant paying monthly. Vanilla, GitLab and Discourse have done really well by offering this sort of deal.


While I was nodding my head in agreement while reading your comment, this sentence disturbed me...

But the average person in many of these small organisations (even the tech team) is probably confused by a simple WordPress install or even the process of uploading files to a web hosting account.

If a "tech team" can't even upload a file to a server, that is really a piss poor tech team and in general shouldn't even be labeled as such, IMO.


Yeah, tech team probably wasn't the right word there. It's more 'random guy with a computer who's got the free time and feels like working on the website'. Or maybe the office admin whose entire experience with computers comes down to sending email, typing in Microsoft Word and browsing the internet.

So no, not really a tech team, and obviously they'd be absolutely terrible compared to anyone who actually knew what they were doing. But the general point is still the same: these organisations don't usually have a tech savvy member or employee who could set this up.

And if they do find someone to help them out, I suspect a fair few agencies would struggle with anything that wasn't basic HTML/CSS, WordPress or an online service.


But where's the alternative Youtube website?

Youtube differentiates itself by being a go-to platform, a website that people actually visit to watch videos. Otherwise, call it an alternative to Vimeo, which is de-facto just a video hosting platform.


Well, there's always VidMe. That's what they're trying to be, a new YouTube.

But when it comes to decentralised services... I suspect the answer is 'whatever instance connects to most of the others and draws the most traffic'. Which raises its own issues, since [BigVideoSiteInstanceNameHere] basically just ends up with the same problems as YouTube. Being able to control what a large percentage of users watch on a de facto level, even if the actual underlying system is decentralised.


Is this project still in active development? The release version has not reached 1.0 but there were only a few commits in the past months:

http://git.savannah.gnu.org/cgit/mediagoblin.git/log/


Hi, MediaGoblin co-founder and co-maintainer here.

It's still under active development, though I've temporarily handed over the reigns to others while I've been busy getting the federation standard we're going to use nicely shaped up through the W3C spec process https://www.w3.org/TR/activitypub/

That's taken up more of my last year (okay, last two years) than I expected. I'll be back in the swing of things within the next few months. We have a federation branch right now, but the standardization process of ActivityPub meant that we're going to have to retool some things before its released in 1.0!

The good news is that ActivityPub is looking to be picked up by projects like NextCloud, Mastodon, Pump.io, and quite possibly GNU Social, Diaspora, postActiv. This means we should be able to have more federation working across the many federated social web projects out there.

If you're interested in ActivityPub and federation generally, I highly recommend checking out the tutorial, which is baked into the spec: https://www.w3.org/TR/activitypub/#Overview

In the meanwhile, Boris Bobrov (breton) has been kindly doing the main work along maintainership while I've been preoccupied. But, I'll be back soon... and it'll be good to be back!


I've skimmed over the activitypub overview. It looks interesting. I'd be curious what your thoughts are on it in comparison to two other "recent" decentralized social protocols.

I feel it shares a lot of similarities with the [matrix spec], though obviously a different vocabulary. Also, matrix is focused a lot more on the concept of subscriptions and eventual consistency.

The other recent protocol I'd associate this with (loosely) is [secure scuttlebut]. This uses an append-only log, which users can subscribe to. The protocol lets applications on the same network locate each other and synchronize logs, or they can connect to a pub server which helps with providing more permanence and crossing network boundaries.

The latter example is much closer to what I'd like to see in a decentralized social web. You build a self-hosted stream of public and private messages, and those that are subscribed (individuals or pub servers) replicate a copy of that stream. If individual pub servers go offline, others will have duplicates and users will be able to continue receiving your updates.

Granted, this setup has some serious issues when you consider abuse. Pub servers currently have no concept of filtering and any approach to that would raise concerns about censorship. I'd also like to see the clients move to a browser based, port 80/443 setup, where perhaps someone can run a self-hosted pub server and web client on a cheap vm somewhere. A sort of web proxy that mobile/desktop clients can sync to. The clients in this scenario would not speak scuttlebut directly, but rather post messages to the web server, which would manage injecting those messages into the ssb log.

https://staltz.com/an-off-grid-social-network.html

[matrix spec]: http://matrix.org/docs/spec/ [secure scuttlebut]: http://scuttlebot.io/


I can't figure out what advantages ActivityPub has over email. It seems to just be a way of sending messages to one or more recipients. Email already does this. Couldn't you just stash that blob of JSON in an email body? That way, no new servers would need to be set up; everyone already has an email address.


Do you want server-to-server communication to depend on yhe mercy of spam filters?

Or client-server communication ?


Are you talking about the spam filters that are required for email, or the spam filters that are required for the exact same reasons with ActivityPub?

https://www.w3.org/TR/activitypub/#security-spam

"Spam is a problem in any network, perhaps especially so in federated networks. While no specific mechanism for combating spam is provided in ActivityPub, it is recommended that servers filter incoming content both by local untrusted users and any remote users through some sort of spam filter."


Mediagoblin is also available as an app on Freedombone (https://freedombone.net)


I found a video on one of the example sites and opened it on mobile, iOS and the Google Search app. The video didn't play. That is why Youtube is so dominant. 12 years later and nobody else has figured out how to make videos that actually play.


I figured it out. You need to store several encodings of the same file. One in webm for most cases, and one in mp4 for all other cases. If a platform doesn't support webm or Mp4, it probably couldn't play the video anyway.


Then, you have to solve the problem with how to seek in a 2-hour long video.


opened the first 3x live instances [1] and all videos required flash...

[1] https://wiki.mediagoblin.org/Live_instances


This may be off topic, but does anyone think that there is a correlation between pop culture (Silicon Valley's Pied Piper this season) and services like this springing up/getting more attention than normal?


I thought about this too, but it could just be something similar to blue car syndrome[1], where I'm just noticing it now because of silicon valley.

[1] https://english.stackexchange.com/questions/153166/what-is-t...


It would be pretty silly to think this a coincidence and of course <pop>culture drives all sorts of behaviors.


I am confusing with decentralized. If there is no central server, how can my node find the first neighbor node? If there is a server maintain a nodes list, it isn't decentralized, right?


Just have to find one, right? Then it can clue yours in on the rest. So manually provision any neighbor, once?


Practically speaking a peer list is usually required in an otherwise decentralized system


For anyone interested, I have some notes on how I deploy MediaGoblin here: https://wiki.realmofespionage.xyz/servers:nginx:gnu_mediagob...


Interview from 2013 - they have been around - http://redecentralize.org/interviews/2013/10/13/06-chris-med...


I'm not understanding what is decentralized about it. It just looks like a bunch of Gallery 2 installations. Do the servers interact in some way? Is the content hosted in a decentralized fashion? I can't find anything on the website that clarifies it.


Decentralized != distributed.


This seems like the kind of thing that should be packaged to be one-click-installed on a NAS box.



Yes. Just like that, except in the format that QNAP, Synology, and other NAS machines use.

Isn't Sandstorm basically dead at this point? I seem to recall them announcing that the commercial side of the project had failed and they were going 100% Open Source.


We're still working on Sandstorm.


Why use this instead of just putting a directory on public FTP or something?


So you can stream videos for the most part. Also you can let others upload, make comments, etc.


If you are looking for a self-hosted video site, I can really recommend CumulusClips. It is quite easy to setup and does the job quite well.


If you're looking for a more end-to-end solution, suitable for lecture/event recording, processing and distribution with a more permissive license, you might want to checkout http://www.opencast.org as well.


Reminds me of the dead gallery project and Piwigo. Any comparison with these?


BitChute is another


[flagged]


Reading between the lines, I'm going to assume by "racial awareness" you mean rising white identity as a counter to the race-based identity politics in the West that frames "minorities as victim groups".

Seems to me the best way to deal with this is to deconstruct racial and group identity altogether rather than jump on board and further validate it.

Regardless, YouTube may often demonetize the most innocuous of content but it rarely censors it outright.


> Just a little note if would be easier to find it if the source code was hosted on GitHub.

For some background: MediaGoblin is a GNU project, and GNU discourages the use of GitHub:

https://www.gnu.org/software/repo-criteria.html

But GNU doesn't prohibit the use of GitHub for mirroring, only as the primary location for the project and repository.


The only kind of "racial awareness" I can think of that is not welcome by "the current empire" is white supremacy.

Interest groups for blacks, asians and a lot of other races usually get accepted by the broader society.

So I am curious which group you are part of


[flagged]


HN is not a place for political or ideological battle, and certainly not for race war. You've posted like this before. Please don't do it again.


This looks like another way of sharing stuff that big companies don't want you to share. I seem to recall this story not ending well in the past. And AGPL? - such an unappealing license - it's the license for open source extremists.


I disagree -- regular ol' people generate way more video and audio content than the artists of RIAA+MPAA. If you want to distribute copyrighted content, there are much better solutions to that problem than Mediagoblin. But if you want to put a video of your class lecture somewhere students can see it, it could be a much better option than Youtube. Especially if your classes discuss works of art still protected by copyright. Even though it's your right to discuss it via fair use, who wants the headache of arguing with rightsholders and Google's bots?

It's AGPL specifically because it's a GNU project. shrug if you want to write a BSD one, that's your right. IMO they're not extremists. I like the BSD license a lot. But I also think that sometimes some companies exploit software developed under BSD licenses and in those cases coders and users alike lose out. For that reason I think it's very appropriate that the GPL and AGPL exist.


> AGPL … the license for open source extremists.

Nonsense. The sort of people who appreciate the AGPL are the sort who either say or at least acknowledge that others say "it's free software, not open source".

If you think AGPL is unappealing and that's as far as you take it besides asserting it being extreme, you don't understand the basic concept of software freedom, so you can't judge when someone is extreme about it or not.


Or just sharing private content you don't want the big companies to have.


AGPL is great for letting regular people host stuff without large companies taking over your project and giving it to their 100000000000000000 centralized user base.


No it isn't, companies are able to do that if they want. AGPL just makes sure those companies release their modifications to your project.


Yes indeed. The implication from the other poster was that companies can't exploit the project and make derivatives without sharing their source code. That doesn't stop them, but it does make it possible for people to get the updates, self-host or create competing instances, which is a major check on the power that proprietary services have.


They usually have polices to not even touch AGPL.


My comment refers to the notion that users of MediaGoblin can store treasured private content without it being indexed and monetized by large providers.

This is true regardless of which open source license is used, and I am a strong supporter of permissive licensing over copyleft. ;) I see nothing wrong with corporations building their proprietary platforms on top of open source software as long as I'm not required to use it.


What projects have been taken over like this and still exist?


Interesting that nathcd's comment (on this comment thread specifially) is 'dead'. Basically he explains politely and using analogy why AGPL seems just fine and then points out there seems to be a trend of anti-copyleft on HN lately. Subsequently his comment is now 'dead'... point proven?


Bear in mind, HN, beyond just being "tech news" is very connected to the startup culture by the very nature of being YC's. So there's a heck of a lot of business people around here, and businesses want to avoid licenses that lead to additional legal responsibility. It's particularly a liability if you're hoping another company will buy yours and integrate your software with theirs.

Sometimes as an open source and privacy advocate, I feel like I'm in the minority here, along with a couple of other voices I see along the same lines as me. Though, I am pretty anti-copyleft as well. Go figure.


Perhaps that's why my comments advocating far left ideas afe frequently downvoted, even in on topic threads. Too many businesspeople :)


The term "open-source extremists" is somewhat oxymoronic and reminds of the term "militant atheists". In real terms, neither category is particularly edgy.


Being that this is an end-user application (and not a library), what does the AGPL matter? Would you otherwise be releasing proprietary MediaGoblin extensions?

Is it just me or are the copyleft digs increasing in number lately? The little jabs seem nearly as immature as outsiders requesting that FOSS maintainers rewrite their projects in different languages.


For the record, I think mediagoblin should use whatever license they see fit.

But the distinction between GPL and AGPL here matters. If mediagoblin were GPL you could use it to host better-than-youtube.com -- and subsequently add a hardware-accelerated-3d-folksonomy feature to your better-than-youtube.com instance. better-than-youtube.com's users would be [effectively] using a work derived from mediagoblin and yet they would not have access to its source because they were never distributed the binary. GNU created the AGPL to solve the problem created by the trend of "Software-as-a-service".


If you look at some of the installations listed in the wiki they have clearly been modified. They do not provide their modifications publicly, and are in violation of section 5. This is the core challenge with user modified agpl over user modified gpl. These users are unwittingly in violation - their acceptance of the license terms without understanding them leaving them in a position of legal risk.


The whole GPL family has no requirement of providing source publicly. The requirement is to make source available upon request to those who are the recipients of the software.

> they have clearly been modified

How do you know? Mediagoblin has lots of settings and prefs to adapt how it works.

Anyway, the source-provision applies whether or not it's modified. It's the responsibility of any instance of Mediagoblin to provide source upon request to visitors of the instance. The source must match what is running. Modified or not is irrelevant.

> unwittingly in violation

Not at all. They will be in violation if you can access their instance and you ask them for the source and they refuse to give it to you.


Look at them.

6c does not apply. No such offer was made, nor were the preconditions met.

6d is the only option that applies, and while those copies had the standard links to upstream, they had no links to downstream.

See https://www.gnu.org/licenses/gpl-faq.html#AnonFTPAndSendSour... and what follows it if you're not willing to read the license.


I'm sorry, you're right. I should have been more clear. The violation comes if there is not a notice to visitors that the software is AGPL and instructing them how to get the source. I didn't check the links in question, but I had the impression it could be okay enough for an instance to just link back to the original Media Goblin project where source is if they haven't modified anything. IANAL

Also, I don't seem to be able to edit my problematic reply above (which is correct in some regards, not so much in others). But thanks for clarifying here. I regret spreading some misunderstandings.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: