I am still here, I havenât touched the code of this project in a while but it was working last time I checked and the code is still available on the link provided if you want to try it
It will need updating first, because the network you used was pre-alpha2. I may try something similar in Nodejs, but not planning to get back into C++ myself. Currently looking for shortcuts
According to Solid chat today ActivityPub has been getting a lot of adoption. This might make it interesting for SAFE projects like Decorum or for general compatibility between the Standard Web and SAFEnetwork, although Iâm not sure such a Federated based approach maps well to SAFE. Having said that, yesterday I was thinking that the ssb-git (which is federated, ie git over secure scuttlebutt) could map really nicely to SAFEnetwork for a SAFE-Git, so these approaches are worth looking into, or a topic to discuss with Tim at some point. cc @Viv@krishna
Both @nice and I have been playing with ssb-git and Scuttlebutt apps with some success:
i kinda do dislike ssb. i think it has the same issues as blockchains in regard to scalability. Itâs ok if you have your own pub and thus only see a slice of the âworldâ but if you try to download the whole âworldâ then youâre lost.
I have a plan for how, but not the time to do this for now (want to get virtual drive done first). So if anyone wants to get this started I can suggest how to build it and help things along thanks to noffle, one of the Scuttlebutt guys, see:
We can build a git remote-helper for git with Nodejs using the CLI Boilerplate I made. This will enable people to use SAFEnetwork as a git remote with push, pull and fetch etc.
It would use a similar method to git-ssb to publish changes to a feed which others can consume (kind of pub/sub I think).
SAFE gitweb
If the first part is similar enough to git-ssb it should be a simple matter to modify git-ssb-web to make a web front end similar to github.
Whoâs in?
Anyone fancy a go at this? I donât mind you taking it over, me helping out, me leading, or me doing it in my own, but canâget it done quickly by myself. In fact it will be verrrry slow
Interested devs, please follow up on the Dev forum topic (cross posted here).
If you are interested or just want to play with git-ssb and git-ssb-web see the following post for instructions:
I think Pijul is a better contender for decentralized networks than git.
Git takes a whole snapshot of workspace for each commit
then it tries to find matching objects at the storage level and stores just the diffs to save space
thus creates one compressed file which changes each time itâs recreated (git gc or autogc), resulting in a completely new file containing all the repository data, which canât be efficiently stored (deduplication) on a content-addressable-network (immutable data)
Pijul stores a patch for each commit
then stores these patches as files at the storage level
thus one additional commit is just one additional file => old patch files donât change thus they can be efficiently stored on a content-addressable-network
tldr: git compresses all data to one file at the storage level, resulting in non-deduplicatable data. pijul works with compressed data (patches) at all levels, thus all patches can be stored as self-contained units allowing deduplication.
I think SAFE itself has a very efficient mechanism: make a snapshot of the data maps, save to Immutable Data and keep a pointer to that in a list along with tags etc. Not thought through, but illustrates the idea.
With that as the backend I think you can write a âgit bridgeâ, to use git as the front end. Possibly there are also similar ways to use other Version Control Systems as the front end, with a very efficient SAFE VCS backend.
All just ideas for now though! Busy elsewhere
Thanks for this though, it triggered the above thought!
UPDATE: I looked into Pijul a bit and it is interesting, although still alpha and obviously not well known or adopted. One to watch. Here are two articles I found helpful:
Pijul is also implemented in the Safe Networkâs native language, Rust. I had not heard of this VCS before it looks very interesting and appears to be much better suited to the Safe Network way of doing things.
pijulâs effortless merging and reordering might really lead to new and productive workflows. Are you old enough to remember when git was new and most people were still on SVN (or even CVS)? Lots of people were (quite reasonably) skeptical. âWho cares about easy branching? Itâs better to merge changes immediately anyway.â Or, âwho cares about distributed repositories? We have a central server, so we may as well use it.â Those arguments sound silly now that weâre all used to DVCSes and the workflow improvements that they bring, but it took time and experimentation to develop those workflows, and the gains werenât always obvious beforehand. Could the same progression happen with pijul?
Grow into a new modern Safe Network, and a new VCS, the projects could complement one another.
After reading some about Pijul, I am quite curious to try it out.
I manage a lot of Git merging from our software projects, and Pijul has some really nice characteristics that would have made things much easier. It seems like a more elegant solution.
Isnât SAFE cloned and backed up on multiple repositories, not just github? If not it should be. This move by Microsoft just proves the over dependence on centralization, even on an opensource brand like Github, breeds in weakness.
At minimum, before we have a truely safe based repository system, I would like to be able to check the checksums from outside github when Maidsafe releases binaries and distribute these on Github. The checksums should be computed locally at Ayr, and could be published here on the forum, for instance. I have absolutely no trust in Microsoft, and would love to be able to make sure they donât stuff nasty blobs in the files.