forked from lda/telodendria
Add technical rationale document.
This commit is contained in:
parent
fa3b5e95bd
commit
d50372a91a
2 changed files with 65 additions and 0 deletions
15
README.md
15
README.md
|
@ -11,6 +11,8 @@ hosting a complicated, high-maintenance homeserver or joining an
|
||||||
existing homeserver for privacy or other reasons, then Telodendria
|
existing homeserver for privacy or other reasons, then Telodendria
|
||||||
might be for you.
|
might be for you.
|
||||||
|
|
||||||
|
> **Note:** Telodendria still in development. See [Status](#status).
|
||||||
|
|
||||||
## What is Matrix?
|
## What is Matrix?
|
||||||
|
|
||||||
Matrix is an **open standard** for *interoperable*, *decentralized*,
|
Matrix is an **open standard** for *interoperable*, *decentralized*,
|
||||||
|
@ -71,6 +73,19 @@ Telodendria.
|
||||||
|
|
||||||
## Status
|
## Status
|
||||||
|
|
||||||
|
Telodendria is in the very early stages of development. As such, it may
|
||||||
|
not yet deliver on all of its promises. Currently, Telodendria is not
|
||||||
|
ready for end-users yet. While it features very basic user
|
||||||
|
authentication, it does not actually work as a chat server yet.
|
||||||
|
|
||||||
|
We are hoping to ship Telodendria `v0.4.0` by May of 2024. This
|
||||||
|
release should be usable for communication between **local users**
|
||||||
|
only. Additional features, including federation with other Matrix
|
||||||
|
homeservers will be added in future releases.
|
||||||
|
|
||||||
|
You can help speed up development by [sponsoring](#sponsorship)
|
||||||
|
Telodendria or [getting involved](docs/CONTRIBUTING.md).
|
||||||
|
|
||||||
## Sponsorship
|
## Sponsorship
|
||||||
|
|
||||||
Telodendria is maintained by a loosely-knit band of volunteers. The
|
Telodendria is maintained by a loosely-knit band of volunteers. The
|
||||||
|
|
50
docs/dev/rationale.md
Normal file
50
docs/dev/rationale.md
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
# Rationale
|
||||||
|
|
||||||
|
This document seeks to answer the question of "why Telodendria?" from
|
||||||
|
a technical perspective by comparing it to existing Matrix homservers.
|
||||||
|
Telodendria is written entirely from scratch in ANSI C. It is designed
|
||||||
|
to be lightweight, simple, and functional. Telodendria differentiates
|
||||||
|
itself from other homeserver implementations because it:
|
||||||
|
|
||||||
|
- Is written C, a stable, low-level programming language with a long
|
||||||
|
history, low build and runtime overhead, and wide compatibility.
|
||||||
|
- Is written with minimalism as a primary design goal. Whenever possible
|
||||||
|
and practical, no third-party libraries are pulled into the code.
|
||||||
|
Everything Telodnedria needs is custom written. As a result, Telodendria
|
||||||
|
depends only on a standard C compiler and a POSIX C library to be
|
||||||
|
built, both of which should come with any good Unix-style operating
|
||||||
|
system already, which means you shouldn't have to install anything
|
||||||
|
additional to use Telodendria.
|
||||||
|
- Uses a flat-file directory structure to store data instead of a
|
||||||
|
real database. This has a number of advantages:
|
||||||
|
- It make setup and mainenance much easier.
|
||||||
|
- It allows Telodendria to run on systems with fewer resources.
|
||||||
|
- Is packaged as a single small, statically-linked and highly-optimized
|
||||||
|
binary that can be run just about anywhere. It is designed to be
|
||||||
|
extremely easy to set up and consume as few resources as possible.
|
||||||
|
- Is permissively licensed. Telodendria is licensed under a modified
|
||||||
|
MIT license, which imposes very few restrictions on what you can do
|
||||||
|
with it.
|
||||||
|
|
||||||
|
## What about [Conduit](https://conduit.rs)?
|
||||||
|
|
||||||
|
At this point, you may be wondering why one would prefer Telodendria
|
||||||
|
over Conduit, a Matrix homeserver that could also say pretty much
|
||||||
|
everything this document has said so far. After all, Conduit is older
|
||||||
|
and thus better established, and written in Rust, a Memory Safe™
|
||||||
|
programming language.
|
||||||
|
|
||||||
|
In this section, we will discuss some additional advantages of
|
||||||
|
Telodendria that Conduit lacks.
|
||||||
|
|
||||||
|
### Small Dependency Chain
|
||||||
|
|
||||||
|
**TODO:** See #30.
|
||||||
|
|
||||||
|
### Standardized
|
||||||
|
|
||||||
|
**TODO:** See #30.
|
||||||
|
|
||||||
|
### Portable
|
||||||
|
|
||||||
|
**TODO:** See #30.
|
Loading…
Reference in a new issue