From 74c53a08baca5db89701e6198c3a21b2d9462500 Mon Sep 17 00:00:00 2001
From: Jordan Bancino
Date: Thu, 28 Jul 2022 09:58:12 -0400
Subject: [PATCH] Add some information to the developer guide.
---
site/index.html | 60 +++++++++++++++++++++++++++++++++++++++++--------
1 file changed, 51 insertions(+), 9 deletions(-)
diff --git a/site/index.html b/site/index.html
index 348b2bd..f7fb7a4 100644
--- a/site/index.html
+++ b/site/index.html
@@ -421,23 +421,48 @@ should just run on any POSIX operating system without modification.
Project Goals
-The goals of this project are as follows:
+The goals of this project are generally divided into user goals,
+and developer goals, depending on who they impact the most. This
+isn't an exhaustive list, but it is a list of things that I want to
+prioritize, because other server implementations lack them.
+
+
+The user goals are as follows:
-
To be a production-ready Matrix server capable of handling a lot of
users. Telodendria should have good performance in many diverse
-environments.
+environments. It should scale up well for large instances, and yet also
+be able to scale down to a peer-to-peer device.
-
+To be easier to configure than any of the other Matrix homeserver
+implementations. The configuration file should be flexible,
+well-documented, and easy to understand and modify. An intuitive
+command-line tool for administrative tasks should also be available.
+
+
+
+The developer goals are as follows:
+
+
+-
To have as few external build and run dependencies as possible. It
-should be possible to compile Telodendria on any operating system out
-of the box, and have it be totally statically linked, ready to run
-under a
chroot(8)
-ed web server. You'll even notice that
+should be possible to compile Telodendria on any POSIX operating
+system right out of the box, and have it be totally statically linked,
+ready to run under a chroot(8)
. You'll even notice that
the documentation is written in HTML directly, not Markdown, to remove
the dependency on a Markdown parser and renderer.
-
+To have a simple yet elegant workflow, and not depend on any large
+or complex development tools, such as code forges. The entire
+development workflow should be able to be successfully and efficiently
+completed on a base OpenBSD install. Of course you don't have to use
+OpenBSD for development by any means, but the point is, the workflow
+should not require a lot of tools.
+
-
To be written in clean, elegant, and well-documented code. The goal is
to build a Matrix homeserver from the ground up, not just because I
don't like the way existing homeservers are implemented, but also so I can
@@ -486,12 +511,29 @@ the contribution workflow goes as smoothly as possible.
Getting The Code
+If you'd like to hack on Telodendria, you'll need the following
+tools in addition to the tools required to
+build the source:
+
+
+cvs
for checking out and updating a local copy
+of the source code.
+indent
for formatting your code before generating
+patches
+patch
for applying patches to your local copy of the
+source code.
+
+
+Note that all of these tools are built into OpenBSD. While you of course
+don't have to use OpenBSD to develop Telodendria, it may make
+the process a little easier. In fact, these tools were chosen
+precisely because they were built into OpenBSD, the operating
+system I use.
+
+
You can download an official release tarball if you would really like,
but the preferred way is to check out the source code from CVS. This
-makes generating patches a lot easier. If you do not have CVS, consult
-your operating system's package repository to install it. CVS was the
-chosen version control system for this project primarily because it is
-built into OpenBSD.
+makes generating patches a lot easier.
$ export CVSROOT=anoncvs@bancino.net:/cvs