You’ve undoubtedly noticed by now even if you don’t follow my twitter that my blog has undergone some major changes. I’ve moved it all over from my VPS running Wordpress to Hugo on Gitlab Pages.
I decided to go with a static site generator in part because of the flexibility it offers (especially in the case of Hugo) in exchange for not being as easy to use out of the box. With traditional blogging platforms like Wordpress, everything is stored in a SQL database. The main advantage of this is multi-author support (though even then, this is something that can be enabled in Hugo and other static site generators with some tweaking), but the biggest drawbacks to it that lead to me moving away from it were the need to host it on a dedicated server, and the possibility that if anything were to happen to me, all of my content would be trapped in a sloppy LEMP stack in html.
Static site generators don’t require a database, and the sites themselves can be cloned in their entirety using git. The flexibility and extensibility of them also makes it very easy to move the raw markdown files into their own repo, which is what I did. Markdown is nice and clean and can easily be converted to other formats, making it easy for anyone to copy and redistribute my works without me having any control of them. The internet already allows for this to a very significant extent, but we’re rapidly approaching a point where the internet and the HTTP protocol are at their limit. The recent repeal of net neutrality and the Time Warner-AT&T merger is a taste of the cablification of the internet, returning it back to the original vision of the internet being little more than another TV channel.
Even in the case of open-source projects like Wordpress, there is still a centralization of sorts that happens. Content on the internet, on the HTTP protocol, isn’t peer-to-peer; it’s client-server. There is at the core of HTTP a hierarchical relationship that simply by design exists no matter what, and while some might argue that this is an “acceptable hierarchy” the fact remains that it opens the door for content to become reterritorialized onto the servers that can acquire the most content. This is called the Network Effect, and it has been a problem for every open-source competitor to things like Google and Facebook. SearX and Diaspora might be great projects in their own right, but they depend on this same client-server relationship and are trying to compete against corporations that are always going to win in that game.
The basic premise for something like Diaspora in particular1 is that everyone should use it, because it’s open-source and doesn’t track you. And while I support any projects that at the very least usurp the technologies from services most people use, if not the network effect as well, these types of projects depend precisely on what people should be doing and not what they are doing. And what people are doing is using services like Google and Facebook that track them and, especially in Facebook’s case, have proven over and over again to be extremely untrustworthy and shady. But trust isn’t what really matters here; what matters is what people are going to use, and what people are going to use is what already has network effect.
The solution isn’t to try to compete against hierarchies in a hierarchical network, but rather to bring down the whole damn network. Or at least create an alternative.
As far as I know, there isn’t yet a peer-to-peer git repository that is fit for production. Gitlab is essentially the same sort of thing as Diaspora and GNU Social/Mastodon insofar as it tries to compete against Github by offering an open-source alternative. They are also looking to add federation, which is very exciting. For the time being, moving away from Wordpress to Hugo is a small step towards my desire to liberate content and allow it to become an autonomous entity. Hugo also is flexible enough that it can be hosted on IPFS, which I will be working on for my blogs. IPFS is one of the first and possibly one of the most important projects to come that will liberate content from the client-server hierarchy without relying on a traditional peer-to-peer model like bittorrent or toxcore that requires someone to be online at all times. Every blog post, every shared music library (another project I will be working on soon) will have its own token. Chan culture has long been a pioneer towards liberating content by denying any kind of identity to the content creator. The next step is not only to deny the content creator an identity, but to give the content its own identity. A permanent, cryptographic identity. An identity that gives content self-ownership rather than an identity that gets decided via human consensus. An identity that means nothing to us, cannot mean anything to us by being a random hash, but that literally means everything forever to the content.
Static site generators are blogs without organs. They rip out the database guts that imprison content in a hierarchical database of authors on a server. They exist wherever an assemblage of code can couple with the site repo, providing a smooth space for content to move through and persist beyond even the authority of a human author.
Both Diaspora and GNU Social/Mastodon have federation, which to their credit is a step in the right direction. Nevertheless, it’s not truly peer-to-peer, but rather a federation of servers serving content to clients. ↩︎