[Formal Review][RGP - 23] - [Start the Radicle Integrations & Tooling Org - 2024]

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 :rotating_light: 17:00 CET - Monday, March 25th 2024 :rotating_light:

:sparkles: Snapshot Poll Results :sparkles:: This proposal has PASSED :white_check_mark: 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:
  • 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:

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

ACTIONS

0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 0 "transfer(address,uint256)" 0xBC60231C54710B018e3a5b00d9D9c4f99C581dFc 178494310000
0x31c8eacbffdd875c74b94b077895bd78cf1e64a3 0 "transfer(address,uint256)" 0xBC60231C54710B018e3a5b00d9D9c4f99C581dFc 80488700000000000000000
2 Likes

Given the Grants Program’s support of your work over the past, this proposal seems like a natural transition that I am in full support of.

Your proposal for Integrations & Tooling is crucial; it’s exactly what we need to attract and retain users in the Radicle ecosystem by offering the tools developers expect. It’s really going to lay the foundation for tooling that “just works” and makes switching to Radicle that much easier for everyone.

A huge shout-out to @yorgos, @vanton, and their team for their steadfast commitment to this work. Despite some tough lessons in governance recently, your perseverance has not only enriched our immediate work but also laid a solid foundation for future contributors. The strong precedent we’re setting here gives a tangible framework for future contributors to onboard to our ecosystem, which is invaluable.

4 Likes

:information_source: IMPORTANT UPDATE: :information_source:

Further discussion and debate regarding the proposed budget took place on the Discussion post for this proposal (starting with this comment). As a result, the proposal author @yorgos has decided to make the following changes to the budget:

"So, even though we clearly see things differently here, and after our offline discussions and negotiations since yesterday, we will “disagree and commit” [1], requesting a reduced budget of 350K USDC in total.

[…]

With that said, and despite our disagreement on the overall amount, we remain committed to Radicle’s success and want to continue contributing towards that. I will proceed to edit the formal review post and adjust the requested amounts to the reduced budget, hoping that this will be enough to reach quorum and get this proposal passed in the current voting cycle."

ATTENTION PROPOSAL AUTHORS:
@yorgos @vanton please update the budget on this proposal and adjust the proposal code as needed!

ATTENTION VOTERS & DELEGATES:
The Snapshot poll for RGP-23 will remain the same. If you have not already voted, please cast your vote with this new budget in mind!

Hi @shelb_ee,

We are done editing the requested amounts.

1 Like

:sparkles: Snapshot Poll Results :sparkles:

This proposal has PASSED☑️ with 5.1M $RAD in support of the proposal. It will be submitted on-chain this week for a final vote.

See final results: Snapshot

1 Like