There is the recent discussion about github.com and Iranian developers.
@muneeb suggested that blockstack would be a good place to start with and lots of people responded to that tweet. To me it is not clear what the challenges are and what parts are already solved.
So, I try to write it down here and look forward to bring together blockstack developers that want that want to solve this issue together with Microsoft’s Daniel.
Can you link the tweet? From what I can tell it is because Github is an American company and there are certain trade sanctions going on.
(please nobody make this thread political – problems like this will inevitably come about and making a solution is more productive then trying to prevent the problem in the first place)
It could be possible with a custom Gaia hub or a Hestia hub with a plugin – but there are a couple issues with this:
Who would do this because of monetization? While you could limit the client side through username/subdomains (i.e. only usable if you own “{username}.mygitapp.id” or whatever), that can be hacked.
If you had logic server side, then you have to host it – and if you host it, then you can be sued by the gov’t in situations like this
If you had logic on your own stacks blockchain, this would work better (it’s quite hard to ban a blockchain) – but then you have to have the stacks to burn to do the logic (even the “free” users), which means you have to own bitcoin, which is a huge hurdle in itself, but I digress as this seems to be the best way to do things.
Of course the Stacks chain isn’t really usable right now, so…
I don’t think we need to bring the git protocol to blockstack, git is decentralized enough. It is the centralized parts of github that I would like to solve.
The issue that Iranian developers might have now (it is just my best guess) is that it is much harder to send pull requests, to build a public reputation, to review and merge pull requests and to create forks.
Working with the code still works as usual as you can use any git server (or work just locally).
I get a blank screen when I sign in Using Chromium.
Got the following errors in the console:
react-dom.production.min.js:4408 TypeError: Cannot read property '0' of undefined
at e.value (Avatar.js:15)
at Va (react-dom.production.min.js:4978)
at qa (react-dom.production.min.js:5123)
at react-dom.production.min.js:5975
at Object.e.unstable_runWithPriority (scheduler.production.min.js:274)
at Cs (react-dom.production.min.js:5974)
at Ms (react-dom.production.min.js:5958)
at As (react-dom.production.min.js:5925)
at ks (react-dom.production.min.js:5860)
at Ja (react-dom.production.min.js:5787)
at Fs (react-dom.production.min.js:6077)
at Ns (react-dom.production.min.js:6085)
at Ls.render (react-dom.production.min.js:6276)
at react-dom.production.min.js:6360
at Bs (react-dom.production.min.js:6007)
at Hs (react-dom.production.min.js:6359)
at Object.render (react-dom.production.min.js:6390)
at Module.610 (index.js:7)
at f ((index):1)
at Object.269 (main.de169042.chunk.js:1)
at f ((index):1)
at a ((index):1)
at Array.e [as push] ((index):1)
at main.de169042.chunk.js:1
react-dom.production.min.js:4408 TypeError: Cannot read property '0' of undefined
at e.value (App-Container.js:81)
at Va (react-dom.production.min.js:4978)
at qa (react-dom.production.min.js:5123)
at react-dom.production.min.js:5975
at Object.e.unstable_runWithPriority (scheduler.production.min.js:274)
at Cs (react-dom.production.min.js:5974)
at Ms (react-dom.production.min.js:5958)
at As (react-dom.production.min.js:5925)
at ks (react-dom.production.min.js:5860)
at Ja (react-dom.production.min.js:5787)
at Fs (react-dom.production.min.js:6077)
at Ns (react-dom.production.min.js:6085)
at Ls.render (react-dom.production.min.js:6276)
at react-dom.production.min.js:6360
at Bs (react-dom.production.min.js:6007)
at Hs (react-dom.production.min.js:6359)
at Object.render (react-dom.production.min.js:6390)
at Module.610 (index.js:7)
at f ((index):1)
at Object.269 (main.de169042.chunk.js:1)
at f ((index):1)
at a ((index):1)
at Array.e [as push] ((index):1)
at main.de169042.chunk.js:1
react-dom.production.min.js:5940 Uncaught TypeError: Cannot read property '0' of undefined
at e.value (Avatar.js:15)
at Va (react-dom.production.min.js:4978)
at qa (react-dom.production.min.js:5123)
at react-dom.production.min.js:5975
at Object.e.unstable_runWithPriority (scheduler.production.min.js:274)
at Cs (react-dom.production.min.js:5974)
at Ms (react-dom.production.min.js:5958)
at As (react-dom.production.min.js:5925)
at ks (react-dom.production.min.js:5860)
at Ja (react-dom.production.min.js:5787)
at Fs (react-dom.production.min.js:6077)
at Ns (react-dom.production.min.js:6085)
at Ls.render (react-dom.production.min.js:6276)
at react-dom.production.min.js:6360
at Bs (react-dom.production.min.js:6007)
at Hs (react-dom.production.min.js:6359)
at Object.render (react-dom.production.min.js:6390)
at Module.610 (index.js:7)
at f ((index):1)
at Object.269 (main.de169042.chunk.js:1)
at f ((index):1)
at a ((index):1)
at Array.e [as push] ((index):1)
at main.de169042.chunk.js:1
@Kailuas git is a good decentralized protocol for version control, therefore, I think it does not help if gitix becomes another git service provider. There are other features of github that needs decentralization. gitix starts with the profile page of developers. Other features, like pull requests (across git service provider) and code review or activity streams, could be added next.
A git service provider based on the gaia protocol would need either a customized git client or a centralized git server, both are not a good project to start with.