Skip to content

Latest commit

 

History

History
193 lines (149 loc) · 12.2 KB

alternatives.md

File metadata and controls

193 lines (149 loc) · 12.2 KB

Similar projects or what do we have today

Ideas are not new and many existing projects working in this direction. But there are always some difference in implementations,

Movements, communities and organizations

Selfhosted communities and forums

FUTO Circles

The Circles app is an open source end to end encrypted social network for a family. Based on Matrix protocol.

IndieWeb

IndieWeb is a movement to leave social networks (they call them Silos) and use personal sites. They're working on creation of easy to use small website engines, technologies and standards to simplify websites to interact with each others. For example

  • Building blocks are key design-patterns, technologies, and methods for building and improving your independent website.
  • WebMention protocol allows to easily see when someone makes repost from your site.
  • IndieAuth is OAuth extension to login from your domain but difficult to implement.
  • Mastodon is twitter like selfhosting service.
  • ActivityPub is a protocol to build a social network

See

Yurt is not related to IndieWeb because ideologically is different (we are fine with some centralization) and almost nothing can't be reused from technology stack. But we'll try to align with this movement.

Personal data vaults

Unhosted web apps store user data to any server that user choose. E.g. a TODO app that stores tasks to Google Drive or even to you your own storage. There is a dedicated remoteStorage protocol that looks like JSON based WebDAV + OAuth. Still, for most programs you need a server side with specific API. E.g. for a TODO app send an email with notification. But anyway quite a lot of apps that are already exists and some of them are even useful and practical like SuperProductivity.

It was evolved into Solid Project under lead of inventor of web Tim Berns-Lee. It looks overcomplicated but actively developing and already have some nice apps.

See also CrossCloud

Also interesting article from 2012 (!) Personal Data Vaults Put You in Control of Your Data Online

Freifunk

Freifunk is a community-driven radio network in Germany. They developed the OpenWRT, KadNode DNS and some other projects for their needs.

Turris

Turris is an OpenWrt based router with powerful CPU that almost completely open source and can be used as a home server. E.g. you can install NextCloud and other programs with just a click. This is the closest to the Yurt idea and you can try it today.

prpl Foundation

prpl Foundation is an attempt to collaborate between network equipment manufactures and network providers to create an OpenWrt based platform and use it instead of unknown and unsecure routers firmware.

iconet Foundation

The iconet is an attempt to create a responsible social network

Greenhouse

A lot of interesting and useful projects like:

Framasoft

A French not-for-profit association https://degooglisons-internet.org/ They created some interesting products like PeerTube.

MobileMe

MobileMe was a nice service at me.com that was replaced with iCloud. It allowed to make own website and had WebDAV integration.

Site constructors

MySpace was probably the first popular personal websites hosting. But all users made their own design that sometimes looks terrible. It's great that all peoples pages on Facebook looks the same. Even given a very bad UI on FB it simplifies navigation. Yurt must provide some advanced website constructor. Without it peoples just will use something different that Yurt and the whole idea won't work.

Software

WordPress

WordPress is a blog engine and most websites in web are running on WordPress. It's a very bad software, written in PHP, heavy, has a lot of security vulnerabilities and they always changing it so one day it just becomes unusable. WP uses a database but for Yurt we'll try to avoid it to keep size minimal. Yurt Blog may store posts just in raw RSS to make it simpler to generate RSS feed. The same RSS may be fetched by AJAX and then converted to readable HTML. I.e. from UI respective Yurt Blog can be just an in-browser RSS reader.
BTW WordPress provides RSS feed but for example you can't read it from another site because is blocked by CORS.

NextCloud

NextCloud is a self-hosted "cloud" solution i.e. online disk like Google Photos and Google Disk. You cun upload files like photos and see them from browser or mobile app.
They are written in PHP which is too heavy for most routers. UI is also not perfect. API is problematic too. Some older projects like the https://SparkleShare.org ( GitHub repo) are a good alternative.

Self-hosting Solutions

Installing and configuring own server is difficult. So you can use some special OS (usually for RaspberryPI or VPS) that already preconfigured and usually gives the following features:

  • Web installer with a setup wizard
  • Web UI to configure system settings
  • App store where you can install something like NextCloud, mail server, RSS reader, file sharing just in one click.
  • Dashboard with application icons
  • Users management
  • Automatic LetsEncrypt TLS certificate issuing
  • DDNS or free subdomain. Also for each app is usually used a separate subdomain.
  • Backups and snapshots

Usually developers of the projects also selling microcomputers with already installed OS so you can just plug into a router and start using.

FreedomBox

FreedomBox is a Debian with some Web UI dashboard written in Python+Django. It's the oldest solution and uses traditional software and based by ideology. It's made by a serious peoples and this is more like a proven solution than a research project. Original idea was to sell a small server in a small box e.g. what we call today RaspberryPi but at that time it was a new specifically developed device. See interesting talk Eben Moglen: "FreedomBox Turns Ten" about its philosophy.

The web panel is written in Python and Django. It lacks of usability e.g. they don't provide a DDNS out of the box.

Yunohost

Yunohost (sounds like "Why you no host?") is more popular and Docker based solution. The dashboard provides SSO authorization so you can open any app without being asked for a password. App are mostly well known: RoundCube for Email, Wordpress for Blog etc.

0Web

Small 0Web https://small-tech.org/about/ is a site constructor with many features. Site.JS It's based on Node.JS and idea is to make an easy to setup website. They have a good ideology manifest.

Root project

https://therootcompany.com personal cloud. Again in Node.JS. It's in development but some components like tunnel and JS crypto libraries are working and even used by other solutions. Here is some description https://git.rootprojects.org/root/meta It's author https://github.com/coolaj86 makes a lot of useful things for self-hosting a libre movement and a lot of video lectures.

Many other interesting

There is a lot of similar projects that provide a ready to use self-host solutions. Some noteworthy:

You can find even more here:

Probably the Yurt project can implement as part of some of them. But they are all too heavy for a regular routers and doesn't have a social component.

In fact the Yurt should be the same Self-hosting Solution but with a few differences:

  1. Focus on small size and power efficiency.
    • So any PHP, NodeJS, Golang, Python based solution won't work for us. We need to use what the OpenWrt use e.g. plain C, Lua, Shell and recently Ucode which is JS dialect.
    • Apps that we use should be also small
    • Yeah, and we can't use Docker
  2. Instead of a nice looking or good UX we have to use "simple" e.g. ugly but more error-prone design. For example use text instead of icons, don't use animation.
    • This is a very bad rule that we have to break. If users see that something looks good they think that internally it also works good (even if that is a slow CGI script)
    • For most people the main motivation to have own site is to have own design and better customization. Users are curious and want's to enjoy. Maybe some more heavy existing solutions can satisfy such users.
    • Basically this is the main problem that if solved at least partially can make many peoples happy. Maybe it's possible some attractive minimal but accurate "suckles" design.
  3. Almost all of them have a focus on privacy but for the Yurt it's totally fine to have some degree of centralization and to be more business friendly. E.g. if you wish to use analytic scripts then we weill add this option to you.

Decentralized protocols

Many of them, good ideas but mostly bad implementations.

  • https://willowprotocol.org/ a protocol for peer-to-peer data stores. Fine-grained permissions, a keen approach to privacy, destructive edits, and a dainty bandwidth and memory footprint. See its a good written Comparison to Other Protocols
  • IPFS, FileCoin, Veilid - a torrent like p2p file storages
  • Scuttlebutt, Hypercore - chats
  • Tangle Sync
  • Earthstar
  • Nostr
  • EteSync - more similar to Unhosted remote storage.
  • https://github.com/peter0x7f/DecentralizedTransferProtocol decentralize user data storage making running a web app less expensive, while also insuring user privacy.