Mike McQuaid writes about software projects and talks, including GitTorrent, WebRTC, Go-playing computers, and the future of JavaScript.
HN links it mainly for GitTorrent, a 2015 proposal for a decentralized GitHub, which commenters cite when discussing peer-to-peer code hosting alternatives like radicle.
GitTorrent: http://blog.printf.net/articles/2015/05/29/announcing-gittorrent-a-decentralized-github/
Imagine a world where GitTorrent is fully developed, includes support for issue tracking, and has a nice GUI client that makes the experience on-par with browsing github.com.
I mention this not as an "Everybody bail out of GitHub and run to GitTorrent!!!" sort of statement, because I believe GitHub's response here was excellent and confidence inspiring. But it's an unnatural relationship for community supported, open source projects to host themselves on commercial platforms such as GitHub. GitHub primarily hosts them to promote its business. That's not necessarily a bad thing, but it results impedance mismatches like demonstrated here.
That isn't to say that a mature GitTorrent would replace GitHub. Rather, I envision GitHub becoming a supernode in the network, an identity provider, and a paid seed offering, all alongside their existing private repo business.
Honestly, once I scrape a few projects off my plate, I'm inclined to dive into GitTorrent, see where it's at in development, and see if I can start contributing code. It just seems like such a cool and useful idea.
> Do you really want the basic ability for two devices to talk to each other depend on something that goes over the internet?
Set up your hosts file or edit the js to point at a local server.
Of course, if you're in China you'd get in trouble making connections to an outside STUN server but if you're in China you're in trouble making connections to the outside anyways, and the STUN connection is probably the least of your worries.
> just to use those poor imitations of sockets
... that work across NATs without issues, as opposed to real sockets...
---
In any case, WebRTC doesn't strictly speaking need discovery servers at all. See http://blog.printf.net/articles/2013/05/17/webrtc-without-a-signaling-server/ It still uses STUN for public-ip discovery, but comments indicate that can be bypassed by just configuring the connection to use a local IP for STUN. Unsurprisingly, not many people seem to actually care about that.
I don't think you're missing anything, except maybe just that closed-source is the default on macOS and Windows so the marginal loss of safety from one more closed-source privileged app isn't so high there.
For the moment maybe the best we can do is trying to use apps with screen sharing support included, e.g. Visual Studio Code's sharing.
Your mention of VNC reminded me of some work I did in 2008 :) https://blog.printf.net/articles/2009/01/26/multi-pointer-remote-desktop/
I assume you're suggesting something like including such a timestamp in the commit message? If that's the case, that makes a lot of sense to me. It would be cool to have a tool to automate this. Or something like GitTorrent[0] might do the trick if it had wider adoption.
[0] http://blog.printf.net/articles/2015/05/29/announcing-gittorrent-a-decentralized-github/
I was wondering what this project had to do with GitHub. Looks like the only feature from GitHub that this addresses is the global username namespace, which it decentralises using the blockchain.
Here's the article associated with the project: http://blog.printf.net/articles/2015/05/29/announcing-gittorrent-a-decentralized-github/
You might like this: http://blog.printf.net/articles/2015/05/29/announcing-gittorrent-a-decentralized-github/
Really you just want the very first part, since the more complex bits are around having mutable "latest" versions and usernames.
And here's the github repo: https://github.com/cjb/gittorrent