scratch repo for intrusive networking
1# `ergot`
2
3**Ergot is a messaging library that can run on a variety of differently sized devices, from large desktop/server PCs down to very small single core microcontrollers.**
4
5Ergot allows developers to enjoy a coherent network of devices, regardless of the size of devices, or transport mediums used to connect them.
6
7It includes **type-safe sockets**, **addressing**, and **routing**. In minimal MCU-sized configurations, it requires no allocator, and is `no_std` friendly. In larger PC-sized configurations, allocations may be used for performance and convenience.
8
9Ergot has grown out of the lessons of the `postcard` and `postcard-rpc` projects, and aims to (eventually) supercede `postcard-rpc` in functionality, with further inspiration from [AppleTalk](https://en.wikipedia.org/wiki/AppleTalk), an OSI-model protocol stack used on Mac computers in the late 80s and early 90s.
10
11Ergot is still very early in development. Bugs are expected. Help is welcome.
12
13## Community
14
15- [Join us on Matrix](https://matrix.to/#/#mnemos-dev:beeper.com)
16- [6 Streams a week on YouTube](https://www.youtube.com/@JamesOfficeHours/streams),
17 Monday, Wednesday, Friday
18 - Start of day at 10:30 CEST
19 - End of day at 20:00 CEST
20
21## Name
22
23The name "ergot" (pronounced "ur-get", or more specifically /ˈɜːrɡət/, UR-gət) comes from the [Ergot fungus](https://en.wikipedia.org/wiki/Ergot), a parasitic fungus that grows on grains such as rye, produces Lysergic Acid, the precursor of LSD.
24
25This name was chosen in line with the naming theme of the [mycelium](https://github.com/hawkw/mycelium/) project.
26
27## License
28
29Licensed under either of
30
31- Apache License, Version 2.0 ([LICENSE-APACHE](./crates/ergot/LICENSE-APACHE) or
32 <http://www.apache.org/licenses/LICENSE-2.0>)
33- MIT license ([LICENSE-MIT](./crates/ergot/LICENSE-MIT) or <http://opensource.org/licenses/MIT>)
34
35at your option.
36
37### Contribution
38
39Unless you explicitly state otherwise, any contribution intentionally submitted
40for inclusion in the work by you, as defined in the Apache-2.0 license, shall be
41dual licensed as above, without any additional terms or conditions.