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

[DISCUSSION] [RGP - 23] - Start the Radicle Integrations & Tooling Org

Author(s): @yorgos
Type: org
Created: 2024-03-11
Status: active

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 the Growth 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 581 750 USDC, we are requesting:

Breakdown below:

Total Budget USDC 581 750
Team Offsites USDC 20 000
Operations, Accounting & Fiat Conversion fees USDC 37 500
Contributors USDC 524 250

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.

6 Likes

Hey @yorgos + team - thanks for the detailed proposal!

Regarding the budget, when do you plan to have these numbers finalized? This will be critical information for the community to have before voting on the proposal.

Hi @shelb_ee ,

thanks - good point!

Considering we are exploring similar setups as the other orgs, we are expecting the yet-undefined accounting + operations costs to work out similarly, somewhere in the 20-40K USDC range. We are expecting to have this finalised by the end of this week, so we moved forward with this submission, so we can draw initial feedback, as we finalise these discussions in the background.

1 Like

Hey @yorgos ! Exciting to see this proposal back up on the forum! A couple comments and questions below:

Love this focus! I believe it would be really valuable to dedicate more resources to engaging users, generating feedback, and establishing a process for channeling that to the right development teams.

I really appreciate how you’ve enframed the Integrations & Tooling Org within the Radicle ecosystem. It makes a lot of sense to me. The only open question I have is how we do we seethe Integrations & Tooling team will work alongside/interact/inform the Radicle Org contributors maintaining the clients (web/CLI)? My gut (which may be off due to missing context) is that the feedback gathered from your user research sessions could be really valuable to client devs and I’d want to make sure there’s clear communication pathways between the teams! Since all of the Orgs work will happen in Zulip I am sure that the right information will get to the right contributor, but would love to hear any other thinking you’ve done on how to tighten up the feedback loop.

Since some of this tooling is live, do you have any usage metrics you can share?

Looking forward to discussing more during the proposal review call today! :space_invader:

1 Like

Hi Yorgos and Team,

Thank you for putting together a thoughtful proposal!

Because the purpose of your Team’s work is to make onboarding to Radicle more accessible and increase adoption, I agree that it’s great to see the emphasis on collecting feedback from and conducting interviews with (Radicle) users. I do hope that you’ll publish summaries of this work and its learnings on this forum. I will be interested to hear more about your general usage metrics going forward :slight_smile:

Question: How do (Radicle-excited) devs currently find your tools?

This is a recent reaction I’m proud of:

https://twitter.com/tjstebbing/status/1767421947703607626

Worth mentioning that the person commenting is the Product Lead of the Dogecoin Foundation.

It’s notable how even though he was visibly excited about Radicle, he was also looking for specific integrations and tools which he enumerated. It so happens that most of what he listed is an exact match with what we’re already building. And in fact, we’re working on a broader set of integrations and tools than that, which cover a broader set of user needs.

2 Likes

Hi @maninak!

This is great! And I’m so glad you shared :slight_smile: Though my question was actually about how devs locate your tools. Where/how do they find your tools? What is their entry point?

Hello @ange,

When it comes to locating IDE plugins, developers can find them through the designated marketplace.

Take a look at these links:

JetBrains marketplace: https://plugins.jetbrains.com/plugin/19664-radicle
Visual Studio marketplace: Radicle - Visual Studio Marketplace

I think we need more channels to advertise our tools but this is a start.

1 Like

Thanks to everyone who joined the Proposal Review call last night! :seedling: :writing_hand:

:video_camera: Here is the link to the recording. The presentation and discussion around this proposal starts at minute 6:18. See video description for detailed timestamps.

In addition dropping a few notes and questions from the discussion related to this proposal below:

Question: How does this work impact what the Radicle team already had planned for onboarding initiatives?

  • The Radicle team has been improving onboarding resources, such as revamping the Radicle website and publishing the new Radicle User Guide. The Radicle Integrations & Tooling team is more focused on building additional tools/integrations for third-party tooling to lower the friction to onboarding to Radicle for devs who use these platforms.

Question: Do you plan to include usage metrics for current tools/integrations and track that usage over time?

  • The metrics in the proposal focus more on qualitative metrics for now, reflecting feedback received during the drafting of the proposal. Given the fact that many quantitative metrics will ultimately be tied to Radicle’s success and adoption. However, there are metrics that can be included from the existing plugins (download stats of the JetBrains ID and VS code) . @yorogs is planning to include those in the final proposal.

Comment: A few folks discussed that it might be a good idea to make the tools and integrations from Yorgos’ team more visible so folks know they are there. Some ideas included: link their repo to the Radicle docs, a blog post outlining existing tooling/integrations, include announcements of tooling/integrations on the Radicle Twitter page, etc. This doesn’t need to be an official part of this proposal, but a lot of folks were interested in kickstarting efforts here on the side.

Question: When can we expect to see the final budget numbers?

  • They are aiming for Friday
1 Like

Excuse me, @ange , I answered by mistake as if you had asked “how are they finding your tools”, in the sense of “what is their reaction to them”.

Absolutely!

Both plugin/extension marketplaces (for Jetbrains IDEs and for VS Code) do provide some analytics. They are mostly focused around page views and downloads (and not actual use of the plugin), but hopefully they will help paint an overall picture:

Radicle Jetbrains Plugin

Radicle VS Code Extension

1 Like

Hey @abbey

Thanks for the great questions!

First of all, I’m not sure if everyone is aware of this, but the Radicle Org is already gathering feedback from users through user interviews that have been happening in the past few weeks/months. Daniel is leading that work and has been sharing the output from these interviews in a private channel on zulip that I am also a member of (so I have access to that user feedback). I think I forgot to mention this explicitly on the call yesterday ( cc @brandonhaslegs ) - focusing my answer on just the outcome of this work - but I think it’s important you all know this is happening behind the scenes: there is good work happening there!

We also plan to share the feedback we get for our tools (and Radicle overall), in the same way, so that we all have access to the same information. It just remains to be seen whether we’ll use that same exact channel, or some other way of sharing that. But, yes, we very much want to make sure we all have access to this information!

In addition, we’ve discussed with @lftherios (RSN org) that we both also plan to exchange feedback between our two teams. I very much expect a smooth collaboration here too!

1 Like

Hi @shelb_ee (and everyone),

I have now edited the proposal to update the receiving legal entity and the final budget.

Looking forward to any additional comments or questions with regards to this proposal!

3 Likes

I would support this up to $250K total. The Radicle org’s budget being under $2M currently, I don’t think third party tooling and integrations should account for more than 10% of the total investment into Radicle.

@cloudhead can you break down the Radicle’s org budget by the following?

  • protocol + cli
  • web-client + TUI
  • CI
  • anything else

Yeah, we had a private conversation with yorgos and briefly I’ll recap what I told him that I didn’t have time to write this morning:

The 10% figure comes from how I would think about integrations/plugins etc. if I had to hire for my team.

Currently this is the amount of people we have allocated on the team, roughly:

  • protocol + cli: 2
  • ci: 1
  • web-client + tui: 3
  • ops + content + strategy: 1

There’s about 10 people, but since not everyone is full-time, it adds up to about 7 full time people.

So looking at the above, I wouldn’t be able to justify more than 1 full-time person on integrations. This would cost something like $125K/year. Trying to find some kind of middle ground, I’d support this up to $250K/year, which could allow two people to work on it potentially (as many as we have on protocol and cli), depending on costs and salaries.

In time, I think it’ll make sense to invest more in integrations (as well as web, protocol etc.), but right now, accepting this proposal would feel off-balance.

This is an interesting perspective. Looking at the integrations team breakdown, they come out to 4 people as full-time – 3 actual full-time and the rest coming to 1 full-time.

I’d argue that it worth be worth pushing the budget a bit higher for a couple of reasons:

  • This team are heavily working on CI code, as far as I’m aware. This benefits the Radicle team and provides an overlap of their team and ours – so we could say “ci: 2” if we include the integrations team.
  • The planning board is something that would be very useful to invest in because it would empower us to collaborate more effectively as a team as well. I’m sure @zlatan, and most of us really, would love to a higher level view to help managing the project. So I see that as an investment for us as a team.

I would say that a higher budget is worth keeping these good developers working alongside us, and also encouraging them to work on some heavier lifting within the heartwood code base itself too.

I played around with the numbers in a spreadsheet here – you can edit the Total Budget value to see expected compensation outcomes. Perhaps 524,250, is rather high but it seems like 250,000 is quite low, imo. 350,000 seems like a more fair number. I think it’s important to note that this budget is only for 3 quarters as well, unless I’ve miscalculated :slight_smile:

Hi all (I think this is my first comment here, yay).

I can’t debate the numbers too much as I didn’t look hard into them but I want to put some perspective on things from my point of view.

I came here because of an idea and decided to stay to help build the actual product. We are coming close to having a good core which will be a big milestone in itself, but we must look further. Willing or not, we will go against the likes of Github, Gitlab, Gitea and people will compare us to them. Today any serious Git forge needs to have a CI, period. While I am not a user of them, many will also want to have code extensions (we did see these requests already during the interviews). Making it easy to migrate is another big user friendly step that helps with adoption. And last, but not least - a planning board, or issue management is a big step for our future development - even now, as a small team, with not super intensive workload, we still are missing this quite a bit as without it, unless you’re on top of it, you’re not sure where the project is, where it needs to be and how to come to that point.

If we wait for adoption before we invest, I am afraid we might end up with a chicken and egg problem - we will never invest because we do not see adoption and retention, and we will not see adoption and retention if we are not having tools that people need for a modern git forge.

I have built products in my career and worked as a one man band, all up to collaborating with teams from Google, Amazon, Intel, IBM. For Radicle to be a successful project, we need these tools rather sooner than later, we need them well integrated into our offering/marketplace and we need them as a project (the issues board would help me to properly organize our work which would make us more productive for less time spent on average on each issue - efficiency).

Again, I can’t debate the numbers now as that would require a bit deeper investigation on my side, but if the blocker is “not sure if we should do it now, or is it worth it, or let’s wait for adoption”, I can firmly state that we should do it now, it is extremely worth it and we will miss much higher adoption (and retention) if we don’t do it now that we are close to v1.0 release.

Just my 2 cents, but talking from an experience.

5 Likes

Thanks for the feedback and additional thoughts here folks!

Thanks for the kind words! I do want to say in return - and for the record - that we are very appreciative of the support and encouragement we’re getting from the core team members ! Happy to get more involved, as required! :raised_hands:

It seems to me that playing around with the numbers in this spreadsheet only helps show how much less each individual contributor would be making with this reduced budget. :confused: I don’t see how this helps us decide on the overall budget to spend, which is the real point of discussion here. If there are concerns that our team’s contributors are highly paid, I’d expect a comparison of average rates across orgs to help highlight whether that is the case or not. :wink:

I think this is the main point of disagreement here. We believe the additional budget would make sense now, whereas you see it further in the future. I don’t think we disagree on the value of the work, it’s more a matter of timing.

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.

For posterity, I will state here our reasons of disagreement, more as food for thought for the evaluation of future proposals:

Finally, one of the hottest leads that is now preparing to run a public Radicle node for their Open Source Software (OSS) projects (Dogecoin Foundation), after being prodded by @bordumb , requested CI Integrations and VS Code support [see tweet].


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.

@shelb_ee I’d appreciate your help and guidance on any additional actions that may be required from our side with regards to moving this proposal forward.

Thank you all again for your time and support!

4 Likes

Thank you for sharing these clarifications @yorgos. Please refer to my note on the RGP-23 Formal Review post.

1 Like