This article captures just a little of what I've been feeling for some time.
There are a couple of other things about GitHub specifically, and the presumption in some quarters that everyone uses it, that put me off.
Firstly, they create their own world where lots of things aren't quite like normal Git. Some are simple terminology changes, like using "fork" instead of "clone". Some are more intrusive, like tying the pull request mechanism to the GitHub review tool.
Secondly, GitHub terms only let you have one unpaid account. If I want to maintain some personal repos, but also some with one of my professional hats on, it costs me money. If I want to keep my work on a major project separate to a few sidelines, it costs me money.
Thirdly, GitHub is an on-line service, and like anything else in the cloud, that means it comes with unknown security, privacy and reliability implications. For a big open source project, that might or might not be a problem, but I don't know why anyone would expect me to host my own projects there instead of, I don't know, in a Git repository on a server at home or at work, or something crazy like that.
So no, sorry, I won't fork you on GitHub. Nor will I contribute a patch via a pull request. Nor will I raise my helpful bug report on your project if you require me to submit it via GitHub. And I guess I'm lucky that I don't apply for jobs as an employee any more, because I am able to show approximately none of the best professional quality code I write without violating confidentiality agreements, and certainly none of it is in a GitHub repo for public inspection.
I am happy to support open source projects when I have a bit of time free, and I'm happy to demonstrate my credentials and abilities to prospective clients, but GitHub is a hoop that is rarely worth jumping through IME.
Well, a fork isn't the same as a clone, so that is why there are different words.
There is no pull request mechanism not tied to a site, unless you want to send an email with a public git URL yourself. Which you can still do, assuming the project you are working with has specified that. But why should you be able to dictate to other people that they do it this way? Github gives you the public URL, if you want it to, and lots of people do.
Hosting your own source repository also has unknown security, privacy and reliability implications. (Or known ones that are often not very good)
It doesn't really matter to Github users if you don't want to use Github. Doesn't make a lot of sense that you would decline to make bug reports just because the project used Github. That sounds like you are boycotting those projects for some moral reason.
Well, a fork isn't the same as a clone, so that is why there are different words.
Perhaps unintentionally, I think you have just made my first point better than anything I wrote before.
But why should you be able to dictate to other people that they do it this way?
I wouldn't presume to dictate anything to anyone. I'm just explaining why I find it frustrating that so many people now assume others will work their way, as if using GitHub is some sort of universal norm.
Hosting your own source repository also has unknown security, privacy and reliability implications.
So the cloud guys keep saying. And yet we keep hearing about downtime and security breaches in cloud services, while the servers and normal Git repos I use regularly all seem to work just fine. I guess the guys running all those projects must be some kind of sysadmin demigods or something.
It doesn't really matter to Github users if you don't want to use Github.
It does if they want me (or anyone with similar feelings; let's not make this personal) to contribute to their projects.
Doesn't make a lot of sense that you would decline to make bug reports just because the project used Github.
I don't. I decline to make bug reports when making the bug report requires the use of GitHub, which is probably a more dangerous trend that I have observed with increasing frequency in recent months.
That sounds like you are boycotting those projects for some moral reason.
I have no idea where you got that from. I'm not "boycotting" those projects at all. But since I can't create a free GitHub account just to contribute to them without affecting anything else I might do there, and since participating via GitHub is significantly more hassle than contributing to other projects I have supported in various ways, I choose to spend my available time where I can help other projects more efficiently.
> Secondly, GitHub terms only let you have one unpaid account. If I want to maintain some personal repos, but also some with one of my professional hats on, it costs me money. If I want to keep my work on a major project separate to a few sidelines, it costs me money.
What they do allow, though, is adding new "organizations". These are effectively groups that get top level URLs just like users (https://github.com/galvanix/ is one my business partner and I set up).
When you create a repo you can put it in your main account or in any of the organizations you are part of.
If your organization doesn't host any private repos then there is no cost.
Now, this isn't completely disconnected from your main account—you still do everything in that name, but it's close.
> …because I am able to show approximately none of the best professional quality code I write without violating confidentiality agreements, and certainly none of it is in a GitHub repo for public inspection.
There are a couple of other things about GitHub specifically, and the presumption in some quarters that everyone uses it, that put me off.
Firstly, they create their own world where lots of things aren't quite like normal Git. Some are simple terminology changes, like using "fork" instead of "clone". Some are more intrusive, like tying the pull request mechanism to the GitHub review tool.
Secondly, GitHub terms only let you have one unpaid account. If I want to maintain some personal repos, but also some with one of my professional hats on, it costs me money. If I want to keep my work on a major project separate to a few sidelines, it costs me money.
Thirdly, GitHub is an on-line service, and like anything else in the cloud, that means it comes with unknown security, privacy and reliability implications. For a big open source project, that might or might not be a problem, but I don't know why anyone would expect me to host my own projects there instead of, I don't know, in a Git repository on a server at home or at work, or something crazy like that.
So no, sorry, I won't fork you on GitHub. Nor will I contribute a patch via a pull request. Nor will I raise my helpful bug report on your project if you require me to submit it via GitHub. And I guess I'm lucky that I don't apply for jobs as an employee any more, because I am able to show approximately none of the best professional quality code I write without violating confidentiality agreements, and certainly none of it is in a GitHub repo for public inspection.
I am happy to support open source projects when I have a bit of time free, and I'm happy to demonstrate my credentials and abilities to prospective clients, but GitHub is a hoop that is rarely worth jumping through IME.