8 ms·
Pretty cool that Linus Torvalds invented a completely distributed version control system and 20 years later we all use it to store our code in a single place.
by bandrami 1y ago
Pretty cool that Linus Torvalds invented a completely distributed version control system and 20 years later we all use it to store our code in a single place.
- moralestapia 1y agoCare to explain?
- aucisson_masque 1y agoLinus Torvalds invented git, which is what's used by GitHub and others like gitlab.
- moralestapia 1y agoI know that, I just didn't get this part "and 20 years later we all use it to store our code in a single place". And as I can see here, no one else did ...
- joha4270 1y agoIf GitHub went down, how much would it impact the open source world? Sure, there would be local copies everywhere, but for a distribution version control system, it's pretty centralized at GitHub
- kgeist 1y agoIf GitHub went down, the code would be fine (just announce a new official URL), but the main thing that would be lost is issues and pull requests. Maybe Git should add official support for issues and pull requests in its metadata to be fully decentralized.
- nurumaik 1y agoFully decentralized metadata so we can finally have merge conflicts in PR comments while discussing merge conflicts
- joha4270 1y agoYes, as a I mentioned there is plenty of local copies of the code floating around. Everything else... as the original comment said, is pretty centralized for a decentralized system.
- moralestapia 1y ago>for a distribution version control system, it's pretty centralized at GitHub This is what I don't get ... what is the alternative to GitHub?
- IshKebab 1y agoPlenty of people use Codeberg and Gitlab. And it's still distributed - I don't need to lock files and ask coworkers if I can work on them. Maybe if Git had native support for PRs and issues this wouldn't have happened. (And yes I'm aware of git send-email etc.)
- mmis1000 1y agoI think it would be great if git have some kind of soft lock by default (like attach a text on some file without make it into actual commit). It could probably make peoples' live easier when you and teamates need to communicate what files you are changing thus reduce the chance of conflict.
- mhh__ 1y agoGit should have issue support or something like it as a convention but pull requests are an abomination that we are stuck with. No thank you.
- torben-friis 1y agoCan you expand on that? I’m probably younger but I can’t imagine a more comfortable way to review code.
- eru 1y agoPull requests are great, but the typical github UI isn't necessarily the best way to review code. It's often useful. But sometimes you want to use other tools, like firing up your editor to explore.
- ratatoskrt 1y agoTo be fair, Git itself is a bit of a pain, and GitHub's main achievement is/was to make it somewhat bearable.
- casenmgreen 1y agoI regard the Git docs as being fully equal to scientific Wikipedia articles. Everything is fully and completely explained, in terms which mean nothing.
- eru 1y agoI find both Wikipedia and Git docs typically more useful than this. Much more. (They ain't perfect, of course.)
- casenmgreen 1y agohttps://en.wikipedia.org/wiki/Declination https://en.wikipedia.org/wiki/Declination "In astronomy, declination (abbreviated dec; symbol δ) is one of the two angles that locate a point on the celestial sphere in the equatorial coordinate system, the other being hour angle. The declination angle is measured north (positive) or south (negative) of the celestial equator, along the hour circle passing through the point in question." Anyone who doesn't know what declination is, know from reading the introductory paragraph of this scientific Wikipedia article? Anyone? no? :-) I rest my case, m'lud.
- squigz 1y ago> Anyone who doesn't know what declination is, know from reading the introductory paragraph of this scientific Wikipedia article? Why should this be a metric one would want Wikipedia to meet? It's an encyclopedia, not an astronomy course. Of course, the brilliance of Wikipedia is that if you think you can write a clearer intro, you can do so! You could even add it to the simple language version of the page - https://simple.wikipedia.org/wiki/Declination https://simple.wikipedia.org/wiki/Declination
- 1y ago
- SCdF 1y agoI get what you're saying, but tbf hosting on github doesn't (yet!) box you out of just moving back to that system. It's still just git. It's still distributed, in the sense that if github goes down you could still generate patches and email them around, and then push back to github when it's back. Everything surrounding code: issues, CICD, etc, is obviously another story. But it's not a story that is answered by distributed git either. (though I would love a good issue tracking system that is done entirely inside git)
- littlestymaar 1y ago> Everything surrounding code: issues, CICD, etc, is obviously another story That's what Github is though, it's not about the code itself it's about all your project management being on Github, and once you move it, moving out isn't realistic.
- xboxnolifes 1y agoSure, but then we are no longer talking about git.
- enos_feedler 1y agoAnd how are we suppose to solve this problem? By creating distributed versions of every possible component of every piece of software? Seems unrealistic. I think we should be grateful that the core underlying protocol for the most important data has the distributed properties we want. It's a lot more than we can say vs. lots of other platforms out there.
- vasco 1y agoMost people have it at least in two places if they work alone and in many places if they work with others. Having a consistent central UI doesn't take away from the distributed part, while adding a bunch of goodies.
- baq 1y agoWhen you clone a repo you store it on your computer, too. Don’t confuse version control with CI servers/bug trackers/software forges.
- sorbusherra 1y agowhich is also owned by microsoft, that uses github data to train large language model. So, after decades of trying to kill linux and sabotage it, they finally figured out how to own it.
- masfoobar 1y agoAs a Free software supporter, its just a matter of time before we lose out on our freedoms. Honestly, once Linus retires I do think Linux will continue to thrive with a good team but Linux, the kernel, will either have to adapt to current times (whatever that can be in the future) or something else will replace it and, likely, some AI aspect on top. It wont be free software and, likely, it will be Microsoft.
- littlestymaar 1y agoMoving to git is understandable (Mozilla was using mercurial) but Github, really? It's not like the hairy C++ code base of Firefox will suddenly become less scary and attract more open source developers simply because it's moving to Github.
- snickerbockers 1y agoironically hardly anybody outside of the linux kernel community uses it the way it was intended lol. Didn't all this start with Linus getting into a spat with the bitkeeper dev involving some sort of punitive measure as a response to somebody making a reverse-engineered FOSS client? I don't remember the details and I'm sure I have at least half of them wrong, but that's easily one of the most disastrous decisions in the history of the software-business right up there with valve turning down minecraft and EA refusing to make sports games for the SEGA dreamcast (that last one isn't as well known but it led to SEGA launching the 2k sports brand to which outlasted the dreamcast and eventually got sold to a different company but otherwise still exists today and is still kicking EA's ass on basketball games).
- formerly_proven 1y agoIt would've made sense to change many defaults in git for "normal users" ages ago (git 2?) instead of keeping the kernel-workflow defaults.
- vintermann 1y ago> Didn't all this start with Linus getting into a spat with the bitkeeper dev It's a joke that the bitkeeper dev has two revision control named after him, Mercurial and Git.
- bitwize 1y agoI've heard the one that says much like Linux, Git is named after Linus himself.
- vintermann 1y agoThat's what he says, and it's a sensible thing to say to not keep focus on old grudges, but people were really exasperated with Larry McVoy back in the day so I'm not sure it's entirely historically honest!
- midnightclubbed 1y agoEA not making sports games for Dreamcast wasn’t a bad decision for EA. It cost Sega a huge amount of money to produce and license their own sports games exclusively for Dreamcast, not having EA sports was a huge blow. And while NBA 2k destroyed NBA Live it took until 2009 for that to start happening (long after Sega ownership), mainly down to sliding standards in EA’s NBA Live titles and eventually some disastrous EA launches.
- lmm 1y agoTurns out the important part wasn't the distributed-ness at all (unless you count being able to work offline). Many such cases.
- globular-toast 1y agoOh it is, but I think people forget what the distributed model gets you. It isn't just about having a completely decentralised workflow. When you clone a repo you have everything you need to keep working on that project. You have your own copy of all the branches which you are free to do whatever you want with. This is what makes it fast. Every clone has a brand new master branch and you never needed to ask anyone or get agreement to get your own branch to work on. Commits on your branch will never interfere with anyone else's work. You don't need to lock files and complete your work as quickly as possible. You can do as many commits as you like, a hundred in a day is not unheard of, because it's your branch. Previously people would commit once a day at most and sometimes not even until the end of the week, which is just unthinkable to a git user. A git clone is your own personal repo which allows you to use version control before you even share anything with anyone.
- spookie 1y agoYup. It's an extremely powerful workflow, you won't fear trying new ideas, you aren't fully commited to them (hehe).
- eru 1y ago> You have your own copy of all the branches which you are free to do whatever you want with. That's the default. But git would work just as well, if by default it was only cloning master, or even only the last few commits from master instead of the full history. You can get that behaviour today, with some options. But we can imagine an alternate universe were the defaults were different. Most of what you say, eg about not needing lockfiles and being able to make independent offline commits, still applies.
- globular-toast 1y ago
- OtomotO 1y agoI find this comment really interesting, because NONE of my clients in the last 10 years of (self-) employment had even a single codebase on GitHub. I am contributing to a few open source projects on GitHub here and there though.
- voidspark 1y agoGitHub is not Git. Git is by far the most widely used VCS. The majority of code hosting services use it.
- OtomotO 1y agoYes, I am aware. I didn't claim anything else. My clients don't use GitHub. Most of my clients do use Git. (some use other VCS) What made you think I thought differently?
- Barrin92 1y agoIt's no more surprising than the fact that we invented distributed protocols to talk online and yet people use gmail or Facebook rather than sending data over the wire themselves. People who are very insistent on distributed solutions never seem to understand that the economic, social and organizational reasons for division of labor, hierarchy and centralization didn't suddenly go away.
- johannes1234321 1y agoThe reason is that it is more than code. Managing identity is hard and for many projects besides having a source of truth for the repository you also need some degree of project management (bug tracking) And: Even though source of truth is centralized for many projects in GitHub, git still benefits from being distributed: It's the basis for "forks" on VithUb and for the way people develop. Ja jung the clone locally and committing locally and preparing the change set for review. In the CVS/SVN days one had to commit to the ce teal branch way sooner and more direct.
- eru 1y agoYes, in git you get the benefit of fine-grained version control while you are still exploring. Then later on for the PR, you can sanitise the whole thing for review. In the bad old days, you only got the latter. (Unless you manually set up an unrelated repository for the former yourself.)
- ahoka 1y agoGit wouldn't be mainstream without GitHub though.
- dijit 1y agoIt might feel like that now, but in 2011 github was just one of a bunch of code forges and at the time they were all similar in quality. Gitorious was chosen for the meego/maemo team for example.
- petepete 1y agoIn those days GitHub probably had more eyes on it in a day then Gitorious did in a quarter. And I am one of the people saddened by the convergence on a single platform. But you can't deny, it's always been pretty great.
- TuxSH 1y ago> And I am one of the people saddened by the convergence on a single platform. Hardly surprising, though, social networks are prone to centralization (due to network effect), and GitHub & its competitors (anything that offers git repos + issue tracking + fork-ability, really) are social networks. Also, GitHub offering private repos for free right after they got acquired by Microsoft helped a lot. A lot of people, myself included, were using gitlab.com for private repos at that time
- novaRom 1y agoLinus Torvalds is one of those people whos impact on the world is significant even if he was not driven by financial initiative. It’s crazy how much one person can change things just by solving their own problems really well.
- deleted 1y ago[deleted]
- tester756 1y agoWhy should we care about what Linus invented?
- ghosty141 1y agoI don't get this. Git is still distributed, even if the "main" repo is on github, everybody still has a local copy. You are confusing project management (which github effectively does) and git. Git is still git, github is just a project management tool with git integration. In the Linux kernel the project management is done via email (which is also just a centralized webserver in the end), so whats the problem?
- miyuru 1y agoThe problem is lot of Dev tools has centralized on GitHub, so much so that we cannot use IPv6 only servers for development because GitHub does not support IPv6. From what I use composer and brew relies on GitHub to work. https://github.com/orgs/community/discussions/10539 https://github.com/orgs/community/discussions/10539
- phire 1y agoPeople have forgotten just how bad centralised version control was in 2005. If you weren't connected to the internet, you couldn't do a thing. You couldn't checkout. You couldn't commit. You could create branches. The only thing on your computer was whatever you checked out last time you were connected to the server. People talk about SVN, but it wasn't that common in 2005. None of the project hosting platforms (like SourceForge) supported SVN, they were all still offering CVS. If you wanted to use SVN, you had to set it up on your own server. (From memory, google code was the first to offer SVN project hosting in mid-2006). Not that SVN was much better than CVS. It was more polished, but shared all the same workflow flaws. Before Git (and friends), nothing like pull-requests existed. If you wanted to collaborate with someone else, you either gave them an account on your CVS/SVN server (and then they could create a branch and commit their code), or they sent you patch files over email. The informal email pull requests of git were an improvement... though you still needed to put your git repo somewhere public. Github and its web-based pull requests were absolutely genius. Click a button, fork the project, branch, hack, commit, push, and then create a formal "pull request". It was nothing like centralised project management systems before it. A complete breath of fresh air.
- chgs 1y agoPull requests aren’t part of git. They are a feature of one implementation.
- dezgeg 1y agogit request-pull is.
- phire 1y agoThis 2007 talk [1] of Linus Torvalds promoting git to Google was how many people were introduced to the concept of git in those days before GitHub, I remember watching it myself. Emails requesting other maintains to pull your branch was very much the suggested workflow around git. And it was actually part of git. Even back in 2005, git included a script git request pull that generated these pull request emails. I'm pretty sure people called these emails "pull requests" before GitHub came along. [1] https://www.youtube.com/watch?v=4XpnKHJAok8 https://www.youtube.com/watch?v=4XpnKHJAok8
- TZubiri 1y agopretty cool that we have a distributed version control system but people still complain that the distributed version control system is not itself hosted on a public distributed version control system like a ouroubouros of transparency so transparent that you can't even see the thing and you lose it because you don't know where it is and you lose yourself in a maze of infinitely branching dependency tree of self hosted bug trackers and federated account systems so that you can keep track of your bug reports and compile the bug tracker from scratch and all of a sudden you are building linux and you want to report a linux bug, but you need to send an email so you build an HTTP server but you don't have a C compiler yet so you download the latest C source code, but you don't have a C compiler to compile it, so you just make a github account and learn to compromise on your ideals welcome to adulthood.
- csomar 1y agodistributed # decentralized. The point of distributed is to keep a copy of your own. The point of decentralized is to not have a central point of authority.
- contravariant 1y agoI'm fine with it as long as ssh still works.
- NexRebular 1y agoIt really is a tragedy that git monoculture is winning over Mercurial, Fossil and other better designed alternatives. Don't even have a nice github-like service for Mercurial anymore as Bitbucket decided to give up.
- 1wd 1y agoheptapod is GitLab with Mercurial support.
- NexRebular 1y agoWhich I used until they stopped releasing prebuilt packages without subscription.
- int_19h 1y agoThis happened mostly because the benefits of those other tools over git are so marginal that they don't provide a strong motivation to pick them over git unless everything else is equal. With GitHub in the picture, everything else is not equal, and so...
- BeetleB 1y agoI had been chronically depressed with Mercurial's decline, but now at least jj gives me hope for sanity: https://github.com/jj-vcs/jj https://github.com/jj-vcs/jj
- m-schuetz 1y agoI have no use for a distributed source control system. I want my stuff consolidated at one place.
- starspangled 1y agoReally? You rm -rf your working trees each evening before you finish, and git clone them from github in the morning? :) I store my code in a completely distributed fashion, often in several places on different local devices (laptop, build server, backup, etc) not to mention on remote systems. I use github and gitlab for backup and distribution purposes, as well as alternative ways people can share code with me (other than sending patch emails), and other people use git to get and collaborate on my work. distributed version control system doesn't mean distributed storage magically happens. You still need to store your code on storage you trust at some level. The distributed in DVCS means that collaboration and change management is distributed. All version control operations can be performed on your own copy of a tree with no other involvement. Person A can collaborate with person B, then person B can collaborate with person C without person A being in the loop, etc.
- ignoramous 1y agoThat gives too much credit to git and way too less to Preston-Werner, Wanstrath, Hyett, & Chacon, and many others: https://www.youtube-nocookie.com/embed/mGTpU5XUAA8 https://www.youtube-nocookie.com/embed/mGTpU5XUAA8
- Double_a_92 1y agoHow is it a single place if every dev has a full copy of the repository? Also unless it's some software that each user customizes and builds for themselves, you still need some kind of way to tell which is the official version.
- cookiengineer 1y agoTo be fair: Linus didn't predict how painful email is in 2025. Self hosting email is a useless attempt if 99% of your emails land in spam anyways, and only spammer emails land in your inbox because they pay for azure or google business accounts. The general issue that git has is making them interact with each other, I would love for git to get distributed issues, and a nice client UI that is actually graphical and usable by non-terminal users. There were some attempts to make this distributed and discoverable via similar seed architectures like a DHT. For example, radicle comes to mind. But staying in sync with hundreds of remotes and hundreds of branches is generally not what git is good at. All UIs aren't made for this. I'm pointing this out because I am still trying to build a UI for this [1] which turned out to be much more painful than expected initially. [1] https://github.com/cookiengineer/git-evac https://github.com/cookiengineer/git-evac
- PurpleRamen 1y agoThe code is still distributed. Every git clone usually creates a new, self-preserving copy (if we ignore some special flags). The problem is those features, which GitHub is offering outside of code. And I guess the irony is that GitHubs success is probably the reason nobody is adding them to git itself. Like add some subfolders into the repo for issues, wiki, discussions, etc. and have a UI for handling them all, easy. Instead, we have forges&tools supporting separate repos with flavours of widely used formats, making everything more complicated...
- przemo_li 1y agoThat's wrong hot take. GH have forks. Those are distributed repos. You can also sync to GitLab and similar, you can front it with the likes of Gerrit, integrate some code review UIs that actually clone code, etc. You can exercise distributed nature of git with GitHub quite well.