commit 5a1d0f7
Artur Manuel
·
2026-08-17 14:42:17 +0000 UTC
parent 5a1d0f7
meta: init repository
3 files changed,
+51,
-0
A
LICENSE
+5,
-0
1@@ -0,0 +1,5 @@
2+Copyright (C) 2026 by Artur Manuel
3+
4+Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
5+
6+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+9,
-0
1@@ -0,0 +1,9 @@
2+# justsocial, a small, extensible activitypub server
3+
4+justsocial is an unimplemented ActivityPub server focused on being minimal, configurable and
5+extensible. It is a response to other fediverse servers that try to implement everything, and ends
6+up becoming complex as a result. justsocial tries to only do what it has to, but also offers
7+extensibility for those that absolutely require features we don't care about implementing.
8+
9+**This is currently not implemented. This is merely in the design phase, and will get an actual
10+implementation once we figure out what the hell we are doing.**
+37,
-0
1@@ -0,0 +1,37 @@
2+# justsocial's design
3+
4+## The problem, and why justsocial is being made
5+
6+The fediverse loves inflation, and the proof is in the ActivityPub implementations. Case in point:
7+Mastodon is written with Ruby on Rails, Wafrn, Misskey and therefore Sharkey are written in
8+TypeScript, with frameworks like Angular and React, and they all and GoToSocial and snac use SQL,
9+OpenSSL and even worse as dependencies. The problem is not that the Fediverse likes inflation, the
10+problem is that it's affecting our clients. The solution is to have a server embraces minimalism
11+and simple extensibility.
12+
13+### How to achieve minimalism
14+
15+(WIP)
16+
17+### How to achieve simple extensibility
18+
19+Of course, a minimal fediverse server will be boring as it will be missing many of the features
20+that are found in already established servers like Sharkey and Wafrn. It absolutely should stay
21+that way by default, but allowing users to extend it with a plugin system will be much neater than
22+forcing users to fork and maintain their changes with any new updates to our project. Furthermore,
23+it would save maintainers the extra effort and time spent on features that do not and should not
24+for our philosophy be in a Fediverse server.
25+
26+The solution to this is to have a plugin system for justsocial, allowing users to add their own
27+changes on top of justsocial. Plugins will be written in Lua, and stored in a structure similar to
28+this:
29+```
30+ plugins/
31+ - reactions.lua
32+ - .disabled-plugin.lua
33+ - status/
34+ - init.lua
35+ - util.lua
36+```
37+We personally expect users to check the plugins they use, and any security issue that happens as
38+a result of an evil plugin is not our problem.