[Discussion][RGP-22] - Start the Radworks Seed Network (RSN) Org
Author: | lftherios |
---|---|
Type: | Org |
Created: | 2024-02-12 |
Status: | active |
Purpose
The purpose of this org is to provide seed node services that makes hosting and fetching content from Radicle simple & performant for any developer.
Annual Strategy & Quarterly Objectives
Q1 2024
- Hire two engineers and bootstrap the team
Q2 2024
- Onboard new engineers
- Launch a production-ready centralised seed node service providing storage for Radicle projects and bandwidth, that is available for both FIAT and cryptocurrency payments.
A centralised seed node service for Radicle refers to a web-based service or server that allows users to access and retrieve content from the Radicle network through a centralized point of access. An example from the IPFS ecosystem is Pinata.
- Conduct and publish research on decentralised alternatives for content retrieval and assess their feasibility.
- Evaluate the viability and technical direction of a decentralised seed node network for Radicle.
Q3 2024
- Hire new team lead to replace Ele
- Iterate on the centralised offering based on user feedback and improve it’s reliability and UX
- Publicly release performance and adoption metrics for the centralised offering.
Q4 2024
- Continue refining the centralised offering in terms of performance, features and pricing.
- If applicable (see objective 4-Q1-2024), launch the first incentivised testnet for the decentralised service.
Organisational Structure
I’d like to propose that I kickstart this team. The objective would be to swiftly onboard three senior engineers to commence work on this topic. This also includes identifying and hiring a future team lead (one of the three hires) who will eventually succeed me in this role, as I already have a substantial workload to manage between Drips and Radicle.
With regards to the organisational structure I am planning to create a new Swiss Association (identical to what we’ve done with Public Goods Association for the Drips Org), but I am also open to other setups (org vs team under an existing org vs grant) so please contribute if you have opinions.
Communication
Website: A new website will be set up.
Discord: A new Discord server will be established.
Radicle: A new Radicle repository will be created.
We will attend and present our work at all Radworks community calls.
We will share quarterly updates, as every other team.
Reasoning & Analysis
My primary rationale stems from the following observation:
Radicle’s gossip-based peer-to-peer network suffices adequately in terms of performance for individual / hobbyist users. However, when considering professional developers, performance & convenience become significantly more crucial. Thus, there’s a high likelihood of demand for self-hosted or third-party gateways.
This trend mirrors what has occurred with IPFS, Scuttlebutt, or any other peer-to-peer network that gained adoption.
Why (Likely) Two Services
When it comes to this audience I believe that is wise to offer two services. The centralised offering should target convenience, while the decentralised offering should target a blend of censorship resistance and performance.
My thinking is this:
-
If you care about convenience: Radicle + 3rd party seed node > Radicle + decentralised network of seed nodes > Radicle’s gossip based network
-
If you care about censorship resistance for the content of your app: p2p gossip > Radicle + a decentralised network of seed nodes > Radicle + 3rd party seed node > db operated by a company
With regards to the decentralised offering that I describe above, my hypothesis is that there is a large number of well funded crypto related applications and protocols that care about censorship resistance but are looking for something more performant than p2p gossip and something more decentralised than relying on a single seed node (3rd party or self-hosted). I also believe this proposal enables us to manage risk appropriately, as the centralised service path is fairly trivial and will give us the opportunity to explore more innovative approaches for node coordination (the decentralised service) simultaneously.
Focus & Separation of Concerns
Establishing a dedicated team for seeds, allows the protocol team to focus on protocol development and serve all node operators impartially. The new team can concentrate on user-centric aspects such as UX, onboarding, community support, and customer service.
Try before you commit
As @yorgos wrote on the original discussion, it is a well established pattern for many open source projects to offer a hosted service as a quick way for end users to get acquainted with the project and try it for themselves before they decide to self-host and deal with the operational complexity of self-hosting.
End users are generally comfortable using such hosted services because:
- they can reduce the investment / learning curve on this new piece of software, as they have less to learn (i.e. it is not just “more performant”, it is also “easier to use”),
- they can find out if it is a good fit to their problem faster,
- it is a nice way to support financially the maintainers/creators of the project,
- there is no vendor lock-in, as they always have the option of self-hosting.
Equally, I think this will also help node operators in deciding whether they want to be involved with running Radicle nodes, because before deciding to offer / sell any service it is important to understand the service / features / advantages of whatever it is you’d be selling to your potential customers. Not having to self-host, to find that out, makes that path shorter.
Timing & Strategy
With Radicle 1.0 a few weeks away we have to start considering new challenges and opportunities. Bootstrapping a new team is something that always takes a lot of time (at best weeks, more realistically months), so I think it’s wise to start now in order to have a service in the market by the end of Q2.
As @yorgos wrote above, with Radicle essentially not having hit general availability yet, moving forward with this initiative will essentially lay a much smoother onboarding path for new users, assuming this new org is more focused towards that.
In addition, there is currently no established node operators network, so there is essentially no established competition between different entities at this point in time. If this happened 6 months in the future, when some hosting companies might have started investing in “hosted Radicle” services for their customers, such a move might be seen competitive to those community members. Doing this now allows us to set a different stage so that doesn’t happen.
This new organisation can also contribute valuable work to the community by providing documentation, deployment scripts, and operational know-how for deploying Radicle in various environments, addressing the current lack of information and limited deployment options.
Finally, achieving the centralised offering is in my opinion well within reach, and I have a high level of confidence in our ability to swiftly deliver a great service. An initial centralised offering will provide the necessary resources and time to thoroughly investigate the demands and viability of the decentralised offering. While the decentralised option is more intricate and ambitious in nature, it strongly aligns with Radworks’ values and overarching goals. I also think that this is the most natural sustainability model for Radworks and I am excited for Radworks to move beyond its current form.
Reporting & Success Criteria
The main success criteria for 2024 should be to:
- build the team
- ship the v1 for the centralised offering
- decide on direction for the decentralised offering and execute
Later in the year we will provide a lot more detailed metrics for each service with a focus on performance, user adoption and revenue.
Timeline & Budget
I am requesting $544,520 to be paid fully in RAD. Using last 30 days’ average closing price based on Radworks USD Historical Data | CoinGecko that would mean 289639 RAD. Break-down below:
Total Budget | $544,520 |
---|---|
Marketing | $65,162 |
Team Offsites | $4,000 |
Accounting | $7,678 |
Operational expenses | $3,190 |
Contributors | $464,789 |
Fund Management
I will set-up a multi-sig to receive the funds and I am currently discussing who the signers should be, until I onboard new contributors.
Technical Implementation
The actual code will be added during formal review.
Finally I would like to thank @yorgos @vanton @cloudhead and everyone else that participated in the conversations on the forum & Discord. This proposal started from a personal idea and was co-developed in the open based on all of your feedback.