This repository was archived by the owner on Sep 2, 2021. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 42
This repository was archived by the owner on Sep 2, 2021. It is now read-only.
Project goals #193
Copy link
Copy link
Open
Description
I've been trying to think of ways to work on the project while we wait for async/await and the async library ecosystem to settle, and it occurred to me that there's never been any explicit statement of the goals of the project. It often comes up in discussions over Matrix and Twitter, but it'd be useful to have written down, both as a way to guide us during development and as a place to refer to people asking about the project.
Here are my initial thoughts about the project's goals:
What Ruma is
- A fully functional, interoperable Matrix homeserver with federation.
- A Rust library for consuming the Matrix APIs.
- A suite of libraries for building Rust software that integrates with Matrix.
Product focus
- Scale: the homeserver should support both small and large scale deployments.
- Performance: the homeserver should run with a minimum of memory and CPU load.
- Stability: Ruma software should minimize the possibility of unrecoverable runtime errors.
Improving the ecosystem
- Spec compliant: Ruma should be a forcing function for completeness and correctness of the Matrix spec. All information needed to implement Ruma should be unambiguously explained in the spec. Whenever implementation would require looking at the details of an existing implementation, the spec should be improved to clarify instead.
- Rust maturity: Ruma should be a proving ground for the suitability of Rust. The needs of the project should provide feedback upstream to the developers of Rust and Rust libraries to improve and stabilize.
I'd love to hear other people's thoughts about what they'd like Ruma to focus on.
Feedback about the organization and wording of the above goals would be appreciated, too!
Serkan-devel, maxidorius, Ralith, jpypi, strixaluco and 20 more