LWN: Comments on "Radicle: peer-to-peer collaboration with Git" https://lwn.net/Articles/966869/ This is a special feed containing comments posted to the individual LWN article titled "Radicle: peer-to-peer collaboration with Git". en-us Tue, 30 Sep 2025 21:12:32 +0000 Tue, 30 Sep 2025 21:12:32 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net Radicle: peer-to-peer collaboration with Git https://lwn.net/Articles/990949/ https://lwn.net/Articles/990949/ Spudd86 <div class="FormattedComment"> Oh, found it, it's funded by a crypto company, but this project doesn't use it for anything. From the FAQ:<br> <p> What is the relationship between Radicle and the Radworks ($RAD) token?<br> <p> Radicle is a true peer-to-peer protocol. It doesn’t use nor depend on any blockchain or cryptocurrency.<br> <p> Radworks, the organization that has been financing Radicle is organized around the RAD token which is a governance token on Ethereum.<br> <p> </div> Thu, 19 Sep 2024 22:19:12 +0000 Radicle: peer-to-peer collaboration with Git https://lwn.net/Articles/990947/ https://lwn.net/Articles/990947/ Spudd86 <div class="FormattedComment"> I'm confused about your assertion of the existance of a crypto currency token. I don't see any mention of one.<br> <p> It uses cryptographic identities, but that has nothing whatever to do with crypto currency or NFTs.<br> <p> It's peer to peer and distributed in the same way that git is. It verifies things with normal crystallographic signatures, as already commonly used with git.<br> </div> Thu, 19 Sep 2024 22:14:49 +0000 Radicle: peer-to-peer collaboration with Git https://lwn.net/Articles/989693/ https://lwn.net/Articles/989693/ stephenjudd <div class="FormattedComment"> I also misread as Radicale (which I use) when I skimmed the home page. It is unfortunate. But software names are a very crowded space these days, so I forgive.<br> </div> Wed, 11 Sep 2024 03:44:57 +0000 Radicle: peer-to-peer collaboration with Git https://lwn.net/Articles/989626/ https://lwn.net/Articles/989626/ ceplm <div class="FormattedComment"> The answer is in my opinion to use something which actually works right now. For example, SourceHut … yes, git repository, very simple TODO list, and email lists.<br> </div> Tue, 10 Sep 2024 14:23:44 +0000 Radicle: peer-to-peer collaboration with Git https://lwn.net/Articles/978368/ https://lwn.net/Articles/978368/ shackra <div class="FormattedComment"> I wonder if decoupling user identities from nodes could be like Nostr, where nodes are like the relays and each user can own their identity as a private key 🤔<br> </div> Fri, 14 Jun 2024 13:28:18 +0000 Radicle: peer-to-peer collaboration with Git https://lwn.net/Articles/973598/ https://lwn.net/Articles/973598/ zaitseff <blockquote> <p>Immutability of data: Having an everlasting, unchangable, signed database anyone can write to is rarely actually desirable.</p> </blockquote> <p><a href="https://github.com/SKS-Keyserver/sks-keyserver">SKS Keyserver</a> had exactly the same problem: once a public key, or part of a public key like an additional signature, was added, it could not be removed. Worse, IIRC anyone could add such material to <em>other people's</em> keys—up to and including JPEG images of who-knows-what… Many keyserver operators, myself included, left the keyserver pool for this or similar reasons.</p> Tue, 14 May 2024 00:31:48 +0000 Radicle: peer-to-peer collaboration with Git https://lwn.net/Articles/970696/ https://lwn.net/Articles/970696/ massimiliano <p> Disclaimer: Radicle is very dear to me mostly because I worked full time on it for most of 2020. I have been following it since then but I am no longer active in the project. </p> <p> I have two main gripes with it: <ul> <li> it should use plain, eventually centrally hosted git repositories as backing store for "nodes": this would allow <i>existing</i> git projects stored <i>anywhere</i> (including github, gitlab and other forges) to join the Radicle network as valid node copies, even if they cannot speak the p2p gossip protocol, mostly eliminating the barrier to entry for new users </li> <li> it should have properly decoupled user and node identities from the start: any user might want to use multiple developer workstations and still keep their identity; not supporting this use case also raises the barrier to entry "too much" for most potential users </li> </ul> </p> <p> I really believe in the project goals, but when working inside the team I have not been able to steer the project in those two directions. I still consider this a personal failure of mine (or at least a big missed opportunity). </p> <p> About directly supporting sharing repository contents using git repos hosted "anywhere", I proposed it but the idea went nowhere: the p2p protocol was too central to the "node" idea (with all the hosting issues and eventual firewall-piercing technical hurdles that it implies). <br></br> I also clearly stated that the overall tradeoffs between energy efficiency, costs and reliability with a totally distributed system are terrible. There are good reasons why most forges (starting from github) can give away reliable git storage space for free, and getting that pervasive level of adoption with a p2p system IMHO is between "too hard" and "plain impossible". <br></br> However, this idea was not understood and went nowhere. </p> <p> About the second issue, decoupling personal user identity from node identity was literally the first thing I tried to do in the project, with technical proposals and pull requests. In this case the complications I was adding were "too large", and we ultimately decided we were not able to work together (for this and other reasons). <br></br> I am sorry to see that also this idea of mine did not make it (even if it is considered for post-1.0 work). </p> <p> That said, the project is solid and provides something that is sorely needed, and I really like all the team members I have met at the time; working with them has been a wonderful experience despite the disagreements! <br></br> I am <i>still</i> convinced that the <i>only</i> way to mass adoption would be allowing plain github repos to participate in the network as "passive", "data-store" nodes. <br></br> But I <i>still</i> wish the project good luck with all my heart! </p> Mon, 22 Apr 2024 11:47:04 +0000 Radicle: peer-to-peer collaboration with Git https://lwn.net/Articles/969551/ https://lwn.net/Articles/969551/ Cyberax <div class="FormattedComment"> You can check the IPv6 stats for Google here: <a href="https://www.google.com/intl/en/ipv6/statistics.html">https://www.google.com/intl/en/ipv6/statistics.html</a> - it's very sad.<br> <p> <span class="QuotedText">&gt; Maybe I missed it and could do a little more research but does the application work with IPv6 addresses because that can restore peer-to-peer connectivity</span><br> <p> It won't. IPv6 in practice behaves like NAT, you need both peers to somehow communicate their decision to their firewalls. You can't just randomly connect to a port of an IPv6 peer and expect it to work. This is especially true for mobile devices, which form the main IPv6 deployment pool right now. <br> </div> Fri, 12 Apr 2024 01:45:51 +0000 Radicle: peer-to-peer collaboration with Git https://lwn.net/Articles/969495/ https://lwn.net/Articles/969495/ Wol <div class="FormattedComment"> If you mean what I think you mean, maybe it's just not used now because there's no need?<br> <p> Aiu you, an xbox would open an IPv4 link to a Microsoft server that was both IPv6 and IPv4. It would then get an IPv6 address from that server, and tunnel all IPv6 traffic over the IPv4 link.<br> <p> If I was implementing something like that, I'd just ask for an IPv6 address from my local DHCP, and only use Teredo if I couldn't get one. In which case XBox Live could still be using that, just that as IPv6 has got more universal Teredo would disappear naturally of its own accord.<br> <p> I'm not aware of using IPv6, but to the best of my knowledge my router is dual, and my PCs and laptops support IPv6 by default ... so hopefully by now NAT is just dying out naturally ...<br> <p> Cheers,<br> Wol<br> </div> Thu, 11 Apr 2024 14:38:07 +0000 Radicle: peer-to-peer collaboration with Git https://lwn.net/Articles/969494/ https://lwn.net/Articles/969494/ atnot <div class="FormattedComment"> Unfortunately not really. While it does significantly improve the situation around CGNAT, what we call "nat holepunching" is really two things: Creating a NAT ip-port mapping and an entry in the stateful firewall's connection list. With IPv6, you don't need to do the former, but in almost all cases you still have to do the latter.<br> </div> Thu, 11 Apr 2024 14:33:26 +0000 Radicle: peer-to-peer collaboration with Git https://lwn.net/Articles/969439/ https://lwn.net/Articles/969439/ raven667 <div class="FormattedComment"> <span class="QuotedText">&gt; Radicle does not yet have "NAT punching", but relies on third-party, publicly accessible seed nodes. </span><br> <p> Maybe I missed it and could do a little more research but does the application work with IPv6 addresses because that can restore peer-to-peer connectivity in a lot of cases, Google was recently reporting that around 40% of their traffic is now IPv6 so even if _your_ ISP or your region doesn't support it yet, others support it very well, so plan A can be direct IPv6 p2p and plan B can be some NAT traversal technology.<br> <p> Tangent: Now that I'm thinking about it, I'm wondering about the production history of Teredo protocol as used by the Xbox, I'm not sure Xbox Live still uses it but I haven't seen a retrospective on what the pros and cons of it were, operationally. Teredo (IIUC) is an IPv6 tunnel over IPv4/UDP designed to work behind a NAT and encode the public NAT IP and port for peer-to-peer NAT traversal, the Xbox used it for p2p gaming to reduce latency vs bouncing all traffic from behind NAT routers through a central server. Maybe games just moved away from p2p flows toward mediation through a central game arbiter as an anti-cheat measure, dunno.<br> </div> Thu, 11 Apr 2024 13:15:28 +0000 Radicle: peer-to-peer collaboration with Git https://lwn.net/Articles/969396/ https://lwn.net/Articles/969396/ mirabilos <div class="FormattedComment"> <span class="QuotedText">&gt; supports far fewer ISAs.</span><br> <p> The lacking support in Rust itself and LLVM was the issue in the first place, so anything supporting even *less* is… quite unhelpful.<br> <p> Not to forget Cranelift itself is also written in Rust…<br> <p> gccrs and even rust_codegen_gcc or what’s it’s called are also not helpful yet. They _might_ become somewhat helpful once they are available in Debian so that standard package building picks them up when building Rust packages on nōn-rustc/llvm architectures, automatically, and they are supported on all architectures and can build all the codes.<br> <p> So, perhaps in a decade or something.<br> <p> It’s worse than ghc, and as bad as pre-Zero Java was, no, even worse, with the GCJ situation we had a stopgap.<br> </div> Wed, 10 Apr 2024 22:19:39 +0000 Radicle: peer-to-peer collaboration with Git https://lwn.net/Articles/969395/ https://lwn.net/Articles/969395/ Curan <div class="FormattedComment"> I am wondering: Matrix does have groups and such these days. Anyway, I never really warmed up to most modern chat solutions either, really. For me IRC, Matrix, Signal, Rocket.Chat and such are usually all I need and want. At least there the Code-highlighting is working – something I can't say for many "professional" solutions like MS Teams (with paid accounts)<br> </div> Wed, 10 Apr 2024 22:13:02 +0000 Radicle: peer-to-peer collaboration with Git https://lwn.net/Articles/969394/ https://lwn.net/Articles/969394/ Curan <div class="FormattedComment"> Hm, I should have been clearer, I think. There are other projects like ggcrs [0], but none of them can claim – AFAIK – to be 100 % compatible with the official `rustc`. In fact: there is not even a standard – again: to the best of my knowledge – that other compilers could implement. In this regard Rust is far inferior to eg. C or C++.<br> <p> ---<br> <p> [0] &lt;https://rust-gcc.github.io/&gt;<br> </div> Wed, 10 Apr 2024 22:08:47 +0000 Radicle: peer-to-peer collaboration with Git https://lwn.net/Articles/969393/ https://lwn.net/Articles/969393/ Curan <div class="FormattedComment"> GStreamer I find a really bad example, though that is probably best discussed in person and not over any kind of chat. What I will say here is: the concept in general is nice, in practice it fails so much that I never used it productively anywhere. FFMpeg was always better (though, maybe, that says more of my target audience than GStreamer? I don't know. To me, in my requirements, it always felt at least somewhat hacky). Anyway, I do concede, that this is not really something a distribution like Debian can argue, once it accepted a certain piece of software.<br> <p> Of librsvg I was not aware and I must admit I am surprised. A SVG parser might be messy because of its standard (and extensions), but not being able to compile everywhere was not what I was expecting.<br> <p> Python I have – very personally – no interest in. So I do not have any knowledge in this space. Sorry.<br> <p> That said: I can accept the argument of "needs to compile to all the platforms I/$entity" care for. That was not clear to me from your initial post. Because I do also think, that having some software available ob one system and not necessarily on all others is not an issue in all cases. That being said: that Rust is limited by its implementation/LLVM is an issue. I wish there were more resources available to the gccrs developers [0], who aim for a better and long-term hopefully better platform.<br> <p> ----<br> <p> [0] &lt;https://rust-gcc.github.io/&gt;<br> </div> Wed, 10 Apr 2024 22:05:20 +0000 Radicle: peer-to-peer collaboration with Git https://lwn.net/Articles/969387/ https://lwn.net/Articles/969387/ intgr <div class="FormattedComment"> <span class="QuotedText">&gt; being based off LLVM and not having any other implementation</span><br> <p> This is not technically true any more. There is a working, stable Cranelift backend. Though it generates less optimized code than LLVM/GCC and supports far fewer ISAs. <a href="https://lwn.net/Articles/964735/">https://lwn.net/Articles/964735/</a><br> <p> </div> Wed, 10 Apr 2024 21:43:27 +0000 Radicle: peer-to-peer collaboration with Git https://lwn.net/Articles/969211/ https://lwn.net/Articles/969211/ mathstuf <div class="FormattedComment"> I've really liked Zulip better than Discord, Slack, or (heaven forbid) Google Chat for that niche. The pseudo-email-like threads and per-message read status really helps to keep a tab on things. IIRC, Matrix is far closer to IRC as a "stream of consciousness" and overlapping conversations are really hard. Or the rooms I've been in are mostly just IRC-alikes and other features are newer than those experiences or were unused by them.<br> </div> Tue, 09 Apr 2024 19:22:43 +0000 Radicle: peer-to-peer collaboration with Git https://lwn.net/Articles/968709/ https://lwn.net/Articles/968709/ mirabilos <div class="FormattedComment"> If “written in $language” is a problem (we have massive trouble with librsvg, python-cryptography and now also gstreamer on *numerous* ports architectures *on top of* the t64 transition), then, yes, merely that is a good enough argument in my book ;)<br> </div> Sat, 06 Apr 2024 15:56:27 +0000 javascriptless viewing like Gitea, Codeberg, and Sourcehut have? https://lwn.net/Articles/968646/ https://lwn.net/Articles/968646/ Curan <div class="FormattedComment"> Hm, I do wonder if this is a real issue, considering, that you deploy a node locally? Haven't checked the project out in detail yet, so I am mostly thinking out loud here.<br> </div> Fri, 05 Apr 2024 23:23:03 +0000 Radicle: peer-to-peer collaboration with Git https://lwn.net/Articles/968645/ https://lwn.net/Articles/968645/ Curan <div class="FormattedComment"> Oh, come on. You can do better. (And I might just be taken the bait as a fellow DD here, though you are way more active than me.)<br> <p> Rust has several very good concepts. And it does promise some solutions for issues in other languages (especially C/C++, ASM or similar). That said: Rust also has a ton of issues, not least of it being based off LLVM and not having any other implementation (the project for adding Rust to GCC is many versions behind and has major hurdles to climb yet).<br> <p> But I would always expect a better critique than "written in $language".<br> </div> Fri, 05 Apr 2024 23:20:43 +0000 Radicle: peer-to-peer collaboration with Git https://lwn.net/Articles/968644/ https://lwn.net/Articles/968644/ Curan <div class="FormattedComment"> The project in general looks very promising and I have a couple of private projects in mind, where this could be really helpful (at least if some of the mentioned missing features are added). The choice of Zulip is – at least to me – baffling though. Isn't Matrix the better choice in general? It has wide client support, the protocol is based on the proven solid Signal protocols and supports also large communities (depending on size you might even get away with a non-selfhosted server or put differently: that might be more than enough for you).<br> <p> The "Crypto Bro" closeness would make this project suspect to me, if I didn't know Lars and trust him.<br> </div> Fri, 05 Apr 2024 23:14:54 +0000 Radicle: peer-to-peer collaboration with Git https://lwn.net/Articles/967922/ https://lwn.net/Articles/967922/ ceplm <p>I was trying to play with Radicle over the Easter weekend while porting <a href="https://gitlab.com/bugseverywhere/bugseverywhere">Bugs Everywhere</a> to Python3 (<a href="https://app.radicle.xyz/nodes/seed.radicle.garden/rad:z2BFAb2cNxwxNSXpqfrmHLBtK55Lu">seed available</a>). I have the same feeling about it as with <a href="https://ipfs.tech/">IPFS</a>: something which may be very important for somebody, but for anybody normal it introduces just a horrible amount of complications in between my code and the Universe with no clear benefit for me.</p> <p>Also, the thing is somewhere around the Proof-of-concept stage and it is horribly unusable. For example, I have not found a way here how to switch from this view to the <code>python3</code> branch, where all porting happens.</p> <p><a href="https://git.zx2c4.com/cgit/">CGit</a> on my server (or <a href="https://forgejo.org/">Gitea</a>, if I want to be presumptuous) is just enough for me, <a href="https://git.cepl.eu/cgit/git/bugseverywhere/log/">https://git.cepl.eu/</a>.</p> Tue, 02 Apr 2024 06:30:25 +0000 Radicle: peer-to-peer collaboration with Git https://lwn.net/Articles/967787/ https://lwn.net/Articles/967787/ spacefrogg <div class="FormattedComment"> 1. It would not be handled at all. The commit message is just immutable data. So, unless you functionalize it again by defining special syntax and semantics that interprets "Reported-by: " content, it would not be replaced by anything in the future.<br> <p> 2. All content inside commit messages is handled as described in 1. It could be considered a widespread mis-use of commit messages to bake ill-defined semantics into them and apply social norms on top. That is not what they are supposed to be used for or what their data model can meaningfully support. This means they will always break current or future social norms one way or another.<br> </div> Mon, 01 Apr 2024 12:07:27 +0000 Radicle: peer-to-peer collaboration with Git https://lwn.net/Articles/967686/ https://lwn.net/Articles/967686/ gray_-_wolf <div class="FormattedComment"> The pijul's use of keys is interesting, however raises few questions the link does not answer.<br> <p> 1. How are people "from outside" referenced? For example, I (not a pijul user) report some bug via email. In some projects, adding Reported-by: X Y into the commit message is customary. How would that be handled?<br> <p> 2. And follow up on the same topic, are any references to usernames/emails in commit messages (reviewed-by, co-authored, ...) automatically replaced by the corresponding key? Or is that left as an exercise to the commit author?<br> <p> Would you happen to know the answers?<br> </div> Sun, 31 Mar 2024 14:40:00 +0000 Radicle: peer-to-peer collaboration with Git https://lwn.net/Articles/967437/ https://lwn.net/Articles/967437/ mricon <div class="FormattedComment"> I am not directly involved in the project, but I was an early adviser to them when they were just starting out, and the common goal was to build a system similar to the one I envisioned. So, the similarity you see is intentional. <br> <p> I bowed out when the project went on a weird cryptocurrency bend. Thankfully, that has been massively deprioritized (but not abandoned altogether).<br> </div> Sat, 30 Mar 2024 14:29:17 +0000 Radicle: peer-to-peer collaboration with Git https://lwn.net/Articles/967356/ https://lwn.net/Articles/967356/ westerntelegraphic <div class="FormattedComment"> <span class="QuotedText">&gt; People do also change things like names for a variety of reasons and usually really appreciate those names not lingering in old issues forever</span><br> <p> This is a already a problem with anything built on top of git -- the Author and Committer headers contain user.name. Pijul has a much better solution: it identifies users by an ed25519 key (which is part of the commit-hash). There is a separate, ephemeral mapping from ed25519 keys to human-readable names (each signed by the key of course) which is not part of the hash chain: <a href="https://pijul.org/manual/keys.html">https://pijul.org/manual/keys.html</a><br> <p> In fact, pretty much all the complaints you made apply equally to git itself: "Git security" -- obvs. "Data size: Lore.kernel.org rotates git archives" -- as a convenience; their size hasn't been a problem as you predict it would. "Moderation: Having this floating cloud of contributor nodes without seemingly any mechanism for proper moderation is just negligent" -- that's exactly what the commercial software industry said the problem with open source was, back in the 1990s.<br> <p> And yes, we get it, you don't like cryptography.<br> </div> Sat, 30 Mar 2024 08:11:15 +0000 javascriptless viewing like Gitea, Codeberg, and Sourcehut have? https://lwn.net/Articles/967346/ https://lwn.net/Articles/967346/ westerntelegraphic <div class="FormattedComment"> Hi, cool project!<br> <p> Please do consider making the UI at least minimally functional with javascript turned off. Gitea, Codeberg, and Sourcehut all let you browse a project's files with javascript turned off. The radicle web interface just displays a blank page :(<br> <p> PS, there does not appear to be a git tag for the 1.0.0 (or 1.0.0-rc1) release.<br> <p> PPS, you might be interested in crate2nix. It puts every crate is its own derivation, so it can do two things crane can't: (1) builds of your dependencies can be distributed across multiple machines and (2) build artifacts can be reused by multiple different dependers. I ran `crate2nix generate &amp;&amp; nom build -f Cargo.nix workspaceMembers.radicle-cli` from a checkout of your project at 345fa57b and it worked fine, spreading the build across eight machines in parallel. Note: I had to turn the cross-crate-boundary build.rs symlinks into copies.<br> </div> Sat, 30 Mar 2024 07:56:32 +0000 Radicle: peer-to-peer collaboration with Git https://lwn.net/Articles/967341/ https://lwn.net/Articles/967341/ mirabilos <div class="FormattedComment"> “… written in Rust”<br> <p> Thanks for the warning, I stopped reading there. Saved me time.<br> </div> Sat, 30 Mar 2024 06:53:27 +0000 Radicle: peer-to-peer collaboration with Git https://lwn.net/Articles/967322/ https://lwn.net/Articles/967322/ salimma <div class="FormattedComment"> I feel similarly - this reminds me of SQLite's Fossil SCM (not in design, but in having your issue tracker and forge be portable), but with the advantage of being based on top of a more widely used SCM<br> </div> Sat, 30 Mar 2024 02:42:07 +0000 Radicle: peer-to-peer collaboration with Git https://lwn.net/Articles/967280/ https://lwn.net/Articles/967280/ leromarinvit This reminds me of Konstantin Ryabitsev's 2019 blog post <a href="https://people.kernel.org/monsieuricon/patches-carved-into-developer-sigchains">Patches carved into developer sigchains</a> (which also spawned a rather lengthy discussion thread <a href="https://lwn.net/Articles/793037/">on LWN</a>). And while I haven't looked at either protocol in any detail, Radicle's <a href="https://radicle.xyz/guides/protocol#peer-to-peer-protocol">protocol guide</a> mentions inspiration drawn from the &quot;Secure Scuttlebutt&quot; protocol Ryabitsev proposed to use. <p> Ever since I read that blog post, I've wished for something like its fictional <tt>decent</tt> tool to become reality. I'm glad it seems to be getting closer! (And I'm wondering now if <tt>rad</tt> is an intentional pun on <tt>decent</tt>...) Radicle is probably not perfect yet, and the very first comment here brings up some legitimate areas of concern. But I don't see why these couldn't be addressed in some way. <p> Let's hope we'll one day have a viable alternative to centralized forges that's easy enough to use that it can have a shot at becoming the de-facto default that GitHub currently is! Sat, 30 Mar 2024 00:10:46 +0000 Radicle: peer-to-peer collaboration with Git https://lwn.net/Articles/967196/ https://lwn.net/Articles/967196/ dilinger <div class="FormattedComment"> Hm, way to close to Radicale (the CalDAV/CardDAV server). That's going to get confusing. :(<br> </div> Fri, 29 Mar 2024 18:37:16 +0000 Radicle: peer-to-peer collaboration with Git https://lwn.net/Articles/967185/ https://lwn.net/Articles/967185/ comex <div class="FormattedComment"> I've always wanted to use a tool like this. By itself, Git has such a nice decentralization story which makes it resilient in all sorts of scenarios:<br> - your Git hosting service enshittified and took your data hostage<br> - you just want to switch hosting services for some other reason<br> - your hosting service suffered data loss<br> - you don't have an Internet connection and need to work offline temporarily<br> - your hosting service got a DMCA notice (...this is a concern for everything from youtube-dl to Nintendo fangames)<br> <p> It's also usually faster to access local data than a remote server.<br> <p> Git was originally designed to be paired with mailing lists, which have more or less the same resilience. Everyone on the mailing list has an archive of all mail from the list (if they don't delete it), and if the list goes down, it's not too hard to set up a new one.<br> <p> But then GitHub ruined it by adding centralized issues and pull requests.<br> <p> I'm not a mailing list revanchist; I think GitHub won by providing a legitimately better experience. I just want to recover the decentralization.<br> <p> So I'd like to use a decentralized issue/PR tracking system for my projects. However, I highly value accessibility and drive-by contributions, so it's essential that users shouldn't be required to use any new tool in order to access and contribute issues and PRs. There should be a nice web UI that can do most of what GitHub does, *in addition* to a local tool for more advanced users. Sounds like Radicle is partway there, but the inability to contribute using the web UI is a blocker for me. I hope that gets improved soon.<br> </div> Fri, 29 Mar 2024 18:18:09 +0000 Radicle: peer-to-peer collaboration with Git https://lwn.net/Articles/967157/ https://lwn.net/Articles/967157/ atnot <div class="FormattedComment"> I have to say I have some immediate strong concerns with this, besides the involvement of cryptocurrency stuff, although it does inherit some of them directly from cryptocurrencies:<br> <p> Immutability of data: Having an everlasting, unchangable, signed database anyone can write to is rarely actually desirable. Among other things like dire consequences for pasting the wrong thing from your clipboard, it opens up endless vectors of abuse and harassment. That immutability might seem a lot less nice when someone starts posting pictures of your front door or CSAM and other illegal imagery to your issue tracker when you merge something they don't like. People do also change things like names for a variety of reasons and usually really appreciate those names not lingering in old issues forever or having to nag hundreds of repo maintainers to change them. That's not to say that none of these issues can't be narrowly fixed individually, but that the real world is usually far more mutable than this type of model allows.<br> <p> Git security: Git has had a relatively constant stream of security issues that allow compromising local machines with malicious git archives. Usually this isn't a huge issue, because the people who can commit to repos are relatively trusted and/or the repo contains executable code anyway. But when everyone is constantly pushing and pull from git repos just for issue tracking, that becomes a lot more risky.<br> <p> Data size: Similarly to the other two issues, one might imagine a situation where two users get into an endless offtopic argument, or some jokester posts the entire bee movie script or a uuencoded version of the shrek movie as a comment. Even non-maliciously, one might want to show a screenshot of some buggy behavior, or upload some long logs. This is now part of the eternal record, so it must be downloaded forever by everyone who wants to look at your issue tracker now and into the future. Lore.kernel.org rotates git archives regularly for this reason, but that's only possible because it's just an achive of emails sent and not the entire current and historic state of a working issue tracker.<br> <p> Moderation: again, see everything above. Having this floating cloud of contributor nodes without seemingly any mechanism for proper moderation is just negligent and a non-starter for public collaboration. This might work in a scenario where everyone is trusted in the first place, but in that case there's really not any need for this rigmarole in the first place. And if fully public collaboration is out of scope, it's not a fit to replace any of the centralized services.<br> <p> Given the existence of a cryptocurrency token behind this, I suspect the solution to this is supposed to be tokenized aligned incentives whatever. I'll just nip that in the bud and say that cryptocurrencies have all of these issues even by themselves and paying in some wildly fluctuating crypto token to open a bug report instead of just, say, sending an email will not sound appealing to anyone who isn't current hungry to dump said token on someone else.<br> </div> Fri, 29 Mar 2024 14:26:31 +0000