Maybe it has done harm to GNU and the GPL, since they have become less relevant. But despite its problems, GitHub has been a huge net positive for free software. They considerably lowered the bar for making a project available. SourceForge acted as gatekeepers and rejected projects. With GitHub, anyone could start a project and no-one would look down on you and tell you that your project is not novel enough or whatever.
GitHub also drastically lowered the bar for contributing to free software. Contributing to a project used to mean subscribing to a mailing list, submitting a patch there, and not much would usually happen. With GitHub you fork, submit a PR, get your PR automatically built and unit tested with CI, the project owner can merge your PR with a single button click. It's fine to prefer an e-mail patch workflow, but GitHub has shown that for most of the population, submitting patches through PRs is a much lower bar.
At this point, GitHub is largely unnecessary. Most of the features have been copied and reimplemented better in FLOSS alternatives such as GitLab, Gitea, Gogs, etc. But since they were one of the first, people will stay due to network effects.
> SourceForge acted as gatekeepers and rejected projects.
Did it? I remember starting two projects which made not much sense at all. I vaguely remember the process was automatic then. Has it changed with time?
Maybe it has changed later. In the mid 2000s, you definitely had to wait for approval. Some of my projects were rejected. There is still some documentation around the net about approval:
Once you complete your registration, you must wait a few days for the SourceForge administrators to review your request and set up the infrastructure. You should receive an email response informing you of the project's creation when it is ready. You can check the status of any of your project requests by visiting your SourceForge home page: http://sourceforge.net/users/your-userid/ . There, you can view all of your SourceForge projects. Also, on the 'my projects' page you can see all your projects regardless of their approval status.
There is being direct and then there is speaking like an edgy teenager for entirety of your adult life. It's so difficult to take Stallman seriously when he makes these extreme generalisations.
I think he really just speaks his mind, I'm not sure he is trying to be edgy or anything, he always had quite radical ideas and positions. I mean people have been calling him a lunatic for years, he has been fighting for free software and warning people about proprietary software and the obvious risks it carries. Despite being proven right about quite a lot he warned about, people views never really changed about him.
Radical might not be my choice of words, but he's got a certain type of ideological purity around free software that's definitely on the extreme end.
Here's a paraphrased version of what he's saying:
"GitHub [...] has done terrible harm to our community.
GitHub was so bad for free software, all along[.]"
Now, if you were to define "our community" as the open source community, this would be laughable - very few people would argue that open source software has been terribly harmed by GitHub (on the contrary, the rise of GitHub has seen many projects flourish). I don't necessarily think he means the wider open source community, though - he's referring to his own Stallman flavor of free software.
I absolutely agree. His lack of self-awareness and seeming inability to see the generally positive aspects of the growth of open source just doesn't sound radical to me. Quite the opposite in fact.
Sorry I said radical because we use the same word in french but the meaning is probably a bit different, I should have said perhaps extreme or very opinionated?
I wanted to say that he cares very deeply about free software and the whole philosophy of it, which can make him appear as "radical" to some people.
I can second this. While there are a lot of developers out there who respectfully and objectively push free software forward, Stallman looks more like a maniac preacher to me. His extreme views and statements are more annoying for me, than helpful.
If Free Software was a religion like Christianity, Stallman would probably be called an extremist preacher.
This is just RMS being consistent. He's never liked non-GNU licenses, and considers anything that allows the use of open source code in closed source projects to be the spawn of the devil. He'll continue saying this until his dying breath.
That said, GNU and the GPL have been very helpful, sometimes instrumental, in fostering and protecting open source code and developers, so I'll put up with his ivory tower vision for the practical benefits it's brought us.
Call him crazy (and he probably is), but he's been a net benefit to society, which is a lot more than most achieve.
> considers anything that allows the use of open source code in closed source projects to be the spawn of the devil. He'll continue saying this until his dying breath.
I claim that RMS has never said anything like that, and I challenge anyone to prove otherwise.
He’s consistently said that it’s better if software was copylefted (like GPL) than if it was simply free software (like BSD), but he has consistently reserved the, like you say, “spawn of the devil”-type categorization for proprietary software and worse, like malware, etc.
GitHub probably did more good for the FOSS community than any other project I can think of. Before GitHub, it was so difficult to share code. Solutions available weren't anywhere close. I don't understand why he wants every little piece of software to be open sourced. GitHub was attractive to investors because it had closed source projects that have to pay in order to use it. I don't see how GitHub was going to succeed if they were purely open source and no-one was paying to use it. Those proprietary projects that he so hates are the ones who were keeping the lights on. They are the ones which were giving Investors hope than GitHub will make lots of money in future and they must invest more.
Both google code and sourceforge existed before GitHub. I'd say the experience wasn't streamlined for collaboration like today, but it was definitely easy to share code if you choose to.
GitHub mainly flipped the default view from "project description, forums, and downloads" to "code" which was the massive change.
If you wanted to use that little piece of code, wouldn't it be better if it was open source?
I remember when you could only get exe and projects didnt even think of sharing the code, even if it was just some small project.
But you can still use any license you want. The ones he's talking about are just sugestions by github, but you can put anything you want in that ./LICENSE file
Note the usage of the word "encourages", which is exactly what happens. You can use any other license you want, but it's not as easy so people just don't bother.
If you click on the link, you find: GNU Affero General Public License v3.0,
GNU General Public License family gpl,
GNU General Public License v2.0 gpl-2.0,
GNU General Public License v3.0 gpl-3.0,
GNU Lesser General Public License family lgpl,
GNU Lesser General Public License v2.1 lgpl-2.1,
GNU Lesser General Public License v3.0 lgpl-3.0.
it takes some searching, but when one selects GPLv3 then the default text does indeed include the "or later" clause.
so not only is it an option, but it is the default option, because an extra step is needed to change that.
unfortunately, in my opinion, the whole choosealicense site could be improved a lot. for example the license templates could be actual form fields letting you fill in the details needed, and then producing a license text that is correctly filled out. as it is, some users will likely miss some fields
Without RMS most of the software you are currently using wouldn't work. He has orthodox manners and is an extremist for freedom but "terrible harm" is a lie.
What makes you think someone else would not step in instead?
There was a similar argument when Ritchie died: "we would not have C, we would not have software". Well, maybe we would not have C, but for sure we would have (and already had) some other programming languages.
Sure, "copy-center" attitudes like those common in BSD communities would have prevailed, likely, and we'd have entered the shared-source/commons-licensing phase a decade earlier. Without the option of copyleft, an entire pillar of philosophy would be missing, but it likely would not matter, since the world would still be just as corporatist. The main thing missing in that world would be a belief that copyright can and will be changed in order to better suit the people.
I think you underestimate the impact of GNU on your daily life. Sure, someone else might have made the same things, but in this timeline RMS did and by removing him, most of the software you are currently using falls apart.
From what I hear, it was actually RMS who originally convinced the BSD people to release their software, i.e. to create the BSD licence. I can’t remember where I read this, though, and I can’t find it now.
It's way easier for him to have a high horse about doing FOSS "correctly" when he was in an academic environment with different pressures for most of his career. There'd be a different tune sung if he were an average Joe with business requirements to fulfill.
You do realize that he is not an average Joe with business requirements to fulfill because he decided to mount that high horse, right ?
This argument of 'Oh, he'd be singing a different tune if he had to deal with today's reality' is so naive.
The fact that he doesn't (/doesn't have to) deal with everyday reality is his whole point -- he has claimed that it is unrealistic to use software that confirms to his set of values, so he denied to participate in that reality.
I think the reasoning is that you can host projects on GitHub without them being FLOSS, since you can just start a repository and add code without ever adding a license. If you do not add a license, it is just copyrighted code, and cannot be redistributed freely.
Some repositories take this to the extreme. There are some closed source software vendors that use GitHub as an issue tracker and collection of Markdown files.
If GitHub wants to permit such uses - it's their party.
Seems a weird sentiment to me. GitHub, as is, is largely a throw back to an older time that RMS sought to recreate. when people just wanted to share code, without much motive beyond that.
> GitHub's encouragement of sloppy licensing, no licensing, or licensing under only a single version of the GPL, has done terrible harm to our community.
There's many projects out there that are meant to be open source, but the author never put a license on it, so it's, legally speaking, "all rights reserve" and you aren'y even allowed to use the software yourself. Github doesn't really encourage this; in fact, it even offers initializing a new repo with a license, but it still happens that project owners just don't
> GitHub was so bad for free software, all along, that I could imagine Microsoft's making it less bad
First of all, this is obviously just his opinion; I can't really attack or defend it like "good" or "bad" are some sort of mathematical constants. The fact is: github does serve as a platform for non-free software (heck, every single one of my projects is either MIT or public domain, which means it can be put into a closed-source project), so if your ultimate goal is for all software to be "free" in the FSF sense, then yes, github has caused much harm.
> We should judge by what actually happens, not by prejudice.
This statement is so obviously correct, there's just no way you could interpret it in any unreasonable way.
While GitHub encourages licensing and even help users with a dedicated menu for it they don't enforce it or help in making licensing decisions which in the eyes or RMS (Richard Matthew Stallman) is bad
> GitHub's encouragement of sloppy licensing, no licensing, or licensing
under only a single version of the GPL, has done terrible harm to our
community.
> GitHub was so bad for free software, all along, that I could imagine
Microsoft's making it less bad, or making it more bad. We should
judge by what actually happens, not by prejudice.
> Keep in mind that Apple is much worse than Microsoft.
The title this thread "Github has done terrible harm to our
community." is a very selective quote.
It did, by making Git a monoculture. It's very difficult to get a project to take off if it's not on Github. When Github goes down, so do the majority of important projects, breaking builds and causing chaos across the developer world. It didn't have to be like this. Git hosting should've been distributed like GNU Social/Mastodon.
A handler now? The linked article is classic RMS: pedantic, relentless, and reasoning so nuanced to the point of being indecipherable if not imperceptible to all but the few who have spent countless hours wrestling with RMS' ideas.
If you assume RMS is smarter than you, or at least more analytically rigorous (like a computer)[1], then you'd be hard pressed to find anything RMS has said which isn't consistent with the entire body of his thinking--including his opinions on certain age-related matters and his recognition of and apology for the insensitive manner in which he expressed them. Which isn't to say you would consequentially agree with him, just that his reasoning is about as impeccable as is possible for such insoluble human social issues. You almost always end up having to wrestle with and reject his premises, which can be difficult because his premises are often agreeable on their face. But by doing so you develop and strengthen your own views. RMS is like Socrates, a pacemaker in a race, or the Energizer Bunny--absolutely exhausting, but if you're disengaging then more likely than not you're the one falling behind, not him. Which is fine--the biggest premise of all is that any of this matters, and if you have your doubts it's impossible to match his stamina; just don't pretend like he's the one slowing down or tripping up.
[1] I want to say that one should simply apply the HN rule of assuming the best version of the argument. But RMS almost always puts forth the best version of the argument, at least from a logical perspective, though certainly not necessarily a rhetorical perspective. Thus with RMS the better habit is assuming he's smarter than you, regardless of whether that's true or not, as it forces you to identify and trace the elements and threads of his reasoning, which are invariably present in plain sight.
There is some awful stuff in that thread, like this gem [1]:
After microsoft puchased Github, they encouraged "Codes of Conduct".
So now 40k "opensource projects" hace CoC's.
Obviously men won't be contributing to said projects, other than
the people allready in them.
Take a look, for example, at the "contributor covenant", which github endorses [1]. It lists as its first example of unacceptable behavior:
> The use of sexualized language or imagery, and sexual attention or advances of any kind
This is a perfect example of rules that are simply too broad. Say I write a comment `//normalize file path because fuck windows`. I said fuck; does this count as "sexualized language"? Do I need to be banned over this?
Also, a more "fun fact" example (from the same document):
> Demonstrating empathy and kindness toward other people
Did anybody consider that this is excluding psychopaths from the community based on a psychological condition? They are, by definition, unable to feel empathy. So much for inclusivity, I guess.
Why do you need to swear in the commit history? And if you do, why not write something more clever. Also, saying, “fuck” and referencing sex are not the same thing, ask any harassment attorney. The law isn’t some mystery, these Code of Conduct rules weren’t written in a vacuum. Why is everyone such a baby about maintaining a basic sense of decency on a public, sometimes cross-cultural, project? Seriously, harden the f up and sacrifice something fairly trivial for the good of the group.
And people "know" not to steal. Yet we need to have laws so we agree on rules and boundaries. You can think of it like a list of rules agreed on early, so the project leaders don't have to go through the arguments about what's accepted after someone crosses one person's boundaries, but not another's.
The core principle of laws is that they are common and enforced equally onto every citizen. Laws and enforcement are transparent and has check and balances.
The most common objection to CoC is that they are not enforced equally. Different classes of people get treated differently and enjoy different rights. The enforcement have no transparency and no check and balances.
To take two recent well known examples, we had during the last year the stackoverlfow controversy over the new CoC, and wikipedia ban of an admin over CoC. In both cases there were major issue of transparency and selective enforcement. In the wikipedia case there was also problem with lack of check and balances. In the stackoverflow case there was also voices raised about other common rules now being unenforced in order to comply with the CoC creating a situation where different people get enforced by different rules.
Laws can be good. Rules and Boundaries can be a positive thing. They are not all good, not all positive. It depend. Without careful process and system for fairness it is very likely to turn bad as the above examples illustrates.
You're raising good points regarding consistent enforcement and transparency, but I think they're orthogonal to the existence of CoC. You can have transparent handling of issues without preexisting rules. You can have rules with bad/no implementation.
Sure, some CoC rules may be not great. But having some rules written down at least indicates leaders thought about the problem.
> Because reasonable people already know how /letting people use/modify/redistribute modifications is good for software/ and don't need a /license/ to tell them. I've never seen a case where a /copyleft license/ improved software.
* The use of sexualized language
* insulting or derogatory comments
* Other conduct which could reasonably be considered inappropriate in a professional setting
Obviously on the face of it these are extremely reasonable. The problem is that they are also extremely vague. Is it ok to say "fuck" in a comment? Or is that "sexualized language"? Can I say "this code is stupid" or is that too insulting? What if it isn't directed at anyone?
The fear is that there is a certain kind of person who loves picking people up over these sort of inconsequential rule ("social justice warriors"). For some reason they like to get into positions of power and then enforce petty rules.
I don't think that happens 99% of the time, but it does seem like CoCs encourage it and I've never seen evidence that extensive CoCs help so why bother? Just put a comment in your readme like you suggested - "CoC: Thou shalt not be an asshole."
Even if we agree with everything in your comment, the question is "Is the <1% of the time this happens a good enough reason the reject every project with a CoC?". Personally, I would answer no to this.
CoC's are inherently political, they say something about the people you have to deal with when contributing to the project. If you like that kind of people you'd see a CoC as a positive, but if you don't like them then you'd avoid CoC's. I don't see why this is so hard to understand.
I'm confused now. Are you saying A) that OP doesn't have any know-how to contribute to the project, and you deduce that from their political views, or B) that, no matter how much OP may contribute on a technical level, it's meaningless if their political views don't align with yours?
In either case, I suggest you stop using the internet. It mostly runs on (GNU/)Linux servers, which were strongly influenced by RMS who you probably disagree with, so none of that can be any good for you.
Rather C) to keep people who think “treating those different from themselves with common courtesy and decency” is a political view, and that technical prowess exempts them from such from getting involved.
If you can’t contribute without being a dick, why would anyone want your contribution?
> If you can’t contribute without being a dick, why would anyone want your contribution?
I, for one, want it because it's a contribution to open source, and I am pissed at people who feel otherwise and try framing their dumb opinion as more than just that.
Why would you want their contribution? I don't know, it's not my problem, and you don't speak for me. You don't speak for many people. Maybe you speak for a majority of the community, maybe not even that.
At the end of the day, rejecting good code because someone else doesn't like the contributor, that's just dumb and it holds open source back.
> that technical prowess exempts them from such from getting involved
What does one have to do with the other? Just because someone behaves like an asshole doesn't mean they need to be excluded from everything. Assholes can open bank accounts too, does that mean banks somehow agree with them?
My hypothesis, and I have no way of proving this, is that a substantial part (at least 20%) of the people attacking someone elses "toxic behavior" in the programming community are just pissed that they're not as good. Sorry if I'm bursting anyones bubble, but some people just suck at programming. Some people just can't deal with how someone they really don't like is better than them at the skill they identify with.
Because code has no political or other opinion - it either works or it's trash. When one or two people in the world ban good code, everyone loses. Rather, those one or two people are problematic and could use psychological guidance to fit in better.
If by intended you mean driving away reasonable people that want to make software not get involved in politically motivated drama and moral panics then yes.
I like that we have a police and I've never committed a crime, but having a police around still makes me nervous since they have a lot of power. CoC's have the same effect, any reasonable person would understand this. They make contributing to a project feel more like a job and less like casual fun, and I don't really see why I would spend my free time doing a job for free.
Obviously it's hyperbole - but a lot of people are definitely put off by coc, myself included. It's a wretched, insidious text sneaked in by very bad actors into mainstream open source repositories.
The great thing about CoC is that they tend to be self-reinforcing, keeping out exactly the people who are bound to conduct themselves in ways that are inconsistent with the principles behind them.
I participated and co-ran a gaming community for about 10 years, and whenever drama occurred we added whatever behavior triggered it to the rule list. It grew, and grew and grew into a very large CoC. By a few year into it people caused drama over the rules, people "lawyer" over them, they got enforced selectively, people accused each other of favor-ism, splits occurred and the community almost killed itself over the rules.
When the game moved into a sequel we changed the rules. Now it says "Treat others with respect and courtesy", which don't really qualify as a CoC since its basically common sense. People see it as so obvious that it not even a rule, more of a guideline.
This new rule has since then been pretty stable. It keeps out exactly those who can't behave but welcomes everyone else. There has not been a single instance of arguments about selective enforcement or favor-ism in terms to how the rules get enforced.
My own experience from that seems very similar when people complain about CoC. Long CoC lists tend to create fear, uncertainty and doubt within the community. It creates tiers of people where different class of people get the rules enforced differently. This in turn create a deep seated distrust.
Before codes of conduct, it was reasonably common for misogynistic men to get away with poor behaviour towards women in their communities “because they write good code”. I’ve suffered this directly, so have others I’m close to.
> Before codes of conduct, it was reasonably common for misogynistic men to get away with poor behaviour towards women in their communities “because they write good code”.
And now they're just as misogynistic, but we don't get to enjoy their code. They're also hidden from view so it's less likely that someone is going to tell them to cut the crap and maybe re-evaluate their world-view. They've essentially been shoved into an echo chamber.
In the end, arguing about code of conduct means arguing about the core ideas of free speech, one of them being: Do we want to segregate wrongdoers, or attempt to deal with them?
> And now they're just as misogynistic, but we don't get to enjoy their code.
I'd rather get the code of all the women who were driven out of tech by their bigotry and hate than whatever they'd write, even if it was legendary golden code spewed forth from the fount of all wisdom.
I honestly am not amazingly fussed about what we do with them overall as long as I don’t personally have to deal with them when trying to publish some code!
Linus' use of explicit language was exactly something that should be used as an example. He rarely attacked people, but instead attacked the actions that they did or ideas that they had.
I'm not sure what point you're making here? In hindsight, he views his words as inappropriate. I'm not sure I understand what the temporal distance between the words and the apology has to do with how appropriate they were.
He's the Gordon Ramsay of the software world. Sometimes it just takes strong language to get a point across: "your code is low quality and you're wasting my time by having me review it". And to be honest, I'd gladly take being insulted over having to waste my time. Strong language doesn't hurt anyone, but you won't ever get that wasted time back. I consider it verbal self-defense.
I find that just being a normal, friendly person is enough to satisfy most, if not all CoCs.
I've never had to read one, and I've never been in a situation where I was in violation of one.
Could you possibly elaborate? To me CoCs seem like they'd be at best a good thing and at worst harmless. What do you think is wretched and insidious about them?
While some codes of conduct boil down to "just be nice", sometimes they end up encoding very specific beliefs of the people writing them.
For example, the code of conduct on dev.to [1] states that:
-------------
We pledge to prioritize marginalized people’s safety over privileged people’s comfort. We will not act on complaints regarding:
‘Reverse’ -isms, including ‘reverse racism,’ ‘reverse sexism,’ and ‘cisphobia’
Reasonable communication of boundaries, such as 'leave me alone,' 'go away,' or 'I’m not discussing this with you.'
Someone’s refusal to explain or debate social justice concepts
Criticisms of racist, sexist, cissexist, or otherwise oppressive behavior or assumptions
-------------
Note the "we will not act on complaints regarding [...] reverse racism". As someone who 100% disagrees with the idea that "reverse racism" is a thing (although I find the word dumb; it's just plain racism, nothing "reverse" about it) I have to ask myself: Does this mean the rules differ based on skin colour? Is something acceptable when said by a black user to a white user, but racism if it's the other way around?
It's things like these that, I believe, end up turning a "code of conduct" into a de facto political manifesto designed to keep out not only unwanted behavior, but also unwanted world-views. It's those codes of conduct that create direct harm.
> It's a wretched, insidious text sneaked in by very bad actors into mainstream open source repositories.
Replace text with code and think about how the supposed 'meritocracy' of open source deals with the problem? Isn't 'nobody is stopping you from forking it', 'submit a pull request', 'the community/bdfl has final say', not apply here as well? Or do the benefits of open collaboration stop at code?
Here let me be even more clear for the downvoting-without-commenting cowards :
> It's a wretched, insidious *code* sneaked in by very bad
> actors into mainstream open source repositories.
How would have OSS projects historically dealt with code pushed by someone, which was deemed detrimental/inferior to the overall intent and purpose of the software ?
Isn't it the presumption that whatever gets absorbed / pulled in, reflects the consensus of the community involved and that the future of the project is determined by the sort of natural evolution ? ...the bazaar ? So, if the bazaar now puts value on CoCs ...you may either contribute or dissent and start up your own competing replacement. Isn't that the way it was supposed to work ?
These people said they won't contribute to a project with a CoC, which is exactly what you say they should do. So what is the point of your post? They are already following your advice!
Umm no. Can you read threads in whatever client you are reading this on?
The post I replied to said that they were put off by a CoC and alleged that this is being pushed by bad actors. My point was to say that the CoC exists in the repos because of the same reasons open source exists. Not because of insidious acts of bad actors.
Imagine doing the wonderful things RMS did in the past, being a hero of both FOSS and software in general. Imagine then being remembered for the ahole tricks that came later instead.
Github opened up both software and FOSS to me. I found projects despite not having a computer science education, not working full time in software, not having a personal network of academic buddies, not using irc. Very occasionally I contributed, and my submissions were taken on the value of the bugs I fixed, despite my lack of reputation.
RMS is a gatekeeping mysogynist pxxxx. He is failing to damage the community despite his best efforts because he has marginalised himself by his behaviour.
Ps. I haven't started a repo on github in a while, but I firmly remember it suggesting you add a license, and linking to explanations of the different licences. Did RMS want them to force it on you?
GitHub also drastically lowered the bar for contributing to free software. Contributing to a project used to mean subscribing to a mailing list, submitting a patch there, and not much would usually happen. With GitHub you fork, submit a PR, get your PR automatically built and unit tested with CI, the project owner can merge your PR with a single button click. It's fine to prefer an e-mail patch workflow, but GitHub has shown that for most of the population, submitting patches through PRs is a much lower bar.
At this point, GitHub is largely unnecessary. Most of the features have been copied and reimplemented better in FLOSS alternatives such as GitLab, Gitea, Gogs, etc. But since they were one of the first, people will stay due to network effects.