💾 Archived View for vi.rs › git-critique captured on 2020-11-07 at 01:46:38. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2020-09-24)
-=-=-=-=-=-=-
█░█░█ hen Linus designed Git he didn't build in decentralized solutions to all
▀▄▀▄▀ nine of the problems of distributed systems. As you will see, these
design choices made centralized corporate capture inevitable and something to
be concerned about.
Git's primary problems are its lack of decentralized solutions for discovery,
coodrination and coherence. How does a Git user find other people interested in
collaborating on a software project (i.e. discovery)? How does a Git user
easily exchange commits/patches and stay synchronized with other contributors
(i.e. coordination)? How does a Git user re-connect with their collaborators
after their flight to Hong Kong and everybody's IP addresses have changed (i.e.
coherence)?
Developers using Git must use an out-of-band (OOB) channel to find each other
and (re-)establish connections before they push/pull commits with each other.
Both of these shortcomings were supposed to be solved with email to exchange
patches instead of connecting to one another directly. However, the difficulty
of setting Git up to use email is prohibitive for most users, and only a select
few open source projects use it.
It is easy to see why the original design of Git didn't include decentralized
solutions and relied on email. Git was designed by Linus Torvalds for use with
the Linux Kernel project which relies exclusively on emailed patches for
collaboration. This historical affectation of the Linux Kernel community leaves
every other developer in the world longing for an easier solution. That desire
made centralized solutions such as Github and Gitlab inevitable. In the case of
the former, the design holes in Git created a $7,500,000,000 economic
opportunit for a corporation to exploit for profit.
Microsoft Buys Github for $7.5B
Microsoft buying Github should make everybody nervous. What happens if Github
suddenly becomes only compatible/optimized to work with VS Code and Azure
Pipelines? You know that is coming. Why do you think the Windows Subsystem for
Linux exists?
This is how Microsoft plans to make Linux/OSS hackers into Microsoft hackers
running Windows and using AZP with, and through, Github. The Git protocol is
standardized but what about all of the other necessary communications to really
develop software collaboratively and to maintain a community around it
(i.e. coordination)? Github uses HTTPS but the API's are entirely proprietary.
That's is all Microsoft needs to close the loop around the entire Github market
share of the open source world.
The entire open source world relies on Github and is now dependent on the
continued goodwill of Microsoft. Let us not forget the sustained assault
Microsoft waged against the Linux community and open source in general all
through the 1990's and 2000's. The bad blood makes many open source developers
uneasy about the current situation. It is time to move away from Git and Github
to a fully decentralized collaboration tool for writing software, tracking
bugs, discussing changes, and managing project governance.
▪ .
.
█▀▀ █░█ █▀▀ █▀▀ █▀█ █▀ █
█▄▄ █▀█ ██▄ ██▄ █▀▄ ▄█ ▄
. ▛ ╿ ▋
▎ ▪ ╵ ▎ .
▏ ╵ ▏
▏
▎