I kinda understand how people don't like this. They are looking off into the horizon and seeing even brighter futures. That's fine, but you don't have to be a hater about it!
Can we just acknowledge just how much of an improvement github is over the olden days? Seriously. And as far as social media websites go, Github is surely one of the most ethical of them all.
Github popularized git in a time when svn and cvs were the standards. Don't forget about those sad, sad times! We are in such a better place now! They also recognized the power of git to completely lower the bar for participating in open source projects.
"Pull requests"? "Forks"? That stuff didn't exist in the mainstream developer imagination. It was fringe. Now it's the default!
And I'm not trying to say that github is the best model or platform or anything like that, I just appreciate how easy it makes it to participate in open source development. It's clean, it's simple, and it works.
GitLab and BitBucket, those are awesome platforms too. But Github struck a chord in a time when people hadn't even heard the melody yet.
I hope the future brings something even better. But I'm still definitely gonna give props to github for holding it down.
Would you consider elaborating on this? I'm curious to hear what some negatives of the PR model might be, as I've recently taken a personal interest in dev workflows.
I’m seeing a lot of hate in this thread. I think we tend to lose sight of the fact that things don’t just _happen_, people make them happen. GitHub has absolutely earned its dominance in my eyes, and although it may have shortcomings, I think it’s one of the most important inventions in the last ten yesrs, period.
When I look at the software I use to run my business, literally 100% of it is open source and has a community improving it and patching it on GitHub. There was simply not this level of open source enthusiasm and participation back in the Sourceforge “dark ages” (although even Sourceforge was hugely influential and a big step in software democratization if you compare it to what came before).
There's a couple of comments complaining about features that are a little out of place. But I wouldn't call it "a lot" of hate.
I think it's mostly a response to ground the hyperbole a little. There's usually no need to do the marketing for an organisation with (arguably) a monopoly of mindshare already.
I think that's why people talk up the underdogs more when they're mentioned, because as users/consumers it's in our interests to have some competition.
True, and "hater" doesn't necessarily mean "hatred". Sometimes it just means not being able to see the sunny side if your life depended on it. Doesn't mean you're all that negative, it just means you can't appreciate.
The author should rather be extending a loud "Thank you" to Linus Torvalds. While he didn't invent DVCS, he certainly mainstream'd it with git. Github would not have existed without Git.
Linus invented both Linux and Git. It's incredible what that man has accomplished in his life and how he's affected the software field and the world in general.
In my opinion, GitHub succeeded in spite of git, rather than because of git. I see beginner spend a lot of time on issues merging and rebasing. They simply would not continue (outside the hard core technical crowd) if it weren't for GitHub making the nice pull request screen and rendering markdown. They did a way better job than bitbucket did back in the day and here they are in top. Just my experience.
Yeah I agree with that. I guess we could extend the "Thank you"s down beyond Git to K&R and those before them. Because without C Git would not exist.
But Git's invention was recent enough, in the context of Github, that the real merits should be directed to Linus.
But yes, Github slapped a nice Rails webapp + UI on top of Git and basically changed how software collaboration worked. Pretty much overnight. Sourceforge, Bitbucket, and Launchpad were all a nightmare. Github changed all of that.
I've come to believe that the parable of the Bucket of Crabs perfectly describes the majority of self-espoused open-source advocates that you will meet online. To them, if you are at all successful, then you must have gained it through the exploitation of users. Apparently users are not willing participants in software or something, I don't know. But I've never seen a group of people tear each other down quite like this vocal group of open source "fundamentalists".
GitHub is fantastic in so many ways, but I think it would be remiss not to point out that the hegemonic platform for open source and Free Software development is itself a proprietary platform, run by a company whose business model is reliant on companies continuing to develop proprietary software.
It's also in many ways a single point of failure for many open source communities, and it will be very interesting to see what happens if GitHub ever folds.
What are the most used package / dependency management tools which rely on GitHub? Many can install packages from there, or from any Git URL, but they tend to have centralized stores as well, right?
One example that comes to mind is Cargo. At least a couple years ago, the package index (but not packages themselves) for crates.io was stored in a Git repo hosted on GitHub. But (without checking, on a phone) I’m fairly certain crates.io doesn’t/didn’t rely on any GitHub APIs, just Git operations, so it would be easy to recover if GitHub just disappeared.
Rust’s CI operation, on the other hand, is somewhat tightly coupled with GitHub. Last time I checked, the software powering bors only support GitHub’s APIs; support for competing APIs like Gitlab were open tickets. But I’m sure in an emergency the team would be able to put together support for another project host.
What I'm more interested in is how GitHub has reduced friction in developer workflows, as the Thank You GitHub statement discusses, and how fragmentation of the git hosting ecosystem would change that.
Right now, if I want to fix a bug in a GitHub hosted project, I log in to my existing GitHub account, report an issue, fork the repo, do the fix, submit a PR. If I have to use GitLab or Bitbucket, as I learned a couple of days ago when I had to submit a PR to a GitLab project, it adds a certain amount of friction (signing up for accounts, learning where all the right buttons are, etc) that I don't have when I'm using GitHub as the dominant platform which everyone else uses. If GitHub were to go away, would we end up with a single dominant new player that in turn provides a low friction workflow that everyone's used to, or would we have a more fragmented ecosystem?
Furthermore, GitHub has played a large role in cementing the role of Git itself as the community's preferred VCS - much to the detriment of competitors like Mercurial, it must be said. If GitHub goes away, how sticky is Git itself?
No. I'm a professional open source developer who is paid exclusively to work on GPL and Apache licensed software. I basically don't believe in large-scale open source being a volunteer endeavour - it's futile to have a mostly-volunteer team try to compete against commercially funded teams.
Software is different. I don’t deplete it by using it. It’s in my interest to contribute things back since more people will be testing my code and fixing it.
A little cringe for my tastes. It's important to remember that fragmentation in and of itself isn't inherently bad. It can be useful not to have a monoculture on how to get things done.
I think it's kinda cool that different contributors can express their different creative/organizational (or disorganizational) styles, yet still be able to contribute bug fixes (and bugs themselves) on absolute strangers random projects. For me, it feels much more relaxed. I even made a pull request on a major project recently (sympy). In the past, I'd probably have felt very intimidated to do something like this. But the lax attitude on github made it very easy for me, socially, to reach out with my code.
That said, if I were to make a new github-like platform, the number one thing I'd probably do to decrease fragmentation is make automated testing as friendly as possible. In the same way that github made git itself friendly, tests need to be friendly.
GitHub is great and all that but pls fix the search. Just a simple dedup would be really really amazing. Like I would pay 20 usd a month for a better code search. Like where I don’t have to go through potentially 100 pages of results most of which are sometimes duplicates.
If it wasn't for Github, I wouldn't be where I am today. For that, I'm pretty thankful. Sure Github has its flaws, and the product is still evolving. But all-in-all, it's been a transformative ride. Thank you, to everyone at Github. I owe you so much. :)
I love github. And I also think it'd be awesome if some of these haters put their heads together and made something positive on DAT/IPFS that could replace github altogether. They could include features for bug/feature bounties, better project management tools, etc.
Like come on, don't just gripe about it, make something cool... the time is now! And in order for you to make something that's actually cool, I hope you can pull your head out of your butt and acknowledge that github was amazing for its time. Recognize what makes github awesome. It's not the fancy project management stuff. It's the simplicity and focus of the open ended, social, collaborative platform. It lowered the bar. It made it easy to jump in, no matter how much clout or recognition you had. It made it normal to fork a project off the bat, in case you accidentally found yourself fixing a bug or wanting to make a little feature change.
So yeah, github is awesome and it's getting old. Let's appreciate it and get to the next level.
Just another data point: Drupal uses its own bug tracker and the workflow is that anyone can participate in an issue with various contributions. Two of these are uploading or reviewing a patch. But another is reading the issue and writing a new summary which given a long enough issue is invaluable. Or adding new tags -- which can be totally new. Or re-titleing the issue. Read: https://groups.drupal.org/node/313068#comment-955593 for a better writeup on theese.
The skeptic in me sees this as a way to get a bunch of developers subscribed to a feed / notification. Will be interesting to see if the repo gets misused somehow.
It definitely can be. And maybe it should be, if github needed it. But they control enough market share that I don’t think it’s necessary to go that route.
Today, participation in the development of Free Software is more difficult than ever as tons of projects make it impossible to contribute unless you use a proprietary piece of software to do so--namely, github.
Also, how is it even remotely sensible to compare the state of github today to the state of not-github a decade ago? If anything, the proprietary nature of github and its network effects is likely to have hampered progress in the development of Free Software collaboration tools. It's not exactly like you need a proprietary middleman in order to not exchange patches by manually attaching them to emails in a world with ubiquitous broadband internet.
Speaking as someone who's participated, led and created several open source software projects and organizations, you're wrong. Github is the primary reason why open source is thriving today. GitHub and GitHub Pages have made it both easy and free for FOSS projects to get contributors set up and managed, market themselves and be more than an obscure project on a nameless site.
The centralization that Github provides is essential to lowering the barrier of entry for new contributors, and those are what makes or breaks a project. So yes, you do need a middleman; or at least you need something. You're welcome to attempt solving the problem, in the mean time you can't start claiming that they "hampered" progress, that's just delusional.
Open source software was in fact doing just fine before a particular company started hosting a particular type of version control software. It's a commodity service and I find it bizarre that otherwise intelligent people are beguiled by a brand name.
> Speaking as someone who's participated, led and created several open source software projects and organizations, you're wrong. Github is the primary reason why open source is thriving today.
OK, so what do you think would the world of free software look like today if github had never existed, and why do you think that?
> GitHub and GitHub Pages have made it both easy and free for FOSS projects to get contributors set up and managed, market themselves and be more than an obscure project on a nameless site.
Why do you think would the alternative solution that would have been developed if github had not been around not have been able to achieve the same?
> The centralization that Github provides is essential to lowering the barrier of entry for new contributors, and those are what makes or breaks a project.
Why do you think that the centralization is essential?
> So yes, you do need a middleman; or at least you need something.
What specifically do you mean by "something"?
> You're welcome to attempt solving the problem, in the mean time you can't start claiming that they "hampered" progress, that's just delusional.
Does that mean then that your implicit claims about alternative histories are also delusional? I mean, your claims about how github is better than what the world would look like if github had not been around obviously also imply some idea of what you think the world would otherwise look like (i.e. worse). Is that speculation on your part also delusional?
> Why do you think that the centralization is essential?
Decentralisation, as a general concept, has a lot of benefits. Ease of use for new users is generally not one of them.
I'm a Linux kernel dev by day, where we still submit patches through mailing lists. Now, I don't believe the kernel can switch to using a platform like GitHub, as our development workflow on the whole is too decentralised and too complex to shoehorn into the kinds of tools that GitHub et al give us, but I can certainly say that the existing kernel process is a right PITA for new contributors. A large part of this is that we don't have centralised development resources and every different subsystem has a slightly different workflow.
> Decentralisation, as a general concept, has a lot of benefits. Ease of use for new users is generally not one of them.
Why do you think that ease of use for new users is a benefit of centralized systems such as github? And not, say, of standardization?
Is electricity, say, easy to use because it is all supplied by one centralized world-wide supplier, or is it easy to use because voltage, frequency and so on are standardized, so you can plug in your appliances no matter who the supplier is?
But also: Do you think that ease of use for new users is a worthwhile optimization target? I mean, at what cost for non-new users does this optimization come, and is that cost worth it?
> but I can certainly say that the existing kernel process is a right PITA for new contributors.
Why do you think that? My experience would say the exact opposite: You read the readme that comes in the source tree, you run that script that figures out who is responsible for the respective component and you send an email ... you don't even need to create an account with some third party with lengthy TOS to study and stuff. Seriously, submitting patches to the linux kernel so far has been one of the smoothest experiences contributing to free software, with an absolutely minimal barrier to entry.
> Is electricity, say, easy to use because it is all supplied by one centralized world-wide supplier, or is it easy to use because voltage, frequency and so on are standardized, so you can plug in your appliances no matter who the supplier is?
The voltage, frequency and so on only became standardised because of either monopoly providers or government regulation, depending on where you are in the world. There are parts of the world where they've actually ended up with different electrical standards in different parts of the same country as a direct result of having non-centralised suppliers and multiple different electric grids.
> But also: Do you think that ease of use for new users is a worthwhile optimization target? I mean, at what cost for non-new users does this optimization come, and is that cost worth it?
Yes, and ideally, it's not a cost for non-new users.
Speaking as someone who, per my other comments in this thread, also dislikes how GitHub is a dominant proprietary platform in an open source community - I have no choice but to agree with you.
I remember SourceForge. It was the best we had, but it sucked! There was a days-to-weeks long approval process for new projects, advertising everywhere, and a ridiculously unintuitive UI. And SourceForge was basically the best option as far as finding free hosting for generic open source projects.
GitHub on the other hand is beautifully simple and easy to get started with, and I generally quite like working with it.
> I remember SourceForge. It was the best we had, but it sucked! There was a days-to-weeks long approval process for new projects, advertising everywhere, and a ridiculously unintuitive UI. And SourceForge was basically the best option as far as finding free hosting for generic open source projects.
But then again, so was CVS for version control even further in the past.
The question is: How much of that is simply technological progress that would have happened anyway, but possibly without the centralization, and how much of this is actually genuine contribution on the part of github?
Simply comparing what github is now to what the alternatives were like a decade ago is not really a useful comparison. Of course (pretty much), what is now is technologically better than what was ten years ago. The question is: Is it better than what the alternatives would have been now?
> I don’t know why we are thanking a successful company that is making tons of money (as thanks)...
I mean, other than to be nice to a service that a lot of people genuinely appreciate? It's also worth mentioning that Github is the primary reason why a lot of people have a job at all. Github resumes have immense weight in the industry nowadays.
Seriously? If github didn't exist, software companies simply wouldn't have employees? It is truly amazing how twisted a view people have of power structures ... the fact that github has installed themselves as a de-facto co-arbitrator for access to jobs is reinterpreted as a sort of philanthropic contribution to society.
My Github profile is, in fact, the reason I got several of my jobs and clients in the past and there's a bunch of other people I know this is the case for.
It really is baffling how completely out of touch you are with the immense amount of benefit that the FOSS community and Github users have been reaping the past decade. You've equated Github to Oracle for some reason and are on a crusade against them, I don't get it. I truly don't get how you can be so hateful against people doing things right, versus the atrocious alternatives that exist out there.
> My Github profile is, in fact, the reason I got several of my jobs and clients in the past and there's a bunch of other people I know this is the case for.
Which is great for you--but does that mean that without github, you wouldn't have a job?
> It really is baffling how completely out of touch you are with the immense amount of benefit that the FOSS community and Github users have been reaping the past decade.
Well, the thing is: How do you know that? It is really baffling to me how everyone seems to agree that that is the case, yet noone seems to actually be able to make a solid case why they think that.
> You've equated Github to Oracle for some reason and are on a crusade against them, I don't get it. I truly don't get how you can be so hateful against people doing things right, versus the atrocious alternatives that exist out there.
They absolutely are not doing things right, that is my whole point.
> Perfect is the enemy of the good.
Which is true--but also completely vacuous: What bad thing could you not justify using that adage?
Doesn't the four paragraphs linked answer your question exactly?
>Before 2007, the way to participate in Open Source was fragmented. ... Nowadays doing Open Source is infinitely easier thanks to you, GitHub. You've provided the tools and the social conventions to make those days a thing of the past. Your impact in the Open Source movement is unprecedented.
No, that was just inevitable technological progress. Mind you that github did not invent git, nor the git workflows. Their primary contribution is that they extended git into a proprietary platform with network effects, so as to make everyone dependent on them.
>No, that was just inevitable technological progress.
So you're discounting their accomplishments because a company was destined to enter this niche?
Nothing happens for free. It's the result of thousands of man hours. Github has done a lot of good in this space, and there's nothing wrong with showing some appreciation.
Or how about updating the godawful PR review process? Tools like Reviewable are light years ahead. Github is great, but come on, it's stagnant. They don't release anything anymore. They don't even have mobile apps for crying out loud!
Can we just acknowledge just how much of an improvement github is over the olden days? Seriously. And as far as social media websites go, Github is surely one of the most ethical of them all.
Github popularized git in a time when svn and cvs were the standards. Don't forget about those sad, sad times! We are in such a better place now! They also recognized the power of git to completely lower the bar for participating in open source projects.
"Pull requests"? "Forks"? That stuff didn't exist in the mainstream developer imagination. It was fringe. Now it's the default!
And I'm not trying to say that github is the best model or platform or anything like that, I just appreciate how easy it makes it to participate in open source development. It's clean, it's simple, and it works.
GitLab and BitBucket, those are awesome platforms too. But Github struck a chord in a time when people hadn't even heard the melody yet.
I hope the future brings something even better. But I'm still definitely gonna give props to github for holding it down.