Create `NetworkedSubstack`.
# giterated-protocol - Create `NetworkedSubstack` which will handle all networked operations giterated needs - Add support for `NetworkedSubstack` for both the daemon and client - Pipe everything through but leave APIs temp # `giterated-daemon` - Remove a bunch of random old code, dead code, and files that aren't needed. - Moved all connection handling to `client.rs`, simplified connection logic with new types
parent: tbd commit: 202bb12
Giterated is a federated solution for hosting, collaboration, and discovery for Git repositories.
There are many benefits to self-hosting your Git repositories, and Giterated makes it easy to do that without sacrificing the ease of collaboration and discovery centralized Git platforms provide.
Put simply: Giterated is GitHub for the Fediverse.
Want to join the Giterated ecosystem? You have two options:
Requirements:
This is the preferred solution for joining the ecosystem. See the Daemon’s installation documentation here!
You can create an account on any instance that accepts public sign-ups. Be aware that there may be limitations placed on your use. Make sure to register on an instance you can trust to a certain degree.
The main goal of Giterated is to make discovering and collaborating between self-hosted Git repositories as easy as centralized platforms.
Giterated is designed to be primarily used from the frontend of your chosen instance. Your instance will automatically route requests to other Instances where needed, displaying information from other instances seamlessly alongside local information.
Giterated uses realtime federation to keep every instance up-to-date on what repositories are available on other instances. This allows any individual Giterated Instance to search the entire Giterated ecosystem.
Giterated is made to be used. It’s important that your use case can be accomplished without unnecessary effort.
Check out our setup flow chart: (TODO).
You access the Giterated ecosystem mainly through your Instance, and you get to choose the frontend. Even when making use of Giterated’s federation, you will have a consistent frontend experience.
Giterated’s (link this) Plugin-based Architecture makes it easy to support custom use cases and integrations. Giterated’s default GitHub integration makes use of the flexibility this provides to allow collaboration with GitHub-native repositories.
A Giterated Instance is comprised of the following parts:
You can find the appropriate licenses in the repository, linked above to their identifier.
Feeling like there’s a conflict with our licenses and your use case? Consider Giterated’s rich plugin system that allows for easy extension of the daemon.
Our declaration of intent is NOT a promise, guarantee, or contract we are providing. Nothing stated in this section shall take precedent over the license, license text, or any other legally binding agreement. This is a plain english description of our intents, not a contract, license, or legally binding agreement.
Our intent is to foster a strong and compatible ecosystem of giterated frontend implementations, as well as foster the growth of services that are compatible with Giterated. We want you to be able to link any part of Giterated with your proprietary or closed source solutions without concerns over license violations.
With that in mind, we have chosen to license core parts of the Giterated Daemon with the MPL-2.0. This is because there is no expected value provided to the community through closed-source versions of the core components, as they are generic. We felt that licenses such as the GPL and AGPL may make potential adopters uneasy, and we encourage the slight bit of extra flexibility the MPL-2.0 provides for adopters who are interested in making modifications. License aside, please consider upstreaming any improvements you identify.
We have chosen to license the Giterated Daemon as MPL-2.0 to ensure it remains open and free for anyone to build and develop for. We similarly felt that licenses such as the GPL and AGPL may make potential adopters uneasy, and that we welcome the extra flexibility of the MPL 2.0. For extension of the Giterated Daemon, we have plans to support a robust plugin system that will also be used for the base functionality. You should not find yourself needing to change the Giterated Daemon to match your deployment environment, please let us know if you’re running into any issues.
We have chosen to license the Giterated protocol and “model” types as MIT OR APACHE-2.0 to ensure that cases where third parties are implementing support for Giterated’s protocol are protected. We do not feel like these crates require the higher standards of the MPL-2.0 to be met.