Live data from Hacker News

Radicle 1.0 – A local-first, P2P alternative to GitHub

radicle.xyz

51–60 of 70 posts

Re: Radicle 1.0 – A local-first, P2P alternative to GitHub

#51
post #2

These days when I collaborate with other developers, we do it all in a git repo that is simply hosted on a VM everyone has ssh access to. Project management is done in a plan/ directory which has task entries like 1000-add_logout_button.txt Where 1000 is the priority. There is also a directory plan/done/ where tasks go that have been completed. In the plan/done/ directory, the priority gets replaced by the completion…

i love the simplicity. What do you do with team members who are terminal illiterate? Project manager/client?

There are plugins for JetBrains and VSCode

https://plugins.jetbrains.com/plugin/19664-radicle

https://marketplace.visualstudio.com/items?itemName=radicle-...

Re: Radicle 1.0 – A local-first, P2P alternative to GitHub

#52
post #3

Has anyone done a comparative breakdown between Radicle & git-ssb? This looks really nice & polished - love the web ui - but I know there's a pretty active network & community on SSB.

I had not heard of SSB or git-ssb, but this gives me a lot of pause... >This seems to work well: the SSB network thrives off of being a group of kind, respectful folks who don't push to each other's master branch. :) https://github.com/hackergrrl/git-ssb-intro?tab=readme-ov-fi... Can't imagine that working at any real level of popularity, but maybe that just goes in the "if you have to solve that problem, its a good…

It seems odd at first until you realise that it's a host setting & a convention, rather than an inherent limitation.

The familiar model of "centralised" Git hosts like Github come bundled with their own protocol-specific permissions models. E.g. if you were to imagine a team working from a simple .git directory hosted on a local SMB/whatever LAN share, the permissions model would be file permissions on the networked filesystem.

Blocking users committing to an "owned" branch on SSB would require implementing an ACL-tracking & ownership model attached to namespaces (likely branch prefixes here by convention) - very doable, nothing about the protocol prohibits it architecturally. So if it ever becomes one of those "good problems", it's not an inherently concrete design decision.

Re: Radicle 1.0 – A local-first, P2P alternative to GitHub

#53
post #11
post #2

These days when I collaborate with other developers, we do it all in a git repo that is simply hosted on a VM everyone has ssh access to. Project management is done in a plan/ directory which has task entries like 1000-add_logout_button.txt Where 1000 is the priority. There is also a directory plan/done/ where tasks go that have been completed. In the plan/done/ directory, the priority gets replaced by the completion…

Do the reviewer comments also go into plan?

Yes. Say Joe just finished the 1000-add_logout_button.txt task and committed it with the following content:

    owner: mg

    info:

        2024-09-03 17:02
        I added the logout button. Settled on rounded
        corners which we haven't used before but I think
        they look good here.
        /Joe
I might change the file like this and commit it, so it goes back to Joe and he sees my comment:

    owner: Joe

    info:

        2024-09-03 17:02
        I added the logout button. Settled on rounded
        corners which we haven't used before but I think
        they look good here.
        /Joe

        2024-09-04 09:10
        Fine with the rounded corners. The styles should
        go into styles.css instead of the html though.
        /mg

Re: Radicle 1.0 – A local-first, P2P alternative to GitHub

#54

Earlier quoted context omitted.

Ah, a Mac user I see.

Who are you suggesting is a Mac user? The parent commenter or the author of the install "instruction" they quoted?

The author of the install instruction, because "sudo chown -R $(whoami) /usr/local" first gained popularity in how to install Homebrew in macOS.

Homebrew assumed it was being installed on a single-user-at-a-time system, and it didn't want the risk of a bug in its ruby scripting being exploited somehow by insisting on running as root, and it chose /usr/local to install to as it was already in the path... all of these are anathema to Linux users.

* A package manager should leave /usr/local alone as its purpose is to host the user's own software, not distributed software (that's /usr) or vendor software (that's /opt)

* A package manager should run as root, or run its install-the-files portion as root, because it should require the user's admin authority _at that time_ to be permitted to install software that will be in the path of _other users of the system_. If the user takes ownership of the system directory instead, then all their other processes can mess with it too, not just the package manager.

The right thing to do is to install to e.g. /opt/homebrew, and then require users to add /opt/homebrew/bin to their own PATH, which is what Homebrew now does. It only did it after Apple fought against them by using System Integrity Protection to prevent users changing the ownership of /usr/local -- for a while Homebrew told users to write "sudo chown ... /usr/local/*" rather than "sudo chown ... /usr/local" to get around that, and that's what we see here.

The right place for this software on Linux is under /opt or /srv, and it should have the equivalent of "sudo make install", where root is required to install the software to the right place (and after installed there, it can't be modified by regular users), and root is _only_ required for that install step, nothing else.

EDIT: I'm unable to reply to the person whose question I answered, but I'd commend the GP for spotting the macOSism, and recommend everybody be alert to these sorts of tells and impedence-mismatches. You can often spot experienced Windows users doing "Windowsisms" in Linux... and vice-versa! You can see people writing Rubyisms in Python, Cisms in Java, and so on. There's a risk that if they don't adopt the appropriate native idioms for the language/environment/OS, they will introduce subtle bugs, sometimes security bugs. Be on the lookout for this.

Re: Radicle 1.0 – A local-first, P2P alternative to GitHub

#55

This is a great idea and exactly what software development needs right now. However there are a lot of things that seem more complicated than necessary. https://radicle.xyz/guides/protocol I'm reading through the delegate consensus model for branches and I don't see why any of that is necessary. It's encroaching on the P2P that Git already does well, which is who I decide to push and pull from. I think this project c…

This strikes me as entirely missing the idea of Radicle.

What you are saying is basically "why automate things if you can just do them manually". But worse is not better; there is value in having the P2P transport layer work _transparently_. If you intend to force user to manually (or semi-automatically) juggle remotes for every single device on the network, you have already lost.

TL;DR What you describe is just Git on top of a generic P2P overlay network. I'm sure it can be done (and I might even believe it could be enough for some limited use-cases), but it is not Radicle.

Re: Radicle 1.0 – A local-first, P2P alternative to GitHub

#56

Earlier quoted context omitted.

Who are you suggesting is a Mac user? The parent commenter or the author of the install "instruction" they quoted?

The author of the install instruction, because "sudo chown -R $(whoami) /usr/local" first gained popularity in how to install Homebrew in macOS. Homebrew assumed it was being installed on a single-user-at-a-time system, and it didn't want the risk of a bug in its ruby scripting being exploited somehow by insisting on running as root, and it chose /usr/local to install to as it was already in the path... all of these…

> first gained popularity in how to install Homebrew in macOS

That doesn't really make the argument that it's a macOS user who wrote it though does it? It just makes the argument that it was potentially inspired by Homebrew, which has existed on Linux for half a decade.

I didn't really read the rest of your spiel in detail. I asked why you have an opinion about a person I didn't ask for a breakdown of package management and software installation best practices for the last few decades.

Re: Radicle 1.0 – A local-first, P2P alternative to GitHub

#57
post #4

I am stupid, can someone explain the purpose of this as I am not getting it from their website?

>I am stupid, Naaa just lazy https://radicle.xyz/faq

As far as I understand there is no the why in the faq?

> Radicle is an alternative for people and organizations who want full control of their data and user experience, without compromising on the social aspects of collaboration platforms.

Since this can be achieved by self-hosting other non p2p solutions I don't see this as a why for the product. I am trying to understand the actual benefit of p2p here that is it.

Re: Radicle 1.0 – A local-first, P2P alternative to GitHub

#58
post #41
post #21

Earlier quoted context omitted.

I like the simplicity, but does everyone actually log in to the server and edit the files directly in the same repo, or is the repo exposed over SSH and everyone works in forks on their own machines? The first one doesn't really scale beyond a handful of people, since you risk losing work if the same file is being worked on by multiple people. Vim shouting at you that the file you're editing has changed on disk is no…

Everybody works on a fork on their own machine. Since everybody pulls the changes of the others and sees if something collides with their own changes, its pretty much possible to do it manually. Thats how I started this approach. It's really just a 0815 git based workflow. Just not for code but for a tasklist. Meanwhile I wrote a bit of tooling around it. But using it is not at all a must.

0815?

Re: Radicle 1.0 – A local-first, P2P alternative to GitHub

#59

Earlier quoted context omitted.

The author of the install instruction, because "sudo chown -R $(whoami) /usr/local" first gained popularity in how to install Homebrew in macOS. Homebrew assumed it was being installed on a single-user-at-a-time system, and it didn't want the risk of a bug in its ruby scripting being exploited somehow by insisting on running as root, and it chose /usr/local to install to as it was already in the path... all of these…

> first gained popularity in how to install Homebrew in macOS That doesn't really make the argument that it's a macOS user who wrote it though does it? It just makes the argument that it was potentially inspired by Homebrew, which has existed on Linux for half a decade. I didn't really read the rest of your spiel in detail. I asked why you have an opinion about a person I didn't ask for a breakdown of package managem…

[deleted]

Re: Radicle 1.0 – A local-first, P2P alternative to GitHub

#60
post #6

Not to be confused with Radicale 3.0 (a CalDAV/CardDAV server) https://radicale.org/v3.html

Thank you, I've been looking for a CardDAV server to replace an entire NextCloud install that was used only for that purpose. Serendipity at its finest!

Maybe check baikal https://sabre.io/baikal/ comming from Nextcloud it was a lot simpler to host.
Post reply on HN