2
0
mirror of https://github.com/ComradCollective/Comrad synced 2024-11-17 21:25:37 +00:00
Comrad/README.md

107 lines
4.3 KiB
Markdown
Raw Normal View History

2020-08-06 10:39:56 +00:00
# Komrade
2020-08-05 09:15:10 +00:00
2020-08-23 22:01:16 +00:00
Komrade is a socialist network. It seizes the means of content production.
2020-08-05 09:15:10 +00:00
2020-08-06 11:17:13 +00:00
## Why another social network?
2020-08-23 22:01:16 +00:00
Is a 'socialist network' possible? Although the internet began with anarchic design principles, it quickly consolidated into the hands of a few of the largest corporations in the world. It has effectively recreated the capitalist mode of production within itself: the means of content production (social media platforms) are privatized while the work of production (posting) remains socially distributed. Exploitation inheres in that relation, whether in the industrial factory or the digital platform, because the value you produce is taken from you, concentrated and privatized.
2020-08-13 18:34:03 +00:00
2020-08-23 22:01:16 +00:00
But a digital network can be redesigned. The technology behind these social media platforms is actually quite simple. We can easily build our own social network, one which is secure, insurveillable, and unmonetizable—one which would give people the security they need to communicate about whatever they want, including protesting against capital and the state.
2020-08-06 11:17:13 +00:00
2020-08-23 22:01:16 +00:00
Social networks are weightless. They should be easy to communize.
2020-08-06 11:17:13 +00:00
2020-08-17 22:21:04 +00:00
## Core principles
2020-08-05 09:15:10 +00:00
2020-08-17 22:16:40 +00:00
### Encrypted
2020-08-05 09:15:10 +00:00
2020-08-17 22:16:40 +00:00
All of your data is strongly encrypted, and only you and those you choose will be able to decrypt and read it. To anyone without the right decryption 'key', the data is nonsense.
2020-08-05 09:15:10 +00:00
2020-08-17 22:16:40 +00:00
### Decentralized
2020-08-05 09:15:10 +00:00
2020-08-23 20:27:40 +00:00
Komrade doesn't live on a server, but rather in the ether between all the devices curently running Komrade. Rather than the hierarchical server/client relationship, which exposes the entire network to attacks on a central server, and expose the anonymity on both parties, Komrade uses peer-to-peer networking to 'flood' encrypted data across the network.
2020-08-17 22:16:40 +00:00
2020-08-23 20:12:57 +00:00
### Anonymous
2020-08-17 22:16:40 +00:00
2020-08-23 21:46:25 +00:00
It's impossible to tell who or sent what to anyone. All peers in the network share data randomly, but only the intended recipients have the right decryption key to unlock it. This is a different kind of cloud: a 'dust cloud' of strongly encrypted information. Ideally, for extra anonymity, all network traffic will be routed through Tor (a global maze of computers which hides your footprints), though this currently faces some serious technical challenges.
2020-08-17 22:16:40 +00:00
### Unmonetizable
What's untraceable is also unmonetizable: your data can't be harvested by technology companies and used for advertising algorithms. You're protected from both surveillance capitalism and the surveillance state.
2020-08-05 09:15:10 +00:00
2020-08-17 22:19:56 +00:00
### Open-source
2020-08-23 20:12:57 +00:00
Not just non-profit, we're anti-profit.
2020-08-17 22:19:56 +00:00
2020-08-17 22:20:33 +00:00
## Social media features
2020-08-05 09:15:10 +00:00
We present a simplified set of social media features drawn from everything that's out there and then some:
2020-08-17 22:21:04 +00:00
#### Profile
2020-08-05 09:15:10 +00:00
* Curate a profile with photo and posts (e.g. Twitter)
* Show profile to world (e.g. Twitter)
* Show profile only to friends (e.g. Facebook)
* Show profile only to your local area (e.g. Nextdoor)
2020-08-17 22:21:04 +00:00
#### Posting
2020-08-12 19:53:59 +00:00
* Post up to 1 image and/or 1000 characters
2020-08-05 09:15:10 +00:00
* Post to the entire world (e.g. Twitter)
* Post to your friends (e.g. Facebook)
* Post to your surrounding area by a distance radius (e.g. Nextdoor)
* Anonymously up-vote or down-vote posts (e.g. Reddit)
2020-08-06 11:22:53 +00:00
* Post anonymously or from your account (new)
2020-08-05 09:15:10 +00:00
2020-08-17 22:21:04 +00:00
#### Organizing
2020-08-05 09:15:10 +00:00
* Host events and invite others (e.g. Facebook)
2020-08-06 11:22:53 +00:00
* Host events like protests anonymously (new)
2020-08-05 09:59:15 +00:00
* Anonymously pin on a map sites of danger, like police (e.g. Waze)
2020-08-05 09:15:10 +00:00
2020-08-17 22:21:04 +00:00
#### Messaging
2020-08-05 09:15:10 +00:00
* Message securely with encrypted contents (e.g. Signal)
2020-08-06 11:22:53 +00:00
* Message securely with untraceable metadata (new)
2020-08-05 09:15:10 +00:00
2020-08-06 13:02:26 +00:00
## Progress
2020-08-23 21:46:25 +00:00
### Preview animation
As of the 23rd of August.
2020-08-09 10:33:35 +00:00
2020-08-23 15:09:12 +00:00
<img src="app/assets/komrade-screen-preview-2020-08-23.gif" height="600" alt="GIF animation" />
2020-08-06 13:02:26 +00:00
## Technical details
2020-08-05 09:19:38 +00:00
Design details are changing rapidly, but these are what we have so far.
### App
2020-08-17 22:31:46 +00:00
The cross-platform app is made with [KivyMD](https://github.com/kivymd/KivyMD), a variant of [Kivy](https://kivy.org/), a cross-platform mobile development framework in Python. Python is an easy and versatile progamming language to learn, which keeps the code accessible to as many people as possible.
2020-08-05 09:19:38 +00:00
2020-08-17 22:26:44 +00:00
### Database
2020-08-05 09:19:38 +00:00
2020-08-17 22:26:44 +00:00
The database is a [Kademlia](https://github.com/bmuller/kademlia) Distributed Hash Table, a p2p data store, written in Python.
2020-08-12 07:55:06 +00:00
## Install
### As developer
2020-08-12 07:58:21 +00:00
The usual installation:
2020-08-12 07:55:06 +00:00
```
git clone https://github.com/quadrismegistus/Komrade.git
cd Komrade
2020-08-30 14:08:21 +00:00
. script/bootstrap
2020-08-12 07:55:06 +00:00
```
Then run the client:
```
cd client
./run.sh
```
### As user
2020-08-30 14:08:21 +00:00
Coming soon.