Author(s): | @yorgos, @vanton |
Type: | executable |
Created: | [2024-03-18] |
Status: | active |
Discussion: | [DISCUSSION] [RGP - 23] - Start the Radicle Integrations & Tooling Org - 2024 |
This is the official Formal Review draft for RGP-23. Please formally review the proposal and vote in the Snapshot poll by 17:00 CET - Monday, March 25th 2024
Snapshot Poll Results : This proposal has PASSED with 5.1M $RAD in support of the proposal. See final results: Snapshot
It will be submitted onchain this week for a final vote.
TL:DR; In response to the feedback on the first draft of this proposal, weâve incorporated the following changes in this version (they were also added as edits to the original discussion post):
- finalised legal structure section, with regards to the entity receiving the funds,
- finalised budget section, taking into account the aforementioned legal entity.
Purpose
Code collaboration platforms (a.k.a. forges) exist to facilitate collaboration between the different people who work on a project. This collaboration can take many shapes, forms or sizes and - importantly - involve a vast range of tools that different teams choose to base their workflow on. Currently, Radicle supports virtually no integration with these tools.
The focus of this new org will be to integrate the Radicle Forge with other developer tools. The main goal is to lower friction for developers who want to migrate to Radicle, by allowing them to keep their existing workflows. This will bring easier user onboarding (i.e. quicker adoption) as well as user retention.
Annual Strategy & Quarterly Objectives
We are presenting only a very high-level view of how we currently see the roadmap ahead, with regards to continuing our work in Integrations & Tooling. We expect that we will most probably change and adapt this roadmap, based on user feedback that we will collect along the way. For this reason, we present explicit âuser researchâ objectives in each quarter, in our journey towards âoutcomes, not outputsâ (read more).
Q2 2024
Begin User Research:
- Establish a process for collecting feedback / conducting user interviews that use Radicle Integrations & Tooling we develop.
- Actively engage with users who are already interested in Radicle / ask questions about our tools (Zulip, Twitter, etc.)
- Identify 6 users to interview (across all tooling / integrations)
- Come up with list of tasks to ask users to complete
- Plan and go through interviews, recording feedback
- Channel feedback to the right team (RSN, RIT, Core)
- Create issues for respective team with feature requests / bugs / improvement proposals
Development Roadmap:
(expand each section for details, as necessary)
Planning Boards:
- Move persistence from issue labels to new Collaborative Object (COb), with new httpd endpoint for cob manipulation
- Add option to show not only issues, but also patches on the boards, for a more lightweight workflow - not always requiring the creation of an issue(!!).
- Help onboard users to planning boards, etc.
CI Integrations:
- Evolve integrations to report back external CI job results to the protocol, as opposed to simply as patch comments.
- More stable and resilient broker + adapters.
- Expand docs and deployment methods for broker + adapters (CI Integrations).
- Support community users with onboarding to integrations
IDE Tooling:
- VS Code:
- Creating, Reviewing and Merging Patches directly from the IDE.
- Radicle Notifications: Add support for Radicle Inbox
- User onboarding and support
- Jetbrains IDEs:
- Revision Reviews
- Show status of radicle-node / radicle-httpd inside IDE
- Radicle Notifications: Add support for Radicle Inbox
- Support users with issues, help with onboarding, etc.
Q3 2024
Continue User Research:
- Refine process for collecting feedback and conducting interviews with RIT users
- Aim for 9 user interviews
- Adapt the roadmap below based on Q2 feedback
Development Roadmap:
(expand each section for details, as necessary)
Planning Boards:
- filtering: to allow finding issues faster, or displaying only certain relevant features on the board (e.g. ones that have a specific label)
- âautomationâ: an issue/patch getting automatically moved to another column after a specific event (patch merge, approval, label is added/removed, time, etc). Here we could perhaps leverage Radicle Inbox, ask for missing features in it if we need any or run our own diffing algos on the patch entity.
- look into progress charts ( e.g. ~burn up chart~)
- support board users with issues, help with onboarding, etc.
CI Integrations:
- Priority given to integrations requested by onboarded users. Otherwise:
- look into tekton integration (to allow support for re-usable tasks https://hub.tekton.dev/ )
- Dependabot / depfu / renovatebot integrations for automated dependency updates
- Quay.io (for depositing container images)
- Support community users with existing integrations
IDE Tooling:
- VS Code:
- Add support for Issues.
- Inline commenting and discussions on Patches.
- User onboarding and support
- Jetbrains IDEs:
- Design / UX improvements, based on user feedback.
- Add CI Checks to Patches, as they become available in Radicle itself.
- Support users with issues, help with onboarding, etc.
Q4 2024
Continuous User Research:
- Continue refining process for collecting feedback / conducting interviews with RIT users
- Aim for 12 user interviews
- Adapt the roadmap below based on Q3 feedback
Development Roadmap:
(expand each section for details, as necessary)
Planning Boards:
- milestones and custom fields,
- linked issues / grouping into âepicsâ,
- configurable board (visible fields, sorting, grouping, etc.)
- support board users with issues, help with onboarding, etc.
CI Integrations:
- Priority given to integrations requested by onboarded users. Otherwise:
- Artifactory or Nexus integration (for general artifacts)
- redocly (automated docs generation)
- IM tools (slack, mattermost, discord)
- Support community users with existing integrations
IDE Tooling:
- VS Code:
- Add CI Checks to Patches
- Optimize Onboarding UX for new Radicle users
- User onboarding and support
- Jetbrains IDEs:
- Maintenance
- Support users with issues, help with onboarding, etc.
Organizational Structure
Legal structure
Corporate entity (Cytech Ltd) based in Greece, with @vanton as managing director.
(This is the same company that has been receiving previous grants through the Grants Org.)
Contributors
The Radicle Integrations & Tooling team comprises of the following members:
- Yorgos Saslis (team lead - full time)
- Vagelis Antoniadis (operations - 10% part time)
- Ioannis Christodoulou (Jetbrains IDE plugin, Radicle Broker and Heartwood contributor - 30% part time)
- Stelios Mavrommatakis (Jetbrains IDE plugin - 25% part time)
- Kostis Maninakis (VS Code Extension, Planning Boards - full time)
- Michalis Zampetakis (Integrations - full time)
- Zacharias Fragkiadakis (Planning Boards - 25% part time)
- Themistoklis Dakanalis (Migration Tooling - 10% part time)
This is the same team that delivered the other Radworks Grant-funded work, as highlighted in the âTrack Recordâ section below.
Communication
- Channels: We will use the same channels as both the Radicle Org and RSN (Zulip and Discord), to ensure we can listen to all incoming feedback from Radicle users.
- Radicle: All code repositories will be hosted on Radicle.
- Licensing: All code will be published with a Radworks-compatible Free/Libre and/or Open Source Software (FLOSS) license.
- We will attend and present our work at all Radworks community calls.
- We will share quarterly updates, as every other org.
Reasoning & Analysis
Alignment with other Orgs
Our strategy is aligned with that of both the Radicle Org and the Radicle Seed Network Org (RSN), as we are all working towards what external developers conceive as the âRadicle Forgeâ: sovereign code collaboration infrastructure.
Here is an overview:
By helping remove hurdles for onboarded users and helping provide a better overall developer experience on Radicle, we believe this Org can contribute to both the Growth and Retention of the Radicle user base and therefore to the long-term resilience, sustainability and growth of the Radworks ecosystem.
In more detail:
Radicle Org:
- Focused on protocol side of things
- Provides all the necessary tooling to end users
Radicle Integrations & Tooling Org:
- End user focused
- Focused on smoother user onboarding, by removing adoption hurdles (e.g. missing integrations)
- Builds richer developer experience, through any (optional) additional tooling that falls beyond the scope of the Radicle Org and springs up as a requirement from onboarded users
Radicle Seed Network (RSN) Org:
- Provides optional hosted service to end users, for convenience
- Can use RIT projects (CI integrations, Planning Boards) that complement its offering to end users
- Can request features from RIT team to support onboarded users
Track Record - Work so Far
The team behind this Org proposal is the same team behind a number of Grants from the Radworks Grants Org that is now âgraduatingâ into requesting more long-term funding directly from the Radworks community.
We have already built a number of tools that have become a part of the overall Radicle Forge offering:
- Radicle CI/CD Integrations: users who want to switch to Radicle can already use the following external automation systems for their Continuous Integration / Continuous Delivery (CI/CD) workflows:
- GitHub Actions
- Kraken CI (via outgoing webhooks)
- Concourse CI
- Woodpecker CI
- Radicle IDE Plugins: developers who use Integrated Development Environments (IDEs) as part of their everyday tooling, can already use Radicle directly from their IDE, which is a local-first tool, just like Radicle.
- Migration Tooling for GitHub Issues: a command-line application that can transfer all GitHub issues (and their history) to Radicle Issues, making the migration to Radicle considerably more realistic.
- Radicle Planning Boards: a web-based view of a Radicle projectâs issues that enables better planning and issue management, for teams already relying on Kanban or Kanban-like boards. (Repo).
With this proposal, we are requesting that the Radworks community continues to fund our teamâs work on the Radicle Forge, alongside the other two teams making up the overall Radicle Forge product.
Reporting & Success Criteria
The Radicle Integrations & Tooling Org will publish monthly financial reports on Radworks-granted funds spent by the Radicle Integrations & Tooling Org.
Our success criteria:
- User Ratings / Satisfaction
- For tools with a review system (e.g. IDE Plugins), aim for at least 4 out of 5 star rating overall
- Any question asked about our tools on zulip, answered within two business days (outside of team holidays, etc.)
- Any critical or important bug looked at and prioritized within 1 week
- Published ~Value Proposition Canvas~:
- focused on each tooling category,
- based on feedback from user interviews,
- with users from at least 2 distinct segments
- User-driven roadmap:
- 100% of user-reported issues / suggestions are recorded and prioritized on the backlog,
- 100% of roadmap items clearly capture if they are requested by users,
- 50% of next quarterâs roadmap is user-requested or validated against user feedback.
Timeline & Budget
The funds below are expected to cover the following costs through the end of December 2024.
Of the total budget of 356 988.63 USDC, we are requesting:
- 50% of that to be paid in USDC - i.e. 178 494.31 and
- 50% to be paid in RAD. Using the last 30 daysâ average closing price based on https://www.coingecko.com/en/coins/radworks/historical_data that would mean 80 488.70 RAD.
Breakdown below:
Total Budget | USDC 356 988.63 |
---|---|
Team Offsites | USDC 10 000 |
Operations, Accounting & Fiat Conversion fees | USDC 23 245.01 |
Contributors | USDC 323 743.62 |
Like the other Orgs in the Radworks ecosystem, the Radicle Integrations & Tooling Org will publish monthly financial reports on Radworks-granted funds spent by the Org.
Management of Funds
DAO funds will be received on a 2-of-3 multisig (Safe) with @yorgos and @vanton as signers and a third key deposited in a safe deposit box, with access from either signer.
Contributors will be either employees or external contractors to the receiving company and will be paid on a monthly cadence.
The Radicle Integrations & Tooling Org - also the âGrant Recipientâ of Radworks, if this proposal is passed - hereby agrees to use the amount granted by Radworks in support of fulfilling the purpose outlined in the âPurposeâ section above. The Grant Recipient understands and acknowledges that the awarded amount may be used only for this Purpose. Furthermore, any part of the grant that goes unused in the calendar year outlined in this 2024 proposal will either be returned to the Radworks Treasury (by March 2025) or rolled over into and applied towards the Orgâs 2025 grant from Radworks.
Technical Implementation
If executed, this proposal will:
Transfer 178 494.31 USDC and 80 488.70 RAD from the Radworks Treasury to a multi-sig controlled by the Radicle Integrations & Tooling Org to support the remainder of our 2024 development work on Radicle.
Notes
0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
is the USDC contract (https://etherscan.io/token/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48).0x31c8eacbffdd875c74b94b077895bd78cf1e64a3
is the RAD contract (https://etherscan.io/token/0x31c8eacbffdd875c74b94b077895bd78cf1e64a3).0x8da8f82d2bbdd896822de723f55d6edf416130ba
is the Radworks Treasury address.0xBC60231C54710B018e3a5b00d9D9c4f99C581dFc
is the Radicle Integrations & Tooling Multisig
ACTIONS
0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 0 "transfer(address,uint256)" 0xBC60231C54710B018e3a5b00d9D9c4f99C581dFc 178494310000
0x31c8eacbffdd875c74b94b077895bd78cf1e64a3 0 "transfer(address,uint256)" 0xBC60231C54710B018e3a5b00d9D9c4f99C581dFc 80488700000000000000000