this post was submitted on 05 Mar 2024
132 points (87.1% liked)

Open Source

31366 readers
142 users here now

All about open source! Feel free to ask questions, and share news, and interesting stuff!

Useful Links

Rules

Related Communities

Community icon from opensource.org, but we are not affiliated with them.

founded 5 years ago
MODERATORS
 

Radicle: Open-Source, Peer-to-Peer, GitHub Alternative
https://radicle.xyz/
@opensource

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 55 points 8 months ago (1 children)

This doesn't pass the smell test.

  • Instructs to pipe the output of curl in sh
  • Assumes that sh is bash [^1]
  • "Community" behind it is apparently originating in Berlin, and is now a "nonprofit foundation in Switzerland", but has no publicly disclosed legal structure anymore.
  • "Community" behind it uses discord, but not revolt, matrix, simplex or others.
  • "Community" behind it uses twitter, but not mastodon.
  • Cryptobros.

[^1]: sh <(curl -sSf https://url.redacted/script)

[–] [email protected] 5 points 8 months ago (10 children)

Installing by piping from curl is pretty common and not a red flag in and of itself. Even Rust is installed this way. If you don't trust the URL, you also shouldn't trust any binary installers downloaded from that website.

[–] [email protected] 12 points 8 months ago

Installing by piping from curl is

Toxic. Speaking as someone who was security chief at an OS, what you meant to say was 'toxic'.

Given its insidious nature, though, 'venomous' may be a good alternate.

load more comments (9 replies)
[–] [email protected] 51 points 8 months ago (5 children)

For anyone who wonders, this is related to cryptocurrencies

[–] [email protected] 13 points 8 months ago

That's all I needed to know. I'm deliberately avoiding all scamcoin related projects..

[–] [email protected] 3 points 8 months ago

I was so excited when I read the title. Of course they would add crypto ._.

[–] [email protected] 2 points 8 months ago (1 children)
[–] [email protected] 23 points 8 months ago (1 children)

The company running the project is heavily involved with cryptocurrency. https://radworks.org/

They seem to be running their own "DAO" as well. https://www.tally.xyz/gov/radworks

[–] [email protected] 3 points 8 months ago

What's that got to do with radicle though? I can't find a single mention of crypto in the radicle project 🤔

CC BY-NC-SA 4.0

load more comments (2 replies)
[–] [email protected] 35 points 8 months ago* (last edited 8 months ago) (5 children)

The most important questions about any p2p service:

  • why would anyone store my data?
  • why would I store someone else's data?
  • how can i be sure that someone else's data is not CSAM: i found the answer you can select what repos to sync

It seems to me it's IPFS again, but now for git repos. And it has the same problems as IPFS

[–] [email protected] 22 points 8 months ago* (last edited 8 months ago)

I believe the thinking should be the other way around.

No one wants to store your code, and you shouldn't store anybody's code either. But suppose you have a group of people who want to collaborate on (or just mirror) a codebase, so they already decided to store it on their machines. This project gives them a decentralized tool to coordinate their efforts, and their code/issues/patches will be stored and accessible as long as they are interested in it.

Like, the tool doesn't give you a reason to use it, but if you have a reason then here is a tool to help you.

[–] [email protected] 6 points 8 months ago* (last edited 8 months ago)

Same question. P2p was initially used to pirate stuff e.g. movies which isn't a private property and streaming that through p2p made a lot of sense. But for codes I don't know if its appropriate or not...

[–] [email protected] 2 points 8 months ago* (last edited 8 months ago) (1 children)

Why is CSAM the only traffic you object to? When you run torrent clients and such how do you filter out CSAM peers from the DHT?

[–] [email protected] 6 points 8 months ago (1 children)

There were other similar initiatives where everything is encrypted, so you cannot be sure what others store on your node. For torrent you can select what torrent you download and share.

I was thinking about Storj, where you get "money" for hosting other people's content in a similar p2p fashion. For Storj the answer to the first 2 questions are money, but you can't answer the third, because encryption. ("Money" is not real money but some strange crypto, but that's not important now.)

CSAM is just the worst possible example, it's forbidden in most countries of the world, and no sane people should be ok storing it. The main thing is, if you host other people's content, can you know what is the content, do you have some word if you want to host it or not.

[–] [email protected] 1 points 8 months ago (1 children)

You do not have a choice what your machine passes on from your peers via the DHT

[–] [email protected] 1 points 8 months ago (1 children)

DHT returns an ip based on a hash, what do you mean.

If you solely rely on DHT for searching for new things to download, than yes, that's a good way to get unwanted material on your hard disk, I don't recommend to do that to anybody at the curtent state of the technology. Don't mix up things deliberately, usually people don't do that, they get a torrent file or magnet link from a trusted source, than DHT can't mess it up.

[–] [email protected] 3 points 8 months ago* (last edited 8 months ago) (1 children)

Participating in the DHT allows others to find torrents and peers, without filtering, beause your machine is sharing information from your DHT peers.

Interesting where you try to draw the line

[–] [email protected] 2 points 8 months ago (1 children)

As I understand DHT is just addresses and hashes, not the actual data.

I draw the line this way: If I disconnect the computer from the network any given time, does it store the questionable data.

[–] [email protected] 2 points 8 months ago* (last edited 8 months ago) (1 children)

Would running an onion relay that helps people access illegal material be fine? Nothing gets stored on your machine

[–] [email protected] 3 points 8 months ago (1 children)

Yes?

Do you want to ban the internet because people using it for bad things? Basically you say the same thing.

I don't care what other people do, I care what they could do with me.

[–] [email protected] 1 points 8 months ago

I never suggested such a thing, was just curious on your viewpoint.

The way I see it, as any platform or service gets more users, traffic and messages the probability that it will be used for nefarious purposes approaches 100%. It's the nature of life, it'll happen anywhere and everywhere people can communicate or interact. It's counter productive to ban technology like encryption or decentralised services just because someone might use it in a way the government doesn't like, or for other nefarious purposes.

[–] [email protected] 1 points 8 months ago* (last edited 8 months ago)

Here's another response I got from someone from radicle regarding this.

That's a great Q.

Radicle can support a federated model, where known major seeds are connected with multiple smaller clusters. >Radicle supports also completely self-sustaining and disconnected clusters of nodes networked between themselves >within that cluster. And of course any other network topography in between.

There's a promising active proposal to establish a dedicated new Radworks Organization tasked with solving the >incentivization and reward problem for seeds. https://community.radworks.org/t/discussion-rgp-22-start-the...

Additionally, similar to how one can "star" a repo on GitHub, one can "seed" a repo on Radicle. "Starring" a repo is >often a toast of support, akin to an emoji reaction, with little more effect other than that, but in Radicle "seeding" a >project, goes beyond incrementing a vanity metric: it actively supports propagating that project across the Radicle >network. The count of seedings per repo can also be used as a differentiator between original and "copy-cat" ones.

load more comments (1 replies)
[–] [email protected] 21 points 8 months ago (4 children)

I thought it's the CalDav and CardDav server.

[–] [email protected] 11 points 8 months ago

Yeah. I wish folks would do a simple web search before picking names. Radicale has been around for years; it even has a domain, radicale.org .

[–] [email protected] 9 points 8 months ago

I think thats radicale

load more comments (2 replies)
[–] [email protected] 13 points 8 months ago (1 children)

Serious question: What is the point?

Just push into half a dozen mirrors and you are pretty censorship resident without the crypto voodoo put on top of git.

Github has one huge value: Discoverability of a project. This is even worse than hiding your project in one of the smaller forges... nobody can remember the mess of letters you need for this.

[–] [email protected] 5 points 8 months ago (8 children)

Do you think it's good that the majority of code is hosted on a proprietary service? Do you think it's good that that service is centralised? Do you think it's good that if you want to provide an alternative to that service, you create another island with a different ecosystem that cannot communicate with the other island?

CC BY-NC-SA 4.0

[–] [email protected] 2 points 8 months ago* (last edited 8 months ago) (1 children)

Git is a DISTRIBUTED version control repo. You can fork to different services from Github. https://www.atlassian.com/git/tutorials/git-forks-and-upstreams

And Github has a REALLY extensive API to interact with from other servers too (even issues and such).

Peer to Peer stuff sounds awesome, except it's only as reliable as the nodes. And, Github is hosted on many servers, with a huge amount of redundancy. It's basically a privatised P2P system where each server is reliable, instead of a bunch of unreliable public hosts which might not have backing from a large corporation.

And whilst we're talking about reliability, even centralised stuff like Sourceforge is hosting code from 20 years ago. Whereas, it is difficult to load a torrent from 2 years ago lol

[–] [email protected] 2 points 8 months ago* (last edited 8 months ago)

OK, track your issues in git with access from others on a web interface. Let somebody make a merge request to your project on github from gitlab, gitea, or straight up from your local git repo without a github account.

CC BY-NC-SA 4.0

[–] [email protected] 2 points 8 months ago* (last edited 8 months ago) (2 children)

No, I would prefer a world where not everything is concentrated on github, but that is the world we have to work with:-)

But how does this address any of the problems you brought up?

Do you think a project will be more discoverable when you say: "Clone foo/bar from github" or when you say "install this strange crypto-BS, then clone rad:xyhdhsjsjshhhfuejthhh just like you normally would"?

Apart from discoverability you get a known workflow for contributors, a CI and a bug tracker. Coincidently those make it hard for projects to switch away from github... how does this address any of that? "Use this workflow, which is even wierder than any of the other github alternatives!" and "just set up a server yourself"?

Sorry, this is just yet another crypto-bro solution in search of a problem. Technically interesting, I'm give you that, but useless.

load more comments (2 replies)
load more comments (6 replies)
[–] [email protected] 10 points 8 months ago* (last edited 8 months ago) (2 children)

What benefit does this have over forjero, which I believe is doing this and already very widespread?

[–] [email protected] 10 points 8 months ago

Off the top of my head: with Forgejo, you alone have the burden of hosting your repo, which means if your repo becomes popular, you have to deal with the costs of all that traffic to it.

The nice thing about the P2P/seeding aspect of Radicle is that anyone can clone your public repo and help seed it to others.

I see that Forgejo is working on federation which should help distribute the load of hosting a repo, but that doesn't look to be completed yet

[–] [email protected] 8 points 8 months ago

Just a heads up, the name is forgejo

[–] [email protected] 5 points 8 months ago (1 children)

I dislike that JavaScript is required… not just for best experience or functionality, but literally to get a non-blank page. Not even a <noscript> is left.

One of the failures I think of all of these forges is they keep trying to tackle getting users by posing moral arguments instead of technical ones too. I hate Microsoft GitHub as much as anyone, but what am I getting from Forgejo or this if instead of fixing the issues with MS GitHub, they are trying to copy everything--including the bad stuff like compatibility with a YAML CI system & the glacial pace of the pull request model where maintainers act entitled rather than just merging shit then fixing their nits. Like, pitch me a CI system that isn’t shit or review that isn’t dogwater like the pull request model & now I’m interested in migration for a better experience rather than just a FOSS clone that doesn’t get you anything better other than a clearer conscience.

[–] [email protected] 2 points 8 months ago (1 children)

rather than just merging shit then fixing their nits do you have something in mind better/more practical? Merging stuff from any contributor without reviews sounds bad.

[–] [email protected] 2 points 8 months ago* (last edited 8 months ago)

You review the ideas & code at a high level. I feel like you didn’t read the “nit” part. Instead I get review for my flyby patch (no plans to be a mainstay) where the idea is fine, but the maintainer wants me to worry about variable names, spacing, & other BS that doesn’t matter. You get a ton of “please add space here” type comments & the maintainer is putting the onus on you to fix their quirks which leads to a really slow review process full of irrelevant nitpicks. A maintainer should just merge that code & fix the nits themselves rather than expecting everyone to care about their naming conventions. Pull request model in an MS GitHub-like UI encourages this behavior.

load more comments
view more: next ›