Now, the downside of this mvp is that there is no project discovery in the client itself. We need to go search for projects in a browser, in this page http://seedling.radicle.xyz/ which is a bit confusing. Considering the client itself is electron, it could at least, open this page for us somewhere. Or, we could at least have a less "noisy" seedling page focused on search and I would not even know it wasn't part of the client itself.
Overall, awesome project. I really hope it will grow and add the missing essential features. If I could vote, with priority these would be:
- project discovery integrated in the client - issues support - pr support - multiple identities
Anyway, great job!
I highly recommend considering using git-bug natively for Radicle's issue tracking system. It seems perfect for the task.
Or you can file an issue on the app repo directly over here: https://github.com/radicle-dev/radicle-upstream/issues/new
It's fun to see how different our opinions can be about this kind of things, I really didn't expect it in this case but here we go :)
That being said, I'm all for distributed systems so I hope for the best with this (without meaning to imply anything about it one way or another relative to other similar things that have been developed).
love the design - it's honestly something I've never seen before (at least, not in the context of software). I love how it rejects the tired old aesthetic of the "software tool front page" and goes in a totally different direction while still getting the point across.
If it weren't overly animated and the headings were legible, this design might actually be pleasantly nostalgic. But in its present state, it makes me wish for old radicle, when it was built on ipfs and had no GUI. The overt use of animation is exactly how I tend to think of unnecesary GUIs.
I can only digest the content properly if I stand a couple of meters away
I hope Radicle gets a lot of funding and tons of adoption.
The low-friction UX and integration of issues/PRs/code makes it lightyears easier to ramp new developers than if I had to sit down and also explain Jira & Jenkins to them. The fact that git is centralized or decentralized crosses our minds precisely zero times per week.
In the absolute worst case where Microsoft somehow loses everyones' issue/PR/project data (assuming non-enterprise cloud hosted account), we could still rebuild with whoever has the latest master copy on their local. Presumably, one of our developers must have made the latest commit so this should work out always. We have a process where we include the issue numbers in our commits, so it would be possible to reconstruct a large portion of these with inference across commit history. Personally, I trust Microsoft to safeguard our business data more than I trust our 7 person team w/ a $2000/m AWS budget.
Ultimately, I think the objective of making all things around your source control technology look & talk like your source control technology is a huge mistake. Issues and code are completely orthogonal things that intersect in very narrow ways. These intersections are hugely valuable, but we are not interested in aligning the planes of functionality.
BUT: What a lot of developers, myself included, feel like is the source control in git is great. The project management tools (issues, actions, etc...) require centralization of certain processes, that for some projects (open and closed source), don't fit well. Sometimes the 'how it works' is a bad fit. Other times, it's where it has to be to work. For example, running CI on a container on Azure from actions. Yes you can move where it runs. But for some projects, localhost is where that should happen. I'm really happy to see people working on this, because it will be just as transformative as git and Github has been.
In git's case, its decentralized nature ends up being an advantage because it decouples centralization from the VCS itself, which has allowed the centralized aspects of code and project management to evolve independently and be tuned to specific use cases.
All the issues, wiki, PR review are stored in Git as well. You still need a Pagure instance (that you can self host if you want) to provide the web ui, but you can easily just clone the repo and put it to a different instance, keeping all your metadata.
- Permanent Data Storage provided by Arweave
- Works from within git with the help of git-remote-helper `npm install -g git-remote-gitopia` so no need to learn new tooling
- Built-in incentivization to token holders who also take part in the governance of Gitopia
- Token holders share revenue made by the platform
- You can mirror your GitHub repositories now using the Github Mirror Action. Follow step by step from here -https://thetechtrap.com/posts/push-your-code-to-gitopia/
- We are now working on the governance and collaboration workflows that will enable transparency in open source development and provide the stakeholders to have a say in the direction of the project.
You can reach out to us on
I don't care about the governance of my git remote, or getting money out of it. I care about it being reliable, fast and simple. If I'm unhappy with it I want to be easily able to switch to a different host, or create my own.
Frankly I would be perfectly fine with the current situation where you have a bunch of effectively centralized code hosting solutions (github, gitlab, bitbucket etc...) if you could trivially move your project from one to an other. For the code it's easy, git is built that way. For issues, PRs and the like it's trickier.
For me that's the problem that needs solving, I don't need an ultra complicated blockchain-powered solution where people can vote for the font of the UI with cryptotokens.
At a glance, and if I understand it correctly, Radicle seems more pragmatic in that way. Cryptocurrency is used for donation and securing entries in the global namespace in a decentralized way, the rest is just a bunch of standalone servers. Then you can decide to host your code on an existing instance or spawn your own. A bit like how Mastodon works for instance.
It’s the same idea that we already use for our code but applied to all the other bits that are necessary for maintaining projects.
There are some pretty obvious problems with actually implementing this, however. One of which comes down to getting all the existing code hosting solutions to agree on a standard. As they could simply create ancillary standards to differentiate thenselves. Not to mention all the work involved in implementing this when most people are accepting of what we have now (until it bites them somehow).
Code breaks when old packages are unpublished or repositories deleted. Push once and fetch forever solves this.
Also Centralized solutions are providing open source collaboration tools for free, storage for free, because of their revenue from enterprise customers.
What happens when they decide to shut down? or change their policies? or just comply with wrongful takedown notices?
The problem with email servers is you need a special type of sys admin to maintain them properly, they are not for the light at heart when used anywhere beyond the most trivial case. Any server that grows to some well-used size has a myriad of problems (getting outright blacklisted, etc).
The main problem we encountered with similar systems that rely on blockchains / dht for storage is the problem of 'blockchain poisoning'.
This is when someone deliberately adds illegal content to an append-only source in hopes to make the sole act of replicating the project legally problematic, as correctly pointed out by Konstantin Ryabitsev of the Linux foundation with regards to a previous version of Radicle that was relying on IPFS. see https://radicle.community/t/the-radicle-social-model/317
Under this model, every user (or project) can choose their own moderators, which means you don't have to worry about other parts of the community having different ideas for ideal moderation - each project/user can subscribe to the moderation feeds that they like, and ensure that they get a clean experience.
This type of moderation is actually an upgrade from centralized systems, because it is much easier to nominate new moderators if you don't like what the old moderators are doing.
{…}
code: "EACCES"
errno: 13
message: "Error: EACCES: Permission denied."
path: undefined
stack: "n@https://gitopia.org/main.js:277:55609\non/<@https://gitopia....
syscall: ""
<prototype>: Object { constructor: n(t, n, r), toString: toString(), toJSON: toJSON() , … } main.js:339:94885 c https://gitopia.org/main.js:339 configure https://gitopia.org/main.js:277 store https://gitopia.org/main.js:277 on https://gitopia.org/main.js:277
This kind of thing always makes me sweat. Are deletes at all possible? What if someone accidentally pushes keys to the repo? On regular github, at least you can nuke the whole repo and start over if need be.
At which point you may as well leave them there...
https://gitopia.org/#/z_TqsbmVJOKzpuQH4YrYXv_Q0DrkwDwc0UqapR...
But honestly after reading the page it look fine to me. Oddly enough they seem to use cryptocurrencies as... currency. They don't bullshit you by saying that you're going to store your code on the blockchain.
Besides, while I long ago became tired of the cryptocurrency crowd reinventing squared wheels every other month, the problem of rewarding open source developers is still very much an open issue, so I'm willing to give it a chance, even if I'm not holding my breath.
This seems like a cool project frankly, at least on paper, I don't think it's fair to discard it just because it bundles some optional Ethereum support.
Actually after downloading the upstream client my only complaint so far is that it's yet an other bloated Electron app, but such is life in 2020...
In this particular case Radicle came out of OScoin (or is the new incarnation of it?) and was funded by BlueYard.
Yes, there's a lot of shady activity, a lot of scams, a lot of broken technology, and a lot of people with visions they can't deliver upon, but the same was true in the early days of the Internet and blockchain is starting to move past the 'dotcom bubble' phase and onto 'this tech is actually useful' phase.
It's not there yet, most of the tech is still nascent, but it's a lot less nascent than it was in 2017, and there are more people working on it than ever.
I'll readily admit there are very few yes-p2p and no-blockchain projects out there, but we exist
That proof-of-work in the Bitcoin system itself (without use of an external entity to handle proof-of-stake) is today largely handled by workhorses like those getting cheap electricity from thermal vents in Iceland (https://www.wired.com/story/iceland-bitcoin-mining-gallery/) verifying more and more transactions for less and less benefit. They're reliant on Moore's law and cheaper and cheaper energy, with more and more trust overhead processing by validating transactions, which doesn't necessarily scale, creating a need for proof-of-stake entities to substitute.
Etherium (the system) contains within it proof of stake, but external entities (e.g. Kraken, etc.) can still validate proof of stake, if desired. Personally, I'm unsure if Etherium's proof of stake on its own is enough, because I think blockchain can be compromised (https://www.technologyreview.com/2019/02/19/239592/once-hail...).
So, that's essentially why they choose Etherium (proof of stake).
Global equity and inequity revolves around those that essentially "hold" the value (proof of stake), and banks hold the money in our current financial system, largely based on USD (https://www.investopedia.com/articles/forex/11/popular-curre...). Large banks have the ability to basically "re-use" debt multiple times, creating debt from debt (via Fractional Reserve Banking) as well as other means (https://www.investopedia.com/articles/investing/081415/under...). Wherever you are and whatever chaste you're in, if you can sell your potential for paying a bank back, they can create money out of debt for you. Yes, this devalues the currency, but if you do well with it, you come out on top, you give back in interest, and the overall value is greater than the inflation of the currency, and outsiders investing in those companies can be important. If investment, etc. fails or the market fails, that system fails. Otherwise, it kind of works ok.
The proof-of-stake entities will hopefully continue to generate value similar from nothing/debt to help those that can help others until this world is done and we move on.
Of course, if there were no money and we all just did work for each other, I think that could work also. While money was still made from work, there is some element of communal living / working for each other in Christianity (https://www.reddit.com/r/AskBibleScholars/comments/ah5850/di... https://www.pbs.org/wgbh/pages/frontline/shows/religion/maps...).
But, 1960s hippie communes tended to get corrupted by drugs, relationship problems, abuse, etc. (https://www.nytimes.com/1998/08/03/us/excesses-blamed-for-de...) And countries that adopted Communism and Socialism have tended to include leaders that really mistreated their population or performed other atrocities, or it just didn't work (https://en.wikipedia.org/wiki/Human_rights_in_the_Soviet_Uni... https://www.amnesty.org/en/countries/asia-and-the-pacific/ch... https://www.heritage.org/progressivism/commentary/three-nati...).
I'm not an expert in these things, so let me know what I'm not understanding.
http://blog.vmsplice.net/2020/12/understanding-peer-to-peer-...
This doesn't cover how Radicle works but instead explains the general ideas of peer-to-peer git forges.
Also I don't see how you can create issues. Is it not implemented yet?
It's an interesting project but it feels like very early alpha-grade to me. The client gives very little feedback on what's happening and what you can do.
> Software as it should be.
> Free forever
Mostly all popular projects need some form of funding, and setting the expectaction of a free lunch forever for new users is not healthy. Btw, do you remember who used the tagline "It's free and always will be"? It was Facebook.
Which makes me wonder: should we come up with a new name/classification for software that is 'free as in freedom' but not 'free as in beer'?
You think it would be better if we gated access to a valuable technology behind something that excludes people without money to spend?
But p2p is more about the network connectivity than whether the node is an Amazon server or a mobile phone. The normal Web for instance does not build on this network nodes capabilities. We need more apps that build these kind of collaborative and self-sustainable networks
So,how is using Radicle better than:
1. main repo on https://github.com
2. mirror repo on https://repo.or.cz
3. mirror repo on https://codeberg.org
4. local backup on my device and hard-disk.
peer-to-peer is beautiful concept but note that git is already distributed VCS. you can have many remotes and mirrors. Just that p2p is not necessary here in git and using Radicle doesn't free my Code.
It has an issue tracker, pull request manager, manages releases and users,... All this cannot be replicated with a simple "git clone".
What Radicle seems to do is to offer some sort of social network on top of git. The novelty here is not the decentralized nature of git, in fact it is what radicle relies on to make its social network decentralized.
OK, let's say you use your Github account for all of them instead, now you have centralized your accounts and if you're another youtube-dl, Popcorn-Time or just happen to be unlucky enough have the nationality of a country that the USA likes to hate against, that account is gone.
As for updating all those mirrors, how do you do that? `git push --all` ? `git push --mirror` ? Is git configured to so automatically? Or are you going to configure push hooks on one of those services?
What about your issue/ticket and PR/MR management? Where will that be? Are you going to use an in-git solution like https://github.com/MichaelMure/git-bug, somehow sync everything using custom scripts or wait for https://forgefed.peers.community/ to be finalized and implemented by all code hosts?
How are you going to collaborate with others?
How are you going to introduce newcomers to all these options?
Do you know of a tool that solves most (or all) of those issues?
But,github wanted to make this process easier for the people,hence they included issues,fork and PR model. It was easily done with intuitive interface without necessity of email for workflow, but if you have asked me, i would have issues,wiki,etc. integrated within repo just like Fossil VCS.
p2p is cool but not solution to this . gitea/gitlab/etc. already provide importing of issues with repos and if not,they must provide that feature.
Radicle attempts to take back control (just like running your own instance), but without giving up network effects.
Anyone who really wants to contribute to the project (and scratch their itch) will not have a problem with entering a username, password, and perhaps use a validation link from an e-mail. It might discourage people with just fleeting interest.
And as a hypothetical FOSS project maintainer, I know I'd rather have one of the first kind of contributor than ten of the second kind. Especially if the alternative is to be beholden to the likes of Microsoft.
Of course, the best solution would be something like ForgeFed, but I can't see that meaningfully taking off (there's no way Github will ever adopt it). I'd love to be wrong, though.
I can’t see the point for projects that don’t run this risk though.
I am wondering if it can host private repository as well, or is it just meant to host public repositories?
So, ultimately, you always end up with somebody providing the convenience of not throwing your data away for a fee. Github and Gitlab seem to be the popular options for that. Gitlab is actually open source and you can self host it if you want and many do. But the reason they have a nice valuation is that they have lots of customers that prefer them to do it.
Given that it's MIT Licensed, you can even do that and offer it as a service probably (Amazon, there's a nice idea for you :-) ).
> Social collaboration features (i.e. bug reports, patches, discussions etc...) are all on the Radicle roadmap. They will work very similarly to the experiences we have now, but will be local-first and cryptographically signed. This means issues, PRs, and discussions will be more secure, available offline, and stored on your machine as git objects — not on a central server!
Consider using an existing solution like https://github.com/dspinellis/git-issue or https://github.com/neithernut/git-dit or https://github.com/MichaelMure/git-bug
https://github.com/welldan97/WeGit
https://github.com/cjb/GitTorrent - based on BitTorrent
https://github.com/dhappy/git-remote-ipfs - based on IPFS
https://github.com/noffle/hypergit/ - based on Dat
Do you know if it is possible to use fossil locally pushing/pulling to/from git remote repositories? Thinking of some kind of bridge like git-svn.
These are all ERC20 tokens so easy to integrate into Radicle, and offer a way to allow developers to get paid peer-to-peer while completely avoiding the price volatility of typical cryptocurrencies.
https://git-scm.com/docs/git-send-email
Git was designed for patches (diffs) to be sent in email. That’s how many people used it before GitHub.
Unfortunately it loses a lot of convenience by not having some kind of web interface, even if it's only for discovery. One way for something like this to spread is by sharing project URLs that anyone can open in a web browser.
There is a lot more we want to do for discovery, in this release we focused on replication of git based projects.
Is there a good resource for learning p2p and how the protocol works around establishing who owns the most up to date data?
If the answer is yes: I'm afraid to tell you that the system is not peer-to-peer in the sense that there is a central authority to censor what content is to be shared. Therefore projects like youtube-dl can be easily erased.
If the answer is no: Such a system with no possibility of censorship is too dangerous. What if there is literally no way to prevent information that threatens the security of the US from being shared? Fortunately as of now, no such a system exists on the planet. Maybe you now have a vague idea why such a system does not exist.
Tor, GNUnet, I2P?
Gonna keep an eye on it.
Sure sounds nice though, hope it turns out. Hope they are considering a web frontend for the network as well.
The team behind it seems super responsive and engaged.
Is... is that a problem with GitHub that stops you from doing that?
Radicle, on the other hand, keeps all of this replicated locally, so push/pull works offline, and the code/social artifacts are replicated asynchronously, when you are online, but you don't need to be online to work with your project(s).
This is a social coding tool that provides collaboration features on top of Git.
It provides a desktop app because it’s peer to peer. That’s an advantage over a web UI for developers looking to avoid a dependency on a centralised third party.
You are free to continue to play in walled gardens but this is very much an alternative to that.
I can have git installed on my device, work locally and instead of pointing to github, have a scuttlebutt like updates for PRs
Question is who wants this? and what does this do to open source code?
Keep your cryptocurrency out of my SCM
If github disappears tomorrow, all the code will be safe and decentralized already, yes, but most of the workflow of the software world would be significantly stunted for a good while, because everyone would need to migrate to something else (like GitLab) and then take the time to rebuild all of the data and flow that is on Github but isn't captured within the actual git repository.
There's a time and a place for this sort of web design. I feel strongly that presenting some software to technical minded people is not.