axic / mango

Mango: Git, completely decentralised.
639 stars 40 forks source link

Microsoft acquiring GitHub? #5

Open markspereira opened 6 years ago

markspereira commented 6 years ago

It would be a really good initiative to have Mango as the backend component for a github like front-end application. I would happily work towards this.

YZhenY commented 6 years ago

With the recent events, I'd be a fan of working towards something similar too. Keen to hear more.

DanielMcCoshen commented 6 years ago

I'd be a fan as well, with recent developments

bmiller59 commented 6 years ago

I agree! Now is the right time to push a decentralized git alternative. The question is which one? A productive discussion is currently underway here: https://github.com/upend/IF_MS_BUYS_GITHUB_IMMA_OUT/issues/44

I encourage one of the knowledgeable project maintainers to actively engage in the conversation/debate about alternatives and advocate for mango. This could attract many more developers/contributors/users and lead to true github alternative. Thank you for your consideration.

A comparison spreadsheet is referenced on that issue, but it does not yet include mango details. Would be great to fill it out.

Thank you!

NOTE: The above forum is closing down but the Google Sheet is still available: https://docs.google.com/spreadsheets/d/1LZryaOx4VYHQ_oWLtRjvFrr4RhVjR484eFe7du3Usa4/edit#gid=0

taylorjdawson commented 6 years ago

Hey guys! I'm with you on trying to revive this repo or creating something similar. We have yet to create a standard decentralised version control system based on the blockchain. This is the frontier folks!

rubelux commented 6 years ago

I have been thinking on it for a long time, happy to help,

eykrehbein commented 6 years ago

I'm working on a similar system with an additional frontend layer like GitHub has.

aperonam commented 6 years ago

I have found this project, www.ethergit.io , with an active gitter https://gitter.im/ethergit-io/Lobby, which is basically a fully decentralized Github that uses Swarm for storage and ethereum smart contracts for governance of the repository. First release is announced to be in the coming months

rubelux commented 6 years ago

@jsrbn I have been looking at this as well but using Metamask and Electron instead of the online service, so it's more secure. Also, I have some other ideas in terms of meritocracy for repos governance.

taylorjdawson commented 6 years ago

@aperonam I am a little uncomfortable by the fact that they don't a public repo... but let's hope they come out with something great!

Sorkanius commented 6 years ago

@taylorjdawson they just announced in their gitter why the don't have a public repo, the answer is interesting:

Two reasons: We want to release a good first version people can build on tha thas a clear architecture and way forward. Right now there is lot of POC code and things we need to clean up. The second reason is that we want to release Ethergit on Ethergit.

taylorjdawson commented 6 years ago

So it looks like there are a few people/entities working towards a solution. @jsrbn is your system in a public git repository? @rubelux I would interested in hearing more about your ideas as well.

It would be cool to create a comparison sheet of the decentralised git systems. @Sorkanius Thanks for the info! Lol nice: “Release Ethergit on Ethergit.”

eykrehbein commented 6 years ago

@taylorjdawson not yet but working hard on the platform

osarrouy commented 6 years ago

Hey folks,

For those of you who are interested we are currently developing pando: https://github.com/ryhope/pando

We are funded and backed by the amazing folks from Aragon. The alpha release is out to play with on testnet and the project is moving quite fast.

Feel free to come and open an issue if you wanna help :)

osarrouy commented 6 years ago

Here is a small medium article if you wanna know more: https://medium.com/ryhope-network/pando-b5e1a2af3152 :)

taylorjdawson commented 6 years ago

@osarrouy did you guys get ifps working stable?

osarrouy commented 6 years ago

@taylorjdawson I'm not sure to understand the question but if it is about IPFS stability it runs pretty well right now :) Also: what's really cool is that at one point we intend to built a network layer on top of pando to leverage network effects - à la GitHub - and we'll be able to index these IPFS data through a distributed database to gain indexation, searchability, etc.

cs4026 commented 6 years ago

@osarrouy will the software be able to pull from IPFS directly, i.e. git pull "IPFS Hash"?

osarrouy commented 6 years ago

Hey @cs4026 !

Yes. Actually it is already able to do so.

You just have to configure it through pando config or pando config --global and it will let you set the url of a running IPFS node which will allow to push / pull directly from IPFS.

The whole idea is that all of your content is safely stored and replicated on IPFS - governance happening on the Ethereum blockchain through an aragonOS-based DAO.

At one point we will also provide a DAppNode app to let you run 'private' repositories: IPFS node which will only accept to get queried by a finished set of authorized people if you don't want the content of you repository to be public.

But the main use case, of course, are public repositories available to whoever wanna access them.

taylorjdawson commented 6 years ago

@osarrouy do you guys have a gitter/slack/telegram and/or website? Can you integrate with Gitlab? e.g. use Gitlab(or Hub even) to interface with ipfs backend?

osarrouy commented 6 years ago

Hey,

The website is under (re)construction : www.ryhope.network

We use a matrix chat internally: drop me your email if guy wanna join in. Otherwise we just have create a Telegram group: https://t.me/ryhope

Concerning Gitlab integration it won't work because pando is NOT git. We have rewritten a custom VCS from scratch to make it web3 / ethereum / ipfs native.

We've been thinking a long long time about that but using git as the underlying VCS is in fact a very bad idea because a distributed VCS such as pando allows you to do a lot of things git can't do and also revoke a lot of git functionalities - such as rebase, mail-patch and all - if you wanna enforce blockchain immutability.

So basically building an immutable / blockchain based VCS on top of git is like: ok it's git, but actually you can't use that command, nor that command, nor that command but you can use that command which does not exist in git, and this one, and this one, etc. We came out to the conclusion that it was a terrible idea :)

So pando's workflow and commands are very close to git's one but it's not git underneath - but a custom VCS whose indexing and staging primitives are IPFS and Ethereum natives.

Though, we do intend to offer an easy to use front-end. We're already working on it actually. We expect to have something to show concerning that feature in the next couple of months. Of course, anyone's help is welcome :)

osarrouy commented 6 years ago

Here is a small video if you wanna see pando in action: https://youtu.be/rpLpng6H2sM

We've been through a lot of improvements since them but that can give you an idea :)

taylorjdawson commented 6 years ago

@osarrouy thanks for the info! I am really curious to see how this compares to ethergit. Also would be interesting to hear what Linus Torvalds would think about your VCS implementation!

osarrouy commented 6 years ago

@taylorjdawson

LOL. Don't know about Torvalds's opinion about the VCS side: obviously we are far from the degree of optimization git has right now - plus we do not have the coding guru skills Torvalds have :)

What I know for sure is that he won't like the decentralized governance model pando will enable - the Linux kernel dev's governance is quite centralized right now :)

Concerning ethergit I can't tell. I wasn't aware of this project 3 hours ago :)

Let's wait and see the implementation when they go public. If the rationales are the same we could join our effort. Pando intends to be an open-source standard, not a product so we can merge with ethergit if it makes sense for both of us :)

taylorjdawson commented 6 years ago

@osarrouy lol nice. Good points. Just curious, why JS for implementation? How's performance?

osarrouy commented 6 years ago

Hey,

We went for js cause we need an implementation which can easily run on the browser. Moreover, js provides a lot of library for IPFS, Ethereum and IPLD. We aim to provide a rust / wasm implementation along with the js one when the interface is stabilized.

Concerning the performance we do have a few bottleneck but we are working on solving it for the next alpha release - in about a month.

Most of them are due to the current architecture and not to the JavaScript implementation :)

The first test we have with the new optimization make its quite fast. Not as fast a git which is mainly written in C obviously, but it won’t make a huge difference from a user point of view :)

taylorjdawson commented 6 years ago

@osarrouy Awesome! Thank you for answering my barrage of questions. I really look forward to what you guys produce!