Ownership vs. Ownership

There is a growing movement online that has the wonderfully optimistic slogan "Own Your Content". This is a concept that I fully agree with, though I will admit to being incredibly confused for quite some time by the meaning of the first word in the sentence. What does it mean to "own" your content, and can the people who encourage others to take back control honestly say that they own the digital information they share online?

To the best of my understanding, "Own Your Content" is a movement by people who do not wish to keep their data in silos around the Internet. People have recorded well over a decade of events into Facebook, yet that data is not portable enough to be extracted for your own archives. Same with Twitter, Medium, and the vast majority of places where people congregate online to share words, pictures, and audio. If any of these services were to disappear, like App.Net or PicPlz, then vast swaths of a person's online history could disappear. More than this, a number of the big services that encourage us to share information through their networks earn money through our participation. We are essentially using our free time to create content for other people to profit on, while (arguably) seeing very little in return. We are not the customer, but the product to be sold.

It's easy to see why some people are opposed to this and combating the commoditization of their time, creativity, and identity with software and systems that they have more control over. Rather than blog with Medium, one can set up a site of their own on Amazon, Digital Ocean, or other vendors. Rather than rely solely on Twitter or Facebook, people can use that same site to distribute their messages. Often times this means "cross-posting" the information stored on their virtual server to the silos they've worked so hard to escape. For many people, this is content ownership.

I disagree. While this is a step in the right direction, having our words on a hosted WordPress installation is content management and little more.

If a person truly wants to own their content, they cannot rely on Amazon, RackSpace, Linode, or any other corporate provider to host their information. Otherwise they are just trusting another party to not take advantage of them or interfere with the distribution of the data. To own content, one must own the hardware and have it on-premisis1. This way, if a vendor decides they no longer wish to host your content or if a government entity decides to swoop in and take the out of the data centre, you still have the content.

But how many people can actually do this? How many people would even want to try to have a server at home as well as one that's openly accessible to the public and broadcasting content to Facebook, Twitter, and other services? Despite the marked improvements in server management and software installation, there is still a rather large learning curve people need to overcome. We need something simpler ...

Which brings me to something I've been thinking about for roughly two years.

Ubuntu@Home

Over the last few years I've become quite acquainted with the ins and outs of Ubuntu, and I've seen a lot of what it can do when given the right hardware. This is where the idea of owning one's content becomes real, because there's no reason why a person could not have a tiny, pre-built computer at home running Ubuntu which then synchronizes with a machine that is open on the web. Ubuntu, despite all its strengths, is still very much Linux. This means that the software that the home computer ships with would need to be pre-installed and painfully simple to use and update. The standard LAMP2 stack cannot apply. Instead, something new would need to be used: Snaps.

A Snap is a universal Linux package that works on (just about) any distribution or device. Snaps are faster to install, easier to create, safer to run, and they update automatically and transactionally so the software is always fresh and never broken. What this means for a normal person is that a tiny computer the size of a Starbucks coffee could be shipped to them and run on their home network. This would then interface with another server they have running in "the cloud". Rather than SSH into a Linux machine and install a bunch of disparate software packages, fiddle with configuration settings, and rage at Apache misconfigurations, a person would instead type something like the following into the public web server:

sudo snap install 10centuries

From there the package would be downloaded from a trusted source and started. People would see a message like 10Centuries Node started. Visit http://{server_ip_address} to configure the server. and then be off to the races. The public node would synchronize with the private node in their home and, should a person decide they want to change VPS providers for whatever reason, they could do so and simply reinstall a snap then re-sync the node. More than this, people could connect their nodes to those run by friends and family in order to share encrypted backups so that, if a server did disappear from the web, the data would not be lost. The nodes would also be configured to communicate with each other when social interactions are taking place. This would, for all intents and purposes, create a mesh network where no single point of failure could take a person offline indefinitely.

This has been the long-term vision for 10Centuries, but the software just hasn't been there for the average person. The open projects I've worked on or lead in the past have all suffered from a staggeringly high learning curve, and it's resulted in many people giving up in frustration. We've got to do better, and Snaps appear to be the way forward. I've been doing a bunch of testing with packages, deployments, and node synchronization over the last few months. A shippable product is still quite a ways away, but it's not at all an impossible project. More than this, there's a possible revenue stream available in mini-server sales that would make the project financially tenable for a small group of people.

Imagine buying a small home server for $50 and having it synchronize automatically with a web server running the blogging and social services that you operate. Apps would be written that would interact with your servers rather than commercially-backed systems. If you're at home, you'd interact with the local machine reducing latency. If you're at the coffee shop or in a plane, the apps would use the public server. In every case, your data is synchronized and distributed just the way you want, all through a mesh network that can be configured to be more resilient to failure.

I've long considered the idea of content ownership implausible until the tools became simple enough for everyone to have their data safely stored in their own house. This idea makes it just a little more realistic.


  1. or be very, very strict with regards to data backups and automated collection and storage of that information
  2. Linux + Apache + MySQL + PHP