Volatile's future

What is this document?

This living document serves as an overview of Volatile's goals, why a collective funding approach is advantageous, what services we currently offer, and what we plan to expand in the future.

Overall goals

Volatile intends to be a platform of multiple independent services, all centred around a common set of goals:

Why the jump to a donation model?

Up to this point, Volatile's expenses have fully been paid out of my own pocket, and thanks to the generosity of others who have offered non-monetary donations in the past (mostly I'm referring to those who operate their own servers for Volatile's IRC network).

This model has allowed Volatile to survive as a platform for a small group of people, but it has prevented us from reaching our full potential as a group of services that goes above and beyond.

With a collective donor model, this would open the door to funding new ventures that benefit the existing community and can draw in new users from less-ethical and more-centralised platforms. Volatile will make clear all current and projected expenses so that current and potential donors can see where their money is going.

Who can use Volatile's services?

To encourage self-hosting and decentralisation, and in an effort to manage our time and effort responsibly, I believe donating is an appropriate prerequisite to being able to use Volatile's member services. This should be donate-what-you-wish, as any amount is appreciated. This should act as a barrier to evaluate who actually wants to use the services for good rather than to freeload and use the services for bad faith and spam. But also, it means we all get what we pay for: a free account model would mean dependencies on advertising and other distractions from our goals. We're paying for others to maintain and configure the services, to do all the dirty work of hosting, because we may not have enough time or experience or interest to invest in self-hosting.

Note that if you wish to contribute but cannot donate financially, your inclusion in the community, your expertise, your suggestions and actions are equally-valuable contributions. Volatile ambitiously plans to offer multiple services, and perhaps there are people who know the ins-and-outs of one service better than others, and can help make that service better.

As an alternative to direct contributions, existing users can vouch for others to have an account on here. This means that our friends can use the same platform if they wish.

Some services will be free for all and not require an account. For example, IRC should remain accountless and available for all.

Current services and planned renovations

You will notice a common theme: as well as clearnet (ICANN) service that you would expect from most of the Internet, where you can connect with any old Internet connection and no additional tools; I also offer many services via the following networks:

I plan to adopt Lokinet when it reaches maturity, because I believe it will offset both Tor and I2P in the long run. I will continue to offer Tor and I2P access to services, but my main focus will be both on Lokinet and Yggdrasil – the up-and-coming solutions both to privacy and decentralisation.

E-mail

I offer E-mail that federates with the ICANN Internet, with Tor hidden services such as Torbox, and with anoNet. It should also be able to send and receive mail via the Yggdrasil network, but I have not tested.

I offer IMAP and SMTP support via ICANN (mail.volatile.bz), Tor onion, I2P hidden service, and anoNet (mail.volatile.ano). I currently do not host a webmail client, as I am opposed to webmail and encourage native clients that support PGP, but I will accept feedback on whether I should host a webmail client, and if so, which software I should use.

Currently I have set up SPF, DKIM, and a whitelist record. I plan to fully support DANE and possibly some other protocols that have been proven to benefit the E-mail network overall.

Also, as of now there are no serverside filtering mechanisms. No SpamAssassin, no Sieve; the filtering responsibility is currently left up to the user. I want to devise a proper filtering mechanism to benefit users and allow them to decide what mail they want and how they want to organise their mail.

XMPP

Volatile XMPP is provided by a Prosody server that should federate with ICANN and Tor with no issue. It's currently accessible via ICANN, Tor, and I2P. A web client also exists at https://xmpp.volatile.bz/ but its use is discouraged in favour of native clients.

Efforts are made to support the de facto XMPP extensions (XEPs) and federation practices (such as TLS negotiation).

OMEMO is strongly encouraged. Volatile XMPP may be modified in the future to warn on unencrypted communication or restrict it entirely. Currently I know of OMEMO, OTR, and PGP as encryption transports that multiple XMPP clients support.

Matrix

Currently we use Synapse for Volatile Matrix. I would like an alternative that is lightweight and featureful, or for the reference Synapse implementation to improve enough that makes it suitable for longterm use.

Git

Volatile Git currently uses cgit and Gitolite. I have had issues with cgit under heavy load (bot/spider traffic, or other traffic intended to DoS the service) so I have desired a move to stagit instead. Gitolite should still be fine for current push access to repositories.

Future services

Self-hosting consultation

In the spirit of decentralisation and encouraging self-hosting, I wish to work with others to provide support, services, and resources for those who wish to get into hosting their own services. As well, I wish to make self-hosting easier in the first place. Some things I want to look into providing:

There are plenty of guides on how to set up services, but they're scattered about and potentially out-of-date or missing critical information. Currently the biggest DDoS/CDN services are offered by Cloudflare and other centralised and potentially-unethical corporations. And lawyers are expensive. Many service administrators would sooner choose to give up and shut down, rather than to waste time and money on fighting legal battles.

Single sign-on

I wish to have E-mail, XMPP, Matrix, and ActivityPub services all share a username database so that username@volatile.bz on one service is guaranteed to be the same username@volatile.bz on another. Currently I do not do that, but to my knowledge there are currently no username conflicts. I will make the adjustments necessary to allow for migrating to a single-username model.

I also want to offer OpenID (or really, any well-adopted authentication mechanism) for registration and login to third-party services. I believe a well-protected OpenID login (with a strong passphrase and 2FA, for example) is far more advantageous than any of:

Mailing lists / newsgroups

I want to offer a public mailing-list and/or newsgroup platform, complete with first-class E-mail support (of course), appropriate moderation tools, and public archives possibly in MBOX, Web, IMAP, and NNTP formats.

Mailing list software is ubiquitous and more people have mail clients than newsreaders, but NNTP seems to serve as a better analogue for this sort of thing. It's always possible to offer both and have a compatibility layer between the two, like some groups do.

Issue tracker

To accompany Git hosting, a bug tracker would be useful. I personally want first-class E-mail support in a bug tracker, which means my choice in tracking software will focus on this. I have often been deterred by having to make accounts on various bug trackers just to offer one-time bug fixes or feature requests. This is especially painful with people who host their projects on Github, where you have to agree to Github's centralised model as well as their unfair terms of service.

This can go hand-in-hand with mailing lists and allow for sending code patchsets, à la how Sourcehut works (and in fact, we may copy Sourcehut's efforts where it's deemed suitable).

ActivityPub

I will write an ActivityPub server that's designed less monolithic, and more with Unix philosophy in mind. I model the design decisions: technically after the examples set by djb and Suckless software, and socially after my time on Twitter (before 2015, when Twitter felt like a free platform, and the blue checkmark epidemic was nowhere near what it became today) and after such efforts made by Librem One.

Basically, I want separate but interoperable pieces that make up the ActivityPub server, I want easy plug-in with existing clients (both web and native, but none that are included with the server – it isn't the server's job to provide a client). I want more focus on the individual's choice rather than the choices of a server administrator, or the tone that a particular instance may set for its users. I believe users are free to associate with whomever, that the fediverse deserves and needs better discovery methods, and that current discovery (public timelines, limited search, limited tag search) must be improved in order to provide an experience comparable to Twitter and other central social media.

Until this happens, I provide anime.website separately from Volatile as a Pleroma fediverse server. I will continue hosting anime.website from my own initiative, perhaps even after setting up a service like the one I described above. Some people prefer Pleroma, and I like it as well; it just does not meet my own standards of idealism for a fediverse server software.

DNS

I want to offer a whitelist-only Tier 2 resolver for the OpenNIC project. From my understanding, most of the existing infrastructure uses BIND. I personally use NSD and Unbound and found it to be a much easier experience to configure and run than BIND, so I would like to diversify the software that OpenNIC uses, as well as provide a stable server free for use by users.

NextCloud

Personally I don't need NextCloud anymore, opting instead for the simpler Radicale to sync my contacts. But, it's a great alternative to using Google to manage your information, and NextCloud gives the option to encrypt files at rest on the server.

Searx

I have used a personal Searx instance for a period of time. The only reason I have discontinued using it for now is, I need to debug why it stopped working after an update, and I need to spend time developing search engines and a more thematic frontend style. Once I do this, I will do my best to open the instance to public use.

Video game servers

I like playing video games. There are a few games that (officially or unofficially) allow people to host third-party multiplayer servers.

Agario

One game I enjoy is Agario, but Miniclip (current owner of agar.io) is infamous for neglecting at least its desktop playerbase, as well as offering both cosmetic microtransactions and a sort of pay-to-win model. The pay-to-win aspect isn't too severe; you only get minor benefits when you either pay with real currency or save up their free coins in order to afford such benefits. Still, it is dishonest to request this type of payment and end up not caring for the servers and the playerbase. Some issues with Agario:

I would like to focus on free and open-source alternatives to Agario. There exists both client and server implementations, but they need some polishing. Also, I wish to have a native client written in OpenGL for those (such as myself) who do not like allowing WebGL and JavaScript in Web browsers.

I plan to establish a community for those specifically interested in Agario. I'm aware it's a niche, but I do not want the game to die, when it is one-of-a-kind and has allowed me to meet and interact with a lot of new people over the years.

Minecraft

Minecraft has plenty of open multiplayer servers for all styles of gameplay. However, to my knowledge, few to none of those servers focus on FOSS, and the Java server implementation is known to require expensive server resources to remain at a tolerable playing experience that supports dozens or even hundreds of players.

I wish to focus efforts into Cuberite in order to have a playable, efficient, and libre server. I know of Minetest which is very performant and has both client and server implementation, but as a Minecraft survival player, and due to the extensive modding community that focuses solely around Java Minecraft, it is difficult to drop Minecraft for Minetest. Certainly we could improve Minetest for Minecraft-like survival gameplay, and that is something I am willing to discuss with others interested, but to me, focusing on Minecraft's ecosystem has a better payoff.

Others

I am aware of other self-hostable multiplayer games and may focus on them if interest is expressed in them (either by me or by the community). If you have anything to consider, reach out to us. And if you have the expertise, you can even help make those considerations a reality for us all!