I got a bunch of attacks from members of the open source community, due to developing my XML parser. ( Grant McLean and others ) I also got attacked by Poul-Henning Kamp, and then threatened that he would "shame" me for pointing out bugs in his software that he refuses to acknowledge. Additionally, the founder of Perl Mongers, Brian D Foy, argued with me about the naming of my application framework, and then refused to approve the naming of my module even after other people on the newsgroup discussed it with me and we came to a good resolution. ( which led to the vanishing of "registered" modules on cpan imo )
The open source community, at large, is not a happy helpful place, and I have gone through a lot of harassment just contributing my own free open source stuff to the world. Also, I can't say I have ever been thanked for contributing. Just kicked in the face.
I am referencing names of individuals so that people can lookup these events and see the truth in what I'm saying; NOT to shame these people. They are all good developers, and I value their contributions ( don't necessarily like these people but what does that matter ). There should be respect in the community regardless of whether you like or dislike people's projects.
What's worse, the fact that this scares off contributors is hard to spot, because you by definition cannot easily measure contributions that would have happened but didn't because of a community problem.
If you look at non-technical forums like Facebook, newspaper comment sections etc there's usually some form of moderation that imposes house rules like "be civil". This sort of thing can clean up individual forums but the wider problem remains: some people are just nasty and they often believe they can influence the development of their favourite project by being sufficiently nasty to developers they disagree with. If they can't do that in the project's own forums they'll do it elsewhere.
The Bitcoin community has pretty severe problems with this too, it's not just a Linux thing.
Some lists try to fix this by abusing Reply-to: to try to steer discussion replies to the list address, but that is fundamentally broken.
About all you can do in a mailing list is to cull the junk from the permanent web archive.
[Edit: look, you can downvote all you like. I know how mailing lists work and stand by what I wrote. I have used mailing lists for almost a quarter century, and I run mailing lists of my own. I know the ins and outs, and ways they can be configured.]
Mailing lists are centrally managed, and have a "reflector" or central distribution point (what you call a "robot") which maintains the email addresses of all the people on the mailing list. In order to add or remove yourself to the mailing list, you typically have to send a message to name-of-mailing-list-REQUEST, not to the whole mailing list of course. Now days there are usually web pages that people can use to subscribe and unsubscribe and view the archives, and which the administrator can use to moderate messages, but in the old days the moderator was a human and administered the list via email. To save bandwidth (in the days that it mattered, i.e. over the slow ARPANET and over international connections and expensive dial up modems) there would be redistribution lists for regions and organizations, which users or local administrators would have to manage themselves (or the central administrator would have to forward requests to the redistribution list administrator), so only one copy of the message had to be sent to each redistribution list.
An electronic mailing list or email list is a special use of email that allows for widespread distribution of information to many Internet users. It is similar to a traditional mailing list — a list of names and addresses — as might be kept by an organization for sending publications to its members or customers, but typically refers to four things:
1) a list of email addresses,
2) the people ("subscribers") receiving mail at those addresses,
3) the publications (email messages) sent to those addresses, and
4) a reflector, which is a single email address that, when designated as the recipient of a message, will send a copy of that message to all of the subscribers.
Traditional mailing lists (such as ones created by a vanilla install of GNU Mailman) do not work they way you describe.
They work like this:
1. You send a message to a mailing list address. This address belongs to a software agent which sends the message to everyone. Your From: header is clearly preserved. The mailing list robot adds itself to the Cc: line to stay in the loop.
2. Someone who wants to continue your discussion publicly hits Reply All. At this point, the mail software composes a a new message which To: you, From: this person, and Cc: to the mailing list.
3. You receive the message directly. The robot also receives it because it is in the Cc: loop, and sends it to the subscribers. (If you're also one of the subscrbers, and the list is configured that way, it will avoid sending you a "list copy").
4. And so it goes.
But what do I know; I have only used mailing lists for 25 years, and run mailing lists of my own on my own server.
I find it frustrating for a mailing list because invariably a long thread is going to have missing messages. In the context of a mailing list the default behavior should be to reply to the list and setting the Reply-To takes care of that nicely.
Btw, the "because I've been doing it for n years" argument gets less effective as n increases. Ok, it's probably a bell curve but it peaks long before 25.
Reply-To: stomps over the option of replying privately. It can still be done, with manual steps. Worse, someone might not be paying attention, and just use Reply out of habit, thinking it's a private reply, when in fact it is being broadcast to the list. It's very sneaky!
The old style is better because it is more convenient and non-broken. It keeps conversations intact by letting people have a debate with the mailing list without subscribing to it, and doesn't rudely re-program your Reply button into doing Reply All.
My point is that an email message that has a bunch of people's addressed in it, but no central server or list of email addresses, which you reply to by copying all the addresses in the To: and CC: fields, is not a mailing list, no matter how sophisticated your email reader is. It's just an email message, and you're doing all of the work in your email reader. (Hello, Emacs!) That's not a mailing list. It's just an email message with a list of recipients. There's nothing preventing any recipient from adding or removing any address from the list, and there's no central archive or administration or moderation.
Here's what mailing lists looked like in the 80's:
Who remembers Mark Crispin's oft-repeated catch phrase, "MM is not at fault!"
JWZ's Law of Software Envelopment:
Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can.
What is a mailing list? It is an "emergent phenomenon"(+). It is not just the mailing list manager; it is not just the handling of a single message. It's not the set of subscribers. It's the whole situation.
+ As in: http://en.wikipedia.org/wiki/Emergence
Whenever somebody would make that faux-pas, he'd add them to the PLEASE-REMOVE-ME mailing list, and the emergent behavior was that those people would discuss amongst themselves the fact that they really wanted to be removed from the PLEASE-REMOVE-ME mailing list, until they eventually learned that the way to get removed from a mailing list was to simply send email to PLEASE-REMOVE-ME-REQUEST, instead of the entire mailing list.
Worked like a charm!
So are you! Your original point hinges entirely on having many non-centralized posts and counting them as part of the list.
My original original point is that moderating mailing lists is not possible. I have not seen an effective counterargument. Reply-to munging and subscribe-to-post do not add up to effective moderation, and are easily circumvented.
I have seen it happen: someone banned from posting to a mailing list harassing discussion participants anyway. Perhaps he subscribed with a phony e-mail address to collect the list traffic, and then just composed replies as himself to everyone in the debate, but excluding the list robot (which would reject the copy).
"Modern" mailing lists still pass through the Cc: material which makes this possible, even though they set Reply-To, and disallow posts from non-members.
I don't care how you set up your mailing list; you're not going to easily be able to moderate out persistent trolls. You can't use IP block banning easily, because trolls don't contact your server directly; they can go through any number of e-mail service providers. If a troll keeps coming back over and over again, using different gmail addresses, are you going to ban everything from gmail?
But, yes, trolls will be replied to. Because, remember, they are not even going through the mailing list robot. They are just sending mail. Of course the troll's mails can be replied to and go back to that person, and to everyone on the CC list that he or she put in.
Not only that, but the troll can include the list address on the CC: line! A reply to the troll will include quoted material from the troll (typically), and since the person responding is a valid subscriber who is allowed to post, that quoted material gets to the list.
So all the list subscribers end up seeing:
On Monday, October 6, 2014 T. Roll wrote:
> Inflammatory crap ...
I disagree with your inflammatory crap!
The name Netochka Nezvanova is a pseudonym borrowed from the main character of Fyodor Dostoevski’s first novel; it translates loosely as “nameless nobody.” Her fans, her critics, her customers and her victims alike refer to her as a “being” or an “entity.” The rumors and speculation about her range all over the map. Is she one person with multiple identities? A female New Zealander artist, a male Icelander musician or an Eastern European collective conspiracy? The mystery only propagates her legend.
Cramer, Florian. (2005) "Software dystopia: Netochka Nezvanova - Code as cult" in Words Made Flesh: Code, Culture, Imagination, Chapter 4, Automatisms and Their Constraints. Rotterdam: Piet Zwart Institute.
Empire = body.
hensz nn - simply.SUPERIOR
per chansz auss! ‘reazon‘ nn = regardz geert lovink + h!z !lk
az ultra outdatd + p!t!fl pre.90.z ueztern kap!tal!zt buffoonz
ent!tl!ng u korporat fasc!ztz = haz b!n 01 error ov zortz on m! part.
[ma!z ! = z!mpl! ador faz!on]
geert lovink + ekxtra 1 d!menz!onl kr!!!!ketz [e.g. dze ultra unevntfl \
borrrrrrr!ng andreas broeckmann. alex galloway etc]
= do not dze konzt!tuz!on pozez 2 komput dze teor!e much
elsz akt!vat 01 lf+ !nundaz!e.
jetzt ! = return 2 z!p!ng tea + !zolat!ng m! celllz 4rom ur funerl.
\ \/ i should like to be a human plant
i will shed leaves in the shade
\_\ because i like stepping on bugs
Counterexample to your claim: browse the linux kernel mailing list archive at https://lkml.org/
On any message you can click [headers] to view the headers. You can see rich Cc: lines full of addresses. Well, you can't see the addresses because they have been scrubbed. But you can count the commas! For instance:
Cc: Rusty Russel <>, , , , John Smith <>,
For instance, exhibit A:
Note how "Kernel Mailing List <>" is on the Cc: line, too.
Users do not get two copies because the mailing list software is smart enough to calculate a set difference between the expanded mailing list, and the set of addresses which are already in To: or Cc:
GNU Mailman makes this a configurable preference (per subscriber, I think!) The reason is that some people prefer to get the duplicates. A possible reason is that they want the official list copy, which is subject to some custom mail processing rules based on its list headers, or rewritten subject line.
By the way, some people also prefer to get only mailing list digests. For users who receive only digests, discussion participation is still possible because the discussion is based on the normal To/From/CC mechanism of e-mail.
Didn't the intended recipients occasionally miss replies to their messages, and wasn't it a bad idea to put the responsibility of re-sending bounced (or un-routable) email to the person you're replying to in the hands of the person writing the reply, not the mailing list itself? I doubt it would have worked very reliably with usenet addresses or the early internet with all those relays.
Remember when all the UK's host names were backwards, and you'd route mail through nss.cs.ucl.ac.uk (or uk.ac.ucl.cs.nss, depending which side of the pond you were on), which would swap the host names around on the way through?
The Brits drive on the wrong side of the road too, so I suppose backward domain names made sense to them.
All of the mailing lists that I operate on my own mailing list server allow non-subscribers to post. Due to my anti-spam configuration, this isn't a problem.
Traditional mailing lists, before the rise of spam, were usually this way.
And anyway, this is a separate issue. A list which does not re-mail postings from non-subscribers can nevertheless not do Reply-to: munging. So once you are on the list and participate in discussions, you're still sending messages to the list, as well as directly to those in the discussion.
Earlier this year I was involved in a mailing list discussion in which one of the parties was actually (unbeknownst to me for a while) a "persona non grata": someone banned from posting to the mailing list. His postings were not being seen by the subscribers, but only those in the debate. This list does use Reply-to:; he just (trivially) circumvented it.
How mailing lists operate is constrained by how e-mail works. E-mail is very conservative.
(Yes, various things are there that weren't there a quarter century ago, like parsing out MIME-attached HTML and rendering it. Sure, SMTP is optionally authenticated and encrypted now. And in the routing and delivery infrastructure we have things like DKIM, SPF and DMARC. And we have DNS-based anti-spam databases. But by and large it's the same. The way a client sends and receives has not fundamentally changed.)
E-mail is a mine-field for people who think they have some great idea about some quick fix to a perceived problem.
About fifteen years ago, it seemed---to multiple people at the same time---like a brilliant idea to write an extension for a mail client (or a procmail script or whatever) to automatically answer all e-mails from senders who are not on a white-list, and challenge them to verify that they are real. That would solve all forgeries and spams, they thought! Oops ...
Reply-To is a special header that is normally not present.
It has a valid use case (what it is designed for). It's used when someone composes a message on behalf of someone else (like a secretary on behalf of the boss). It says that another person is the real author; please reply directly to that person.
When it's added by a mailing list robot, it wrecks the traditional operation of the mailing list.
For one thing, it becomes hard to reply privately. You hit "reply", and the message is composed to the mailing list.
A mailing list non-subscriber is not able to get a reply to a question posted to a mailing list. So the Reply-to trick is only compatible with subscriber-only mailing lists, which are a pain in the butt.
Reply-To is a wrongheaded solution to a mailing list problem: and that problem is people using "reply" instead of "reply all", generating private discussions that do not go to the list, but unintentionally.
Today, a feature is showing up in mail clients (at least open source ones): "reply to list". This addresses the problem in a better way. The mail client recognizes, from the headers, that the message being replied to is a mailing list item, and presents this clear way of replying. Furthermore, the mail client extracts the correct list address from the headers.
Unfortunately, "reply to list" implementations are still not kind to non-subscribers. The feature assumes the subscribe-only style of mailing list. (What is needed is a list header by which the re-mailing robot can tag the message as being from a non-subscriber, so the mail client can know to keep that person in the loop.)
Also, the direct, back-channel replies sent among participants do not carry the list headers, so "reply to list" does not work for those: it's back to "reply" or "reply all".
4.4.3. REPLY-TO / RESENT-REPLY-TO
This field provides a general mechanism for indicating any
mailbox(es) to which responses are to be sent. Three typical
uses for this feature can be distinguished. In the first
case, the author(s) may not have regular machine-based mail-
boxes and therefore wish(es) to indicate an alternate machine
address. In the second case, an author may wish additional
persons to be made aware of, or responsible for, replies. *A
somewhat different use may be of some help to "text message
teleconferencing" groups equipped with automatic distribution
services: include the address of that service in the "Reply-
To" field of all messages submitted to the teleconference;
then participants can "reply" to conference submissions to
guarantee the correct distribution of any submission of their
3.6.2 Originator Fields
... When the "Reply-To:" field is present, it
indicates the address(es) to which the author of the message suggests
that replies be sent.
Also, the "Sender" header is meant for the example you gave (composing and sending an email on behalf of someone else), not Reply-To.
"'Reply-To' Munging Considered Harmful" is twelve years old, and I don't think the list of mail clients containing "reply to list" includes any of my favorites - much less making it the default, as it should be, since at least on the mailing list I manage, it's an extremely niche case to want to reply to someone privately.
And if you do so, you run the risk of the recipient not noticing the To header and thus getting confused about whether the message was private or not - especially in the many modern clients that use a linear rather than hierarchal view of threads, where you'd end up with a "conversation" randomly interspersing private and public parts. Much better to just compose a separate email.
> Unfortunately, "reply to list" implementations are still not kind to non-subscribers. The feature assumes the subscribe-only style of mailing list. (What is needed is a list header by which the re-mailing robot can tag the message as being from a non-subscriber, so the mail client can know to keep that person in the loop.)
Allowing non-subscriber threads using "reply to all" is a fundamentally limiting feature, though.
- The most important point: if you're not CCed by someone else, you have to start a new thread; if you are browsing archives, you can't just 'forge' a reply to a message you didn't receive, or at least I haven't used a client that lets you do this. And you should be browsing archives, because the alternative is asking questions without knowing if 10 people have asked the same thing recently. If you are CCed, you only get replies strictly hierarchally located under yours; you can't really join the discussion as a whole.
A better system would allow you to join a thread at any point and start to receive followups sent anywhere in that thread (but only that thread).
- In lieu of such a header currently, or in case of clients which don't support it, if someone does reply to the list, you will silently be cut out of the loop.
- There's no way to stop receiving reply-alls. Not the end of the world, since even Gmail lets you mute conversations, but it's more clunky than necessary.
In my ideal system, all mail would be forwarded through the robot so you're cut out of the loop iff you want to be.
- Not as "fundamental", but there's no guarantee the list in question even has a usable archive browsing interface. (I don't pay enough attention to which interface I'm using to name names, but there seems to be a common archiving UI which does not wrap messages - of course they should be sent wrapped, but in practice I've often seen one-line-per-paragraph messages.)
For the record, my ideal system is somewhat approximated by Discourse, which is a forum, but gives you the option to receive all messages as email and reply via email. However, there are various implementation defects which make me not really want to promote it.
- you sent 2 e-mails to the Varnish-misc mailing list in Feb 2011 about the ESI-related bug you found (https://www.varnish-cache.org/lists/pipermail/varnish-misc/2... https://www.varnish-cache.org/lists/pipermail/varnish-misc/2...), which then remained unanswered
- but then you also tried to "help" another user in an unrelated thread "Lots of config" in March 2011 (starting here, https://www.varnish-cache.org/lists/pipermail/varnish-misc/2...), and PHK had a knee-jerk reaction (https://www.varnish-cache.org/lists/pipermail/varnish-misc/2...) to one of your "suggestions", a reaction that was indeed a bit vitriolic, but when read in the context of your other contributions to that thread, it makes a little bit of sense.
There's no excuse for the language in that post.
Really? My contributions to the open source world are certainly modest, but I get thank you emails perhaps once a month for applications I've released. People are quite pleasant.
Most recently I have decided that releasing open source is what I want to do, because it is what I want. I don't expect anyone to appreciate it any more.
The parser I wrote has actually made it into several linux distributions ( as well as on the distributed discs ). Several people benchmarked it and said it was amazingly fast. I'm pretty sure it is used by a fair amount of people, but since it is mainly distributed through CPAN I have no idea who really uses it or how many.
I think this is the case for what I wrote because it is a component. People in general I think appreciate tools much more than components, especially if the component is one of many somewhat inter-compatible other options. There is little love for "another thing added to the pile" even if it is different in fundamental ways.
I wonder if in part this is due to solicitation - you [by which I mean 'one', a person, not specifically you] have a "support" forum for problems, you have a note asking for contacts with bugs but generally OSS projects don't have a "comment with thanks" or a tip jar or whatever.
Guestbooks used to be the way people could offer a quick comment of thanks.
But as you say this is more likely to work for frontend user-facing projects. Stars on github or similar will show at least that people appreciate your work if they've not explicitly thanked you.
I've also had people thank me for a FOSS app, but that was also a consumer application. The fact that it was open-source was actually incidental though, I don't think anyone have actually forked or looked at the code. If they did, maybe I'd have gotten some hate mail ;)
If I have voiced some criticism of your code it is certainly not because I wished to belittle your efforts or to make any value judgements about your worth as a person.
I named you simply because you are the first person to state that my XML parser is "invalid", despite my having worked very hard to ensure that it does parse XML meaningfully.
I do acknowledge freely that I am disregarding the specs to some extent for the sake of raw speed. You will see that I have altered the documentation to make this clear so there is no confusion.
For myself, with your apology I consider that extremely adequate to address the past. I don't really remember clearly, but I know that it was a very rough entry into the open source world to have my parser attacked ( considering it is the first meaningful thing I contributed to the community )
I would like to point out that communication and understanding between members of the community is exactly what I am asking for. I thank you for stepping out and attempting to resolve this. There is no way I would ever know that you felt this way without you expressing it, and unless I did I would have lived forever thinking you have bad feelings towards myself and the code I have created.
For all the people who imply that I was attacking any of the named people, including Grant, see that was and is not my intention, and I am very happy today to have some of these things addressed.
I will throw this out there for consideration; it boggles my mind how wikipedia has banned the article on my parser, considering there are entries for many other equivalent parsers. The article was up for years then removed suddenly for no legitimate reason imo... Do you have any opinion on the clear favoring of certain parsers in the information community? ( such as on wikipedia or in excluding specific parsers from being mentioned as related codebases )
"Gamer" is a hobby, but it can also refer to a community that is much, much different from the broad spectrum of people who just play video games.
I'm not the same person you responded to, but regardless I'd argue that there probably isn't much more toxic interactions in open-source then there is in any other communities. People tend to fight and get angry over stuff they care about, that happens everywhere. The thing with open-source is that all of those communications are open, and thus it's much easier to see.
The thing is though, how many times do you think anybody on here has actually looked at the Linux Kernel mailing list for a reason other then a post on here about Linus getting angry? I'd wager not many. Everybody loves to see a good fight, but it's rare to see someone being helpful and nice highlighted. I've only seen one post on HN highlighting Linus being nice and helpful, even though that's the bulk of the posts he makes, and I see one every time he gets angry. For example, looking at some ones he sent yesterday, I'm seeing this (https://lkml.org/lkml/2014/10/5/96), this (https://lkml.org/lkml/2014/10/5/112), and this (https://lkml.org/lkml/2014/10/5/107), all of which are generally nice and well mannered questions, and explanations of things people may need to do differently.
I don't think the Open Source community is nearly as toxic as people make it out to be.
> me for pointing out bugs in his software that he refuses to acknowledge
Sometimes this is a perspective thing. It's not always a bug just because some user reports it as a bug in their opinion. Don't know the story behind that anecdote, but perhaps you didn't understand the codebase like you thought you did, or what the expected behavior should of been?
In any regard, if the project maintainer does not consider it a bug and won't accept a PR, then that is their prerogative. You are [usually] free to fork the codebase and fix it yourself if you had a PR that wasn't accepted. With closed source, that isn't even a remote possibility.
I reported this behavior properly, and I was told that I don't know what I am talking about and there was no problem. The bug I filed was then closed without the issue being fixed or addressed in any way.
I can and will make a competing reverse proxy; because ESI is important IMO, and disregarding supporting it properly is silly.
I think Varnish is great; I'm happy it exists; I think it is silly to close a reported bug on the codebase without addressing it properly. The proper address to it is to simply say "No we don't really support ESI", just as I have said "No my parser is not really an 'XML' parser, because it doesn't really follow the spec."
This page has not been edited in over 3 years and says Varnish does not have full ESI support:
Perhaps you missed it, or perhaps this anecdote took place prior to this page's posting.
In either case, seems it was a misunderstanding - which goes back to my first comment about a reported bug is not always a real bug just because one (or a few) users believe it to be.
I realize that would require more extensive changes to support; my only point is that I wanted to use ESI specifically in relation to forced invalidation.
I reported the bug quite clearly, and the main dev said I was wrong and to this day refuses to acknowledge that forced invalidation does not work sensibly in regard to ESI.
I would like to point out again, that this is water under the bridge. I still support Varnish and respect the developer. I simply wish we could all get along and acknowledge limitations of what we do, rather than denying valid points made about software.
That is the true source of the anger in open source; developers refuse to acknowledge that people use their software in ways they didn't expect, and that you have to listen carefully to appreciate what people want. As a developer, it is unreasonable to brush off and ignore people who are trying to help.
It is usually advised to people who manage open source projects to stay focused on their vision, and not accept random improvements that do not help towards their self-imposed goal.
He's been in this game years longer than most and perhaps he's tired of defending the right way nicely.
To this day I'm unclear why he didn't understand the problem with ESI include files being invalidated not forcing the main including file out of the cache as well. ( in Varnish ) I think he was just in a bad mood and didn't have the time nor care to understand what I was pointing out at the time.
He was pretty mean though, and refused to play nicely to the bitter end of that particular argument. Just google "Lots of Configs" if you want to read the whole silly debate.
Here is what I want: A cache where it supports ESI... File A ESI includes file B. Both A and B are in the cache. If I forcibly tell the cache to invalidate file B, I expect that file A will automatically be invalidated as well, since the cache should know that file B was included into file A. Varnish does not do this. That was my statement to PHK, but apparently he doesn't want to hear it and somehow things this is an unreasonable request.
Re: the app framework naming, there's some partial conversation involving Brian Foy at https://firstname.lastname@example.org/msg34595.html. It doesn't seem to merit nanoscopic's comments, so I wonder if there's more to the story or if nanoscopic is being unfair.
I tried to find archives of the Grant McLean XML stuff, but cursory Google searches were unsuccessful.
If you want to name and shame people (and let's be honest: if you're naming people, saying they did bad things and inviting others to Google it, you are shaming them, explicit disclaimer of shaming intentions notwithstanding), you should (a) use your name and (b) provide adequate breadcrumbs for others to see that your position is just.
If you are so interested, I requested repeatedly to Brian and the list to approve the module after the name "Ginger" was agreed upon, but nobody with authority was willing to move it to the registered list. The leaders of CPAN basically stopped approving stuff. Registered modules were dropped entirely shortly after that.
I tried to talk reasonably to Brian, but he seemed oversensitive, likely due to being overwhelmed with his tasks. I am more sad that registered modules were dropped than anything.
It is likely that Grant McLean's comments attacking my module are no longer around; due to the changes to CPAN and the related bug tracking. He publicly stated that my XML parser has no right to call it an XML parser, in reaction to me including benchmarks showing how slow his parser is even when backed with LibXML.
You were, and are, totally welcome to upload the module anyway (and in fact I'd encourage you to do so), and you have my apologies if that part wasn't made sufficiently clear at the time.
I assume I simply register a module with a root name to claim it, as sort of a placeholder pointing to all the component pieces. I don't want to include the actual pieces in the root module; just use the root module itself as documentation as I see it done among other CPAN modules.
I would like to point out that I realize that my feeling hurt through the discussion is mostly my perspective; hence stating that I recognize you have many other things to do. My frustration was that I had no knowledge that registrations "were on their way out" and my requests at the time to get it registered properly seemed to be ignored. ( I assumed because there were not enough people who cared about registrations at that point to handle doing it )
Once again thank you and I hope to move forwards and be an active member of the community.
Basically, just upload the thing, and document whether you want other people's extensions to live under the root namespace or somewhere else - e.g. DBIx::Class extensions are mostly just under DBIx::Class:: whereas Moose extensions live in MooseX:: - and a hybrid would be Catalyst, where certain types of extensions live under e.g. ::Plugin::, ::Model::, etc. and then things that don't fit in any of the usual extension namespaces go into CatalystX::
You'll find, generally, that people writing an extension to your code will respect your choices, and that any violation of them will usually be an accident and quickly resolved by filing a bug saying "hey, could you follow the policy please".
I did, honestly, mean to email you off list explaining what was likely to happen wrt the registered module list (starting a thread about it at the time on modules@ would likely have been ... unproductive).
Unfortunately, I completely forgot, a failure for which I'm hoping my responses to you today will at least partially compensate :)
Once again, my point in referencing these people is to say that negative attitudes and attacks are widespread, and happens by many professional ( the people I mentioned ). I don't blame them; it is a hard community; I'd just like us all to have better attitudes.
Congrats on top comment BTW.
Notice above comment from mst ( Matt S Trout ). I appreciate him saying sorry and it actually means a lot to me. I have even more respect for those who recognize when their actions have been misunderstood and hurt people. He didn't need to apologize, but it helps the community and I wish more developers were willing to see that there are many different opinions and we need to respect them all.
Also he hasn't (according to him nor Wikipedia) contributed to the Linux kernel, yet you moved kernels to avoid his "crap." Makes zero sense. The Linux kernel isn't one of his projects.
Maybe you should start your own branch with Systemd specifically excluded. That is how many currently popular distro's because popular (mostly relating to different windowing systems, etc but still). You could also move to Gentoo Linux which doesn't (and has no plans) to utilise Systemd as the default.
Last point; systemd is so "crap" that every single distro' is moving to it? Either they have VERY low standards or there is more to this story than that.
That out of the way, I really hope that the FreeBSD community is not inundated with the flamey kind of systemd refugee.
Incidentally, I find it very sad that we can't discuss this on HN. What has happened to Lennart, and the behaviour of Linus Torvalds as a bully, is probably something decent to talk about.
"Of course, I'd also suggest that whoever was the genius who thought it was a good idea to read things ONE F✦CKING BYTE AT A TIME with system calls for each byte should be retroactively aborted. Who the f*ck does idiotic things like that? How did they noty die as babies, considering that they were likely too stupid to find a tit to suck on?"
then I don't think I'd ever contribute to the LKML.
(p.s. the irony of posting such an offensive post by starring out the u in fuck... does he not see the irony?)
Linus is fully capable of writing "fuck", as evidenced by e.g. . If he stars it out, assume it is a stylistic choice for that particular message.
> then I don't think I'd ever contribute to the LKML.
If you can't handle a message like that, then perhaps it's just as well. Note the context (though I can appreciate it may not matter to you, and that you simply won't contribute regardless of it):
A senior developer who have repeatedly made Linus exasperated by submitting code that Linus have had massive issues with, up to and including unacceptable levels of breakage, appears to have written code so idiotic that it should not even have occurred to him. 1 byte reads with sys-calls is a beginner mistake. Kay was/is not a beginner. He also had at that point had repeated complaints from Linus about the quality of his code, and showed no sign of listening.
This conflict eventually culminated in Linus making it clear he'd had enough, and will no longer merge code from Kay until he cleans up his act 
While I don't think I'd be as caustic as Linus, I can totally understand the level of exasperation that saga must have caused him given the series of issues in question. And at the point of this outburst, nothing appears to have worked: the stream of crap had kept on coming.
Then this is all Linus had to say. This, exactly, is a great sentence on why you'll no longer be accepting code from a party, and sums up both what they can do to get back in, and what other developers can learn from this. There's no need to sink to insults, especially at the level Linus can dish out.
We have to deal with clients so clueless, I don't know how they manage to even email us with the stupid questions. But we're polite to them and when speaking about them publically. We keep the abortion-comments private, between the developers whenever we go out for happy-hour. It's not very hard for the open-source community to do the same. (I know the majority of the open source community does not do this. But a vocal minority do, and the rest of the community seems to be okay with this, when it's not okay).
Linus has no incentive, financial or social, to be nice to Kay. Chewing him out, however, probably lowers his blood pressure and saves him the time of refactoring his immediate emotional reaction into a polite response, both of which are probably critical metrics to him.
Such conduct is not tolerated in workplaces, where people are paid to contribute, why do you consider it acceptable in an environment where people contribute for free?
On the other hand, in most open source projects you contribute what you want, where you want, and if you don't like the project lead, it takes you as much as closing the browser window to quit.
That said, I don't really know if this is the situation of the people working directly under Linus. ¿Aren't the key kernel developers usually paid by big corporations to work there?
Even between two coworkers of equal status, this behaviour would not be tolerated by a good employer.
I don't mean to put words in your mouth, but are you saying that being exasperated is justification to be arbitrarily caustic?
There are plenty of open-source project leaders who deal with incorrigible people and do not talk this way.
> There are plenty of open-source project leaders who deal with incorrigible people and do not talk this way.
And a lot of people who "do not talk this way" are a lot worse by dealing with these kind of issues through backstabbing or veiled insults.
While some are saint-like and never say or do a bad thing to contributors, I don't buy that the lack of abrasive language in any way is a reliable indicator of civility.
There is a choice to be made. The choice stems from the basic mindset: am I fundamentally ok with verbally abusing people around me, or should I try to stop doing that?
I don't know what's in Linus' mind. Perhaps he is utterly incapable of never resorting to verbal abuse. But I doubt that's true.
Most simply, refuse to merge their stuff unless it has quality. You don't have to hold their hand; say: "You are making the same mistakes over and over again. Your stuff isn't going to get merged, and we're not going to spend any time explaining to you why."
"any more time", please. The context should imply this, but some situations require high clarity.
Direct language, without verbal abuse:
"I am upset and angry that you keep making the same mistakes."
That's clearly communicating how he feels, without verbally abusing his audience.
No, remember the context: you've already used nice, direct words, and Kai has ignored them multiple times. Now you need to shake Kai's cage. Linus might have gone overboard, but his technique has more chance of success than yours.
Also, this is not a sterile corporate environment. The LKML is more like a dive bar than Applebee's and that's the way they like it.
What I want to firmly point out is the general community's level of acceptance of verbally abusive language.
There could be a debate about what constitutes verbal abuse, on a case by case basis. And that would turn into a mess.
What I'd love to see is the community acknowledge that using and even encouraging such language is bad for everybody, and it's bad for the open source movement, big time.
> There could be a debate about what constitutes verbal abuse, on a case by case basis. And that would turn into a mess.
Right now, a lot of people simply do not make the distinction between verbal abuse and direct language. In other words, they are arguing that we should not bother discouraging verbal abuse because it "shouldn't" affect targets any more adversely than direct but non-abusive language.
I guess it's a debate one can approach from many angles. But maybe you're right, perhaps focusing on highlighting why one thing constitutes verbal abuse and others don't is too semantic of an argument, and it's more productive to focus on the fact that just because one person has never been truly bothered by verbal abuse doesn't mean that should be the universal expectation.
Too many misunderstandings have been caused by well-meaning people reading too much into cherry-picked HN comments.
Hm. Because these comments are WAY off topic and have now drowned out the article and any rational discussion, I won't comment any further. Diederich, I hope you'll show more restraint with the Reply button.
My interpretation of that email chain reads: anyone who is stupid enough to continue reading byte-by-byte after being told that it's a bad idea should be retroactively aborted.
The implied subject makes a big difference. (I still think it's over the line but I understand that everyone makes mistakes in the heat of the moment)
And everybody, myself included, says things out of frustration, in the heat of the moment. That's not what I'm talking about here.
I'm talking about how many (most?) open source technical communities are very much ok with language that is abusive. Indeed, many take pride in that fact.
When I say something that's inappropriate, I'll make a point of retracting it later on when I'm calm.
Given that direct words were ignored multiple times, I would suggest that the next action is simply to not merge, without comment, after a final "You are ignoring us, we can't the time to keep correcting you. Your bad merges will be ignored without comment."
Such a path will get a developer's attention, and it involves no verbal abuse.
A problem with flinging abusive words around is that it artificially and needlessly limits the diversity of your community. Though, it might be that that's t
"The LKML is more like a dive bar than Applebee's and that's the way they like it."
Some people can form that understanding as the basis of their relationship and continue on happily, able to both give and receive this kind of criticism. To others, it is completely foreign and incomprehensible and they don't see the tongue-in-cheek at all and just interpret it as blatant, outright hostility, which is generally not the actual subtext.
Kay had then made /proc/kmesg semantics somewhat weirder, by not blocking but instead returning 0 when the available buffer wasn't big enough to read into; normally, returning 0 to a read indicates that the file has been closed, while if there simply isn't data available yet the call is supposed to block until it is.
So Linus was asking Kay to fix the issue, but also making an aside about how stupid it is to try to read one byte at a time from the kernel.
Now, there was the other incident you mention, in which Linus did get upset enough at Kay for not responding very well to a big report, but this one was not that; he was merely asking Kay to fix a bug, and cursing out some unnamed other developer for having done something as dumb as byte-at-a-time reads.
Not really defending either side here. I find Linus excessively caustic on these issues, and Kay a bit too unwilling to admit when he needs to fix a bug. I feel like Lennart gets way more hate than he deserves; he can be a bit difficult to work with sometimes, but it's crazy how some people think that he's single handedly out to destroy the Linux ecosystem.
I run a lot of software originally written by Lennart (Avahi, Pulse, systemd, heck, I recently even started using ifplugd on systems that still needed to use ifupdown but we wanted to respond properly to network cables being connected and disconnected), and find that it tends to be higher quality, more well designed, and more stable than a lot of the other code in the stack. Due to the fact that much of it changes the "traditional" way that systems worked to a very different but friendlier way, there tend to be a few integration issues along the way for early adopters; if you don't want such integration issues, it's probably best to use a stable distro like RHEL/CentOS or Debian Stable, rather than a quickly updating distro that ships code that's not yet ready for primetime like Ubuntu, Fedora, or Debian testing/unstable.
Most people are not going to see the context of that statement. I'm sure he had his issues with the developer and the relevant code, but that doesn't excuse such a public display. All he did in that matter is make himself look bad and, to a degree, made his project look bad. As it's been stated elsewhere, such actions most likely just drives people away.
Open source software, especially the big projects, are a public facing entity. Just like any large corporation. A public lashing with this type of language should not be considered healthy for the project nor the open source movement. It only causes negativity within and towards the project with the additional issue, as you show yourself, of not always actually solving the problem.
Each to their own I suppose.
Most people are never going to contribute to the Linux kernel in the first place. Anyone who is likely to, is likely to 1) actually get at least some cursory knowledge about the community and the process, 2) not deal directly with Linus until they've spent a lot of time getting up to scratch, including submitting patches to sub-system maintainers, 3) get only polite responses from Linus if/when they do deal with him.
I don't think Linus has any reasons at all to be concerned about whether or not people see the context of the statement. The people who don't are not likely to affect his ability to do his job.
> All he did in that matter is make himself look bad and, to a degree, made his project look bad.
Any reasons why Linus should care?
> As it's been stated elsewhere, such actions most likely just drives people away.
Linux does not have a problem with lack of developers trying to get stuff into the kernel. If it drives away some good people, then so be it. If it makes some shitty developers think twice about ignoring repeated admonitions from Linus, then it seems to me like good use of his time.
> A public lashing with this type of language should not be considered healthy for the project nor the open source movement. It only causes negativity within and towards the project with the additional issue, as you show yourself, of not always actually solving the problem.
From my point of view, the negativity tends to show up in discussions like this, rather than in forums where people are actually concerned with these projects. The level of desire for political correctness annoys me greatly. I find a lot of the responses here far worse than the direct language Linus sometimes uses because of insinuations and underlying implications of the statements.
If someone involved in a public facing project open to the masses doesn't care in any way how they appear in public, then that's just a problem that will likely never go away. I suppose as long as people are willing to accept the abuse then it won't negatively affect the project that much in terms of contributions.
Another one, got it. As long as people still continue to desire to contribute then other people's behavior is totally acceptable.
So far, I have yet to see any one person's comment reach the level of the quoted statement. If you can't see that then I guess we'll have to agree to disagree. Also, you are assuming quite a lot about my level of tolerance for political correctness. Simply pointing out that someone behaves in a bad manner and suggest that maybe there was a better way is not political correctness.
Again, we shall have to agree to disagree. Projects will carry on regardless.
Therefore, I doubt that a random person on LKML that wasn't CC'ing Linus to complain about the bad performance of doing things wrong would draw random fire from Linus about his ability to suck a tit.
Meanwhile, Steve Jobs was a total asshole to many people, including family, and this has been approved in his hagiography as a condition for his incredible inventions which revolutionized all mankind. If that is true for Apple then presumably it is also true for Linux?
Or maybe we should be more uniform in criticizing for people being assholes, rather than singling out Open Source with an implicit double standard.
Usually when people cite Steve Jobs' (or Linus', or anyone's) asshole moments as being somehow constructive, it's because they wish they could act the same way towards the people around them but they can't get away with it due to their own lack of power. It's not an attractive quality for someone to have. It's one thing to be somebody's lousy manager, it's another thing entirely to be envious of lousy managers.
1. very nice.
2. receiver of whatever shit (including good shit) people send.
4. responsible to make a critical system work.
5. a filter of bad code.
Without offending anybody?
I don't know Linus, but he seems a good, selfless guy, with the best intentions at heart. If he's not politically correct, who the fuck cares? Sometimes I get the feeling that even murderers are more respected, as long as they talk nice.
In my opinion the insistence on political correctnes has much more chilling effect than some passionate, if insulting, words.
I think that the OSS community (and IT community in a broader sense) has this idea that "they're just words," and so therefore, they should just be able to say what they want without consequence. But, words matter. A whole lot. Empires are built upon words. People rally around words. Words convey ideas, thoughts, feelings, and everything that goes with them. Why is rampant bullying accepted in this culture? Why is it the norm?
I'm not saying that things have to be all sunshine and rainbows. Yeah, sure, it's stupid to read a byte at a time, but you don't have to be an asshole about it. You can say, "Hey, that won't work," and be done with it. People should be treated with a modicum of decency. Remember the human, and all of that.
If I got dissed in such a hyperbolic way from a boss that was paying me, I would leave.
In a situation where I've toiled in a position of importance in a project I work on in my free time, and I screwed up, I think I'd be hurt if I was dismissed lightly and without creative ire. I mean, I want to know that if I screwed up, I screwed up enough for someone to admonish me creatively, since there isn't any method of management. Your tool is primarily shame, you can't suspend someone without pay from a mailing list.
Constructive criticism is helpful and should always be the first stop on the train. But if you should already know better, or that ground has already been well-trodden, then it just sounds patronizing. This is where being told to shape the fuck up is the kind of message I would expect to receive.
What would be even worse is being ignored or shunned.
EDIT: I find it quite amusing that I get downvoted for a fairly dispassionate and mostly objective explanation of context, yet several of my far more subjective and controversial comments elsewhere in this thread have gotten heavily upvoted. Figures.
You say that blocking these merge requests would benefit many; so be it. Being polite about doing that would benefit the same set of people, and may others at the same time.
There are also people involved on both sides, and people get angry and frustrated.
> Being polite about doing that would benefit the same set of people, and may others at the same time.
And a lot of people believe that sugar-coating it would reduce the benefit by signalling that Kays behaviour wasn't so bad after all.
And maybe this approaches the crux of the problem. It seems that there is a false dichotomy at work here.
Being polite (or, indeed, just not being verbally abusive) takes less time and energy, and is overwhelmingly more effective, than being overly abrasive.
I don't believe 'Sugar-coating' has anything to do with being polite and accurate. 'Sugar-coating' is all about being less accurate and on point.
The point is that the person in question was being rude and disrespectful by continuing to ignore the instructions he'd been given in the past, and repeatedly caused a lot of very real, very heartfelt anger from a lot of people over the time he wasted for them.
Pretending not to be angry over that is very much sugar-coating to me.
Now, there are nicer ways of being direct and expressing anger, but pretending there was no anger and no valid reasons to be angry would be flat out dishonest. And I really don't think the recipient in this case had any reason to expect any civility from Linus at this point, even if others might choose less direct language.
In other words, there's a pretty egregious double standard being applied here. In my experience, that typically favors the kinds of abusive personalities who have discovered some easily-exploited aspect of the social system to simultaneously provide cover for their own bad behavior while limiting their target's ability to retaliate.
If I were on a team stuck with this guy, and required by professional norms to bite my tongue, I can safely say I'd take supreme satisfaction in seeing such a nasty employee get this severely excoriated. And make no mistake, this isn't about "feedback" or "criticism". It's about driving the guy out of the shop in a way that provides a suitable catharsis for everyone who has had to put up with his actual and sustained unprofessionalism.
Of course, tf this were an arbitrary, unjustified, or otherwise baseless response, I could see how it would be hugely damaging to Torvald's authority, and the trust he relies on. But in a case like this, the opposite seems true. And if it puts others who present similar problems on notice, so much the better.
This is also revealing: the idea that it is somehow dishonest if one chooses to not publicly verbalize one's own internal state.
We should think about that for a moment. This is the proposal: "I am being dishonest unless I verbalize my anger about a topic."
I would submit that dishonestly would require a more direct statement.
"I am not angry about your continued choices for ignorance."
That would be dishonest.
In my opinion, not saying anything about one's internal state can't be dishonest. No information was given.
As for his "passion", I don't think that resorting to public humiliation is any way to lead a project. Rather, it sounds like an item out of that "How To Minimize Employee Retention" article that made the rounds last week.
Linus certainly has many good qualities that have contributed to the success of Linux. He's diligent, he's technical, and he's great at solving problems. But it's important to acknowledge that Linux has thrived despite his abrasive outbursts, not because of them.
No, you don't really know that! These outbursts may bother you and other people but it is also possible that they have been very, very beneficial to the community. Like it or not, they are a form of humor to many people and that may improve team cohesiveness.
I for one think that the reaction to this particular retroactive-abortion-outburst as "not treating people as human beings" is taking things absolutely way too seriously.
Would you tolerate a manager who talked to you this way? I wouldn't. Not even Linus. And then I'd point out all the pretty crappy code Linus had checked in.
It becomes a lot harder to call someone a 'fucking moron' if you imagine it as a guy standing in front of you.
I don't think Linus would care. Everyone makes mistakes. Linus is a gatekeeper of sorts and he has to "point out crappy code" whether people like his language or not. The outside world just needs to decide how seriously they take these outbursts. I don't think there's any evil dimension in that.
It's a double loss. It makes the code weaker and less innovative, and it makes the culture seem unappealing to outsiders.
You might not think that's significant. But how can you know what you're missing by not being more exclusive?
Consider: open source could be set up on a semi-formal apprentice/mentor basis. It could easily become a way for programmers at all levels to develop professional standing.
Code on a GitHub profile is not the same as being able to say "I worked on X and was mentored by Y and Z."
And "You're a moron, fuck off" is maybe not the best way to create a culture of collaborative support.
I don't see any evidence of a huge number of people, that could otherwise contribute anything meaningful, avoiding Linux kernel because it's "hostile". They avoid it because they simply don't have anything meaningful to contribute, or are not able to contribute with the level of quality required in Linux kernel, or they are unable to handle the inevitable criticism.
Also, I'm pretty sure Linus has never used those words to tell people to get lost. Don't invent stuff. He might use strong language but in many cases it is humor or he knows the receiver personally.
(And that was where I got bored.)
I just think his hyperbole is a way of expressing good discussion and reason.
> Disdain for "political correctness" is often positioned as a concern that some important truth is not being spoken for fear of offending someone. But that concern is nothing but smoke and mirrors. To invoke "political correctness" is really to be concerned about loss of power and privilege. It is about disappointment that some "ism" that was ingrained in our society, so much that citizens of privilege could express the bias through word and deed without fear of reprisal, has been shaken loose. Charging "political correctness" generally means this: "I am comfortable with my privilege. I don't want to have to question it. I don't want to have to think before I speak or act. I certainly don't wish to inconvenience myself for the comfort of lesser people (whoever those people may be--women, people of color, people with disabilities, etc.)"
I really hope you aren't. Posts that recast and interpret someone else's opinions like this are toxic to any political discussion. The framing makes the topic into an caricature you can easily oppose all while whispering in your ear "this is what's _REALLY_ going on."
Maybe you don't think this interpretation is wrong. Maybe you think I (like they) just can't realize or admit it's right. Maybe you don't think it's such a bad thing if this armchair psychologist is just a bit wrong. But have you ever seen someone post about how stupid social justice is when the thing they're trash talking isn't social justice at all? Have you never had someone disagree with you assert that you believe something you don't? Posts like that are exactly how it happens.
Now i imagine that Linus suffer a tremendous pressure to not let any bug pass, cause everybody in the world would eat his liver if there's a smallest security hole in the Kernel
Millions of lines of C code, that run in every gadget we can think of, the guy is stressed out; and you have a "code terrorist" do deal with?!
Also Linus has a strong personality, everybody knows that; so i dont see this as something bad as its being painted here; And we have to take the cultural background into account; i prefer the German/Nordic tought/transparent way than the hypocrisy/"you are great, but i will stab you when you turn your back" kind of culture (and im from a relaxed kind of culture)
I Think this is more of a cultural clash
Note that this happens because you can read it with knowledge of the writer's personality. If it were an anonymous author, your impression would be perfectly correct.
No, I know that the standard reply here is that no one is above being polite. I disagree. This is a Linus' flaw, of course, but one we can live with in the context of his hugely positive net contribution.
Said in response to a comment by Linus directly stating that someone should be retroactively aborted (murdered).
If you seriously believe he was advocating murder, I presume you have reported the matter to the police, as in that case it is a criminal offence.
Just kidding, I hope you die in a couch fire.
It's not that we "can't" discuss it, you just have to be prepared for the discomfort of disagreement from both reasonable and unreasonable positions. Bad positions will be argued well, and good positions will be argued poorly.
The empathy to understand issues from stances you disagree with is necessary to make arguments that sway people to your position. The ability to be as critical of your own positions as those you disagree with is how you ditch silly ideas and improve the defense of your good ideas.
The reader has to put in more effort than looking at a salty conversation and coming out the other end saying "gee, that was frosty, therefore I don't have to think about the issue seriously and can conclude the position I had going in was right all along." It may not be ideal, but making the best of a bad situation is a practical approach often necessary to get anything useful done. Do you want to change minds or do you want to indulge in the comfort of showing everyone just how right you are?
This has the side effect of divisive issues not getting the same exposure as stuff everyone agrees on.
Linus do not seems to be a person one should quote, as context seem to be critical important for anything he says.
It is intensely but shallowly interesting. Previous attempts to discuss it devolve into bad tempered argument.
No one learns anything from these discussions. No one has their mind changed.
The question is, is this method of selection conducive and is the use of obsessive aggression costing open forum projects like OSS through selective acceptance? There may have never been an alternative to the extremely abusive nature of white-male dominated cultures in the first place in regards to projects in open forums.
The vast majority of OSS projects that don't start from a strong core fail miserably and it's because of this. People extrapolate their real life professional behaviour to a virtual, open scene where assumptions of competence and commitment fall flat massively.
If anything, OSS needs more people like Linus Torvalds and Theo de Raadt managing projects and not post modern clowns with "white male" guilt. It's not by chance that Linux is possibly the biggest success in OSS history with real community contribution, and most of the others have been carried out by their respective cores with very little external output.
American PC behaviour is a disaster for OSS and that's why a lot of OSS is "awful" where it matters, which is in quality, in competitiveness and in leading the industry. Companies like Google and Mozilla lord it over OSS projects that are basically "glass house" corporative projects with extremely little external contribution (other than forking code from Linux, Apache, BSD, etc).
If anything the OSS is not dismissive enough of shit and this is holding us back.
Linus Torvalds is not a bully. He's in charge of one of the biggest and most successful project out there. And this project is open-source, and anyone can contribute to it. Anyone. Even your cat. Imagine the Windows codebase being opened to anyone, with anyone being able to suggest fixes and send patches, or ask questions, or make suggestions.
You do not want any idiot to commit insane things. You need to have some barriers. And these barriers are related to technical skills.
You have to understand that the alternative to "Linus is mean" is "Linus let a fucking patch enter the kernel, and it broke millions of machines around the world, causing millions of dollars worth of damage". Every single line committed in the kernel must be carefully checked, and if you lack the skills, just go away, because it will (1) spoil the precious kernel maintainers time and more importantly (2) do damages to millions of users.
So I am personally very glad Linus is "abrasive", because when someone screw up, he makes it perfectly clear, and this is totally appropriate considering how critical the linux kernel is nowadays.
And yes, if you want to live in a politically correct, nice, cheerful project, this is not the project you need to work for.
[Having said that, I do not think Linus has ever been dishonest (such as refusing a patch only because he did not like its author, unlike some C-library guy), which is precisely the reason why his abrasiveness is perfectly fine to me]
I think this notion - which Linus pushes - that the alternative to yelling at people and generally being short tempered is always "political correctness" ... well it's quite harmful. Yes, it CAN get that way, if people interpret criticism of their work as personal criticism and try to shut it down by complaining about it. I've seen that happen before. Some people don't know how to handle someone implying, even if politely, that their work sucks and can't handle it. But that doesn't mean it has to be that way and well functioning teams manage to avoid it.
I wonder about those projects sometime. If we took all of the conversations that ever took place at their office and stuck them online and in public. What would that be like? How many journalists and bloggers would find inflammatory quotes that can be published out of context to shame the person who spoke those words? How would Linus stack up next to John Doe of the Foo project?
Or, think about everything you read, said, wrote or heard at work over the last month. Now imagine hand wringing blogposts about all of it. Especially the things that you want to exclude from this thought experiment because they would have never been said if your only communication method was a public mailing list.
For example, this is what Linus wrote:
"Of course, I'd also suggest that whoever was the genius who thought it was a good idea to read things ONE FCKING BYTE AT A TIME with system calls for each byte should be retroactively aborted. Who the fck does idiotic things like that? How did they noty die as babies, considering that they were likely too stupid to find a tit to suck on?
"It is a very bad idea to read one byte at a time with a system call, for a variety of reasons, including and especially performance."
I would love to hear how being an abusive asshole actually does any good? I see it as a way to artificially limit the size and diversity of the potential contributor pool.
Nonetheless, my question still stands: how is a verbally abusive diatribe in any way better than a shorter, more reasoned, and perhaps final response?
It could have been "This code is bad. I will not accept this code.". Except that would not have communicated the same message.
It's not always desirable to strip away emotional content.
"It upsets and angers me that you're continuing to make the same mistakes over and over again."
vs. 'abortion', etc.
Both examples communicate emotional content. Only one of them is verbal abuse.
Consider which is more effective in person - the phrase "I am angry" uttered in a calm tone of voice or profanity and insults in an angry tone of voice. One of those states anger. The other communicates anger.
I've been through military basic training, and such language is routinely used because it is quite effective at communicating error by breaking down mental resistance and barriers to correction.
In that case, the potential for emotional harm is outweighed by the net reduction in the probability for physical harm on the battlefield if such lessons aren't learned absolutely.
Make no mistake: the kind of language Linus (and so many others in our community) uses can and does cause emotional harm, primarily to people who might be called 'thin skinned'. This is discriminatory against some personality types.
In the balance between using verbally abusive language to more effectively communicate error and not doing that, I believe there's no question: verbal abuse is wrong, and should be avoided, and not defended. There are other ways to accomplish the same thing, without all of the toxic side effects.
Remember, the goal of an open source project is useful code. A friendly and emotionally supportive community is only desirable if it aids in achieving that goal.
I concur that open source projects' primary and over-arching goal is and should be to produce good code.
When the leader of a project freely (though not so frequently in this case) uses verbally abusive language, that has the strong effect of limiting the diversity of potential contributors to the project.
I'm willing to assume that a more diverse project tends to be a project that will produce better code.
In this particular case, bad code wasn't included in the project. The abusive language did nothing to stop merge of bad code.
So did verbally abusing this developer somehow cause his/her future contributions to be of higher quality? I don't know the answer to that.
Or perhaps did this verbal abuse generally raise everyone else's code quality, because they didn't want to become a victim as well? Perhaps.
One thing I am certain of, though, is that such choices artificially and severely limit the possible side of the contributor pool, and that's bad.
I'm not willing to assume that a more diverse project and larger potential contributor pool will automatically produce better code. Not all contributors are of equal value. Some contributors are of net-negative value, particularly those like Kay who persist in such. It is highly desirable to limit the potential contributor pool to as few of those individuals as possible.
Size is not the sole meaningful measure of a contributor pool. Quality is equally - and often more - important.
When dealing with matters tangential to a core purpose, sometimes the ends do justify the means. When was the last time you thanked an open source developer for stopping development on features you needed (perhaps permanently so) in order to encourage the surrounding community to be nicer to one another?
The diversity I'm talking about is in personality types. There's a lot of people, even on Hacker News, even in this thread, that would be excellent technical contributors to the Linux Kernel, except they have a personality type that requires them to spend more emotional energy dealing with verbal abuse, either directed at them, or just being flung about.
As you say, size isn't the most important measure of a contributor pool.
In my mind, angry, hateful language, especially if it is accepted by the whole, will greatly limit the amount of talent available.
Good development and merge practices has and will continue to keep bad code out.
And note, I have not said anything about being warm, friendly or inviting. I'm not necessarily suggesting those be specific goals.
Finally, nowhere have I suggested that anybody stop working on features, and instead 'encourage the surrounding community to be nicer to one another'.
There is a very real possibility that angry language results in an increased ability to ship code by discouraging more net-negative contributions than net-positive ones.
I personally don't think that a reasonable person who is familiar with such emails could honestly say that Linus is not a bully or that such behaviour is ever acceptable.
Being in charge of a very important project doesn't make it OK to tell people that they're so stupid they should have been aborted.
What they don't seem to realize that its more likely they'll be on the receiving end of the negative traits they applaud. Either by an occasional screw up or because Mr Bossman is having a bad day. To be humiliated in public like this is often very painful, even for the thick-skinned. The day that happens, they're lawyering up and getting HR involved because, how dare someone yell at them. In their minds, the yelling only happens to someone else, the imagined dumb peons they see themselves as being above.
I think way too many techies seem themselves as John Galt-like supermen, and that the negative consequences are for the sub-humans. There's a real dynamic of here of dehumanizing others that's often swept under the carpet. I think this dynamic is sociopathic.
This is a false dichotomy. You can tell people to go away or get better without telling them it'd be better if they'd never been born or wishing violence upon them. I honestly don't have a problem with Linus telling somebody their code is terrible. Linus has often taken it to another level in belittling and abusing the people around him.
Linus has a pattern where his first (or second) reaction to an issue is to START SHOUTING AND NAME CALLING in an attempt to shut down discussion. If the issue blows up he comes back and gives a reasonable, considered response. It's a pattern that's not helpful.
For some reason it has become really easy to escalate things quickly from what are disagreements or perceived wrongs to really intense hatred and online forms of retaliation that is so extreme that it overshadows the original disagreements/wrongs.
It is almost like one needs a new form of Godwin's law for group arguments, the first one to go full "4chan" (or whatever) on a subject is declared the loser of the argument, whether or not they had a valid argument to begin with.
This type of crazy retaliation is really harmful to those that are targeted, but it also serves to detract from legitimate arguments. It is just weird.
But this is the internet and I suspect it isn't really that easy to curb going full "4chan" on subjects because it can be "fun" for those involved because there are few personal consequences -- as per that sociology concept of https://en.wikipedia.org/wiki/Deindividuation.
It is difficult to motivate a group of individuals to "hate on" an individual, technology, or movement without a personal stake. As 4chan would say: "Not your personal army".
The escalation process to this point is not quick. Instead, it is often cryptic, hidden, or complex to understand. When you see it laid bare, it can make a twisted sort of sense if you were there to see it build up; if you saw the initial back and forth vitriol between two parties.
Once a tipping point is reached, the building tensions spills over into an adjacent community which then bandwagons. This is the point where parties start complaining about forum invasions, threats, and it spirals out of control. This is where it becomes visible outside the community.
When you see the fighting from the outside, it is all noise and no signal.
By this time all of the discussion that could be had between parties was already had. The time for legitimate arguments had been passed, and now it is only an emotional clash of personalities and communities.
What you don't see are all the disagreements and intra-community conflict that never make it to that level and are resolved quietly. These greatly outnumber the knock-down, drag out fights, or at least they never escalate to media attention.
I think what we're seeing now is not a fundamental shift in the state of online discourse, but rather the changing role social networks and "media outlets" that report on online controversy acting as a delayed amplifier which only fans flames and provides a place to appeal after all context is lost. Social media also enables bandwagoning and cuts across interests but tweets and hashtag oneliners cannot capture the nuance of the lead up to the current conflict.
It's seems as if now it is okay to label an entire activity as a singular group that should be attacked, based on negative behaviour of individuals.
That it is now okay and acceptable to release pent up hatred upon a group, an eye for an eye, abuse for abuse. It becomes justified when the group says "hey, that's not fair" and fights back. A war then is started which further defines and entrenches both sides.
The only logical and ethical stand point is to be a neutral pacifist and have nothing to do with warmongering of any kind.
This is closer to dehumanization, where the aggressor simply fails to be self-aware that there is a human that they are abusing, due to the impersonal nature of the communication channels being used.
Except the anonymity involved means people on the other side send abuse to themselves and their side in order to shift discussion off of the topic and onto how their opponents are evil abusive monsters. And then of course people who just love stirring up shit send abuse to both sides purely because they enjoy it.
This explains the high level of rational discourse on news websites and Facebook :-)
I don't like being confused this way. :(
Well, also consider this: I refuse most pull requests, and I'm not the kind of guy that is kind at every cost. I also am part of a minority, being very southern-european, from Sicily, often associated with the worst cliché of the Italian culture, Mafia, ... I also have a vision on software development which is very far from what is considered "good practice". One could expect me to receive more attacks than average.
I will concede the point that Lennart has, by far, probably received more vitriol per-capita from the Gentoo community than any others. I'm not going to defend any of the personal attacks launched on him.
However, Lennart writes very opinionated software, and the opinions it takes are more at clash with the Gentoo way than the Fedora way or the Ubuntu way. Furthermore it seems to me that Gentoo users are more conservative than any distro other than Slack.
What this adds up to is that a far larger fraction of the Gentoo community have issues with Lennart's software. There will be some fraction X of people who have issues with his software that will make inappropriate attacks on Lennart himself. Given that a much larger fraction of the Gentoo community has issues with his software than in other communities, the fact he gets a disproportionate amount of vitriol from Gentoo users doesn't necessarily mean that X is larger in Gentoo.
Personal attacks are not OK, but he should keep his opinion on what _my_ machine should do for himself. For what it is worth, his systemd is a bug.
Releasing free software and what you accuse him of are entirely different things. Frankly I'd like to understand how you even equate someone releasing software which you aren't even forced to use, to essentially ramming his opinions of how YOUR machine should run down your throat.
The anti-systemd people really aren't coming across at all well in this thread. At lot of what you guys are accusing him of literally makes no sense on the most basic level. This being a prime example.
Don't like systemd? Don't install systemd. Don't like that a distro is bundling systemd? Don't use the distro that is bundling systemd.
The creator of systemd cannot be held responsible for you voluntarily installing the software, leaving it on your system, and then becoming upset about how it works. If you installed systemd and hate it, remove it. It aint' rocket science.
The systemd developers have made many political decisions that ended up putting systemd in a position that makes it difficult to avoid. The prime move often cited is the engulfment of udev inside the systemd codebase and entangling it with systemd's shared files (formerly belonging to libsystemd-shared, not it's just a big libsystemd blob), and later rewriting the build system so that it was harder (though not impossible) to make udev-only builds. This and many other decisions prompted the creation of eudev. Of course, now they're converting the transport layer from Netlink to sd-bus, thus intending on making udev systemd-only, and taunting Gentoo users along the way.
Furthermore, various distribution maintainers (though particularly Debian and Arch) are placing various components that optionally use systemd libraries, or provide systemd units, as being dependent on systemd. You can see this with Arch and lighttpd.
Further, GNOME's adoption of systemd libraries was negotiated by Lennart as far back as 2011. Though it would have likely occurred anyway, he was an active instigator in the ordeal (https://mail.gnome.org/archives/desktop-devel-list/2011-May/...), and a couple of years later was arguing on his G+ feed that with systemd-logind being unportable and inseparable, that this should be a reason for Debian to adopt it. He chose to do this rather than continue ConsoleKit or make logind an independent daemon. Currently, more is being consolidated: Avahi is now becoming systemd-resolved, and kmscon is becoming systemd-consoled. Among other examples.
But it's not just the GNOME Shell, some core Desktop Linux applications now depend on systemd libraries, as well. upower and udisks2 come to mind. The former even caused quite a stir in Gentoo circles when a regular upower update was suddenly pulling in the entire systemd stack.
The whole point of systemd is to be the standard userspace middleware for a GNU/Linux system, and to be an absolute essential.
No, Lennart is not a rampaging monster, but to say that he's just some innocent bloke who's simply releasing free software, is bullshit.
It's been years since I used desktop Linux, but frankly so far my impression of systemd is that it sounds like someone in the Linux community is finally doing some damned architecture work for once instead of just trying to build a desktop on top of a pile of historical accidents. I remember when GNOME 2 was being developed (back then I was a user) and the massive, rampaging flamewars about how GNOME 2 was killing Linux, how it was fundamentally against the UNIX way etc. Back then it was Havoc Pennington who got shitted on by the "community" for daring to suggest that maybe you don't really need seven kinds of clock widget installed by default. And now what I see is people forking GNOME because they love GNOME 2 so much and they don't want to switch to GNOME 3.
Back when I used to work on Linux related stuff, one of my projects was a cross-distro packaging framework. The idea was you could create binaries that'd install and be upgradeable on any reasonable distribution. We did a lot of work into binary compatibility and other tools so you could make binaries that soft-linked against libraries, etc. The amount of crap we got was unreal. A lot of people in high places in the community, especially from distributions, hated the idea that maybe people could just download apps from a website and it'd work. I think at some level they understood that distros competed largely on the size of their package repositories and if that approach to software distribution became mainstream they'd lose their "lock in". And some of them had internalised the idea that "Linux is great. Linux doesn't distribute software in the same way as other platforms. Therefore that's what makes Linux great."
When I look at MacOS X what I see is a very successful OS that has an architecture rather similar to what systemd sounds like (the OS X equivalent is called Launch Services). So maybe that's why distros are getting behind it.
For what it is worth, his systemd is a bug.
What way would you like to customize your system that you cannot using systemd? I'm genuinely curious if you've ever tried using it.
Now, there are many valid reasons why systemd may not be to your taste. No one is forcing you to use it. There are projects in which development is moving to depend on systemd, because it provides a lot of functionality that other systems don't, and the people writing that code don't want to have to reinvent the wheel. Lots of software has dependencies, some of which you may not like, but you shouldn't blame Person A for making a system that you don't want to use, that Person B who writes software you do want to use depends on; and really, blaming Person B isn't particularly helpful either, as they are just trying to get the job done efficiently and don't have the time to maintain many different backends for many different incompatible session management systems.
Glad to see someone finally mention that in this thread.
With all due respect for him but he is eating his own food. See this posts and you understand:
1 - https://plus.google.com/+LennartPoetteringTheOneAndOnly/post...
3 - https://plus.google.com/+LennartPoetteringTheOneAndOnly/post...
4 - https://plus.google.com/+LennartPoetteringTheOneAndOnly/post...
So does everybody, s/w are rarely written by committee, Linux is as designed by Linus, iOS/Android/WP/OSX/BSD/ are all made by choices of their creators.
Why is his opinionated writing, getting in way of your opinionated installing/use of s/w you install on your machine.
In both cases they are posts about mathematics which use other topics (economics, dating) as concrete examples and the examples draw hatred.
However, unlike many of the people subject to unpleasant behavior such as this, I'm going to suggest that the best thing to do is ignore it and move on with your life. I don't favor much in the way of systematic solutions. Assorted "codes of conduct" being proposed are blunt instruments and are easily used by people in power to bully others or to shut down discussion of "incorrect" opinions.
Furthermore, technology is fairly unique in it's communication. In many fields, communication is there to create a sense of community and in-group status - creating a tribe. In our field, most communication is simply about facts. It's quite easy to ignore "you're wrong because X,Y,Z and a big jerk" - just evaluate argument X,Y,Z and update your beliefs accordingly.
Back when I lived in NY, a coach told me (rough paraphrase): "Tu debil. Necesita para construir tu corpu." ("You're weak. You need to build your body.") In the recent past, the tech world's culture was a lot like that of a mexican boxing club. The correct response is "si, mi SQL debil, eu pratico." ("Yes, my SQL is weak, I'll practice.")
Somewhere along the line, we gave this up and became a culture where feelings matter more than results. I think the solution here is for the tech world to regrow the thick skin it once had.
 A post about functional programming is limited in it's eventual virality.
"Accounts with feminine usernames incurred an average of 100 sexually explicit or threatening messages a day. Masculine names received 3.7."
The study pointed out that the harassment targeted at men is not because they are men, as is clearly more frequently the case with women. It’s defining because a lot of harassment is an effort to put women, because they are women, back in their “place.”
Would the aforementioned unpleasant behavior be more acceptable to you if it were directed via a random number generator (i.e. a random set of people are singled out to receive 100 messages/day) rather than a predictable decision process?
> Somewhere along the line, we gave this up and became a culture where feelings matter more than results. I think the solution here is for the tech world to regrow the thick skin it once had.
I disagree that the solution is to regrow a thick skin and if you ignore the differing experiences that tech women have, you're overlooking a gigantic problem in the current tech industry and tech culture.
Could you explain why you think otherwise?
>But disappear is exactly what she did next. Andrew "weev" Auernheimer, a well-known provocateur, hacker, and anti-Semite, circulated her home address and Social Security number online. He also made false statements about her being a battered wife and a former prostitute. Not only did Sierra find herself a target for identity theft, but all the people who had threatened to brutally rape and kill her now knew where she lived.
You've provided no argument why that isn't the case apart from "won't someone think of the women" (ala Helen Lovejoy https://www.youtube.com/watch?v=RybNI0KB1bg ).
It is very important to not trivialize harassment directed at men because they are male and not female. That is part of the very gender stereotype that it is the cause of the statistics your referenced, and reinforcing that behavior will only make things worse.
Reasoning like that is why we have the TSA.
The tech community has become weak because we have taken
a look at ourselves and realized that many among us are
brutish, brash, and generally all-around assholes. But
since these people are highly skilled, we should feel that
the fact that they are assholes should be swept under the
rug and we should "just deal with it."
I also don't believe it's wrong to want anything.
I merely believe that all the potential changes I've seen suggested (beyond perhaps "everyone magically becomes nice") are probably more harmful than the current situation.
I wish I could find his article on incompetence as a costly signal of criminal commitment.
There are plenty of people who are 'skilled' and 'blunt,' but their skillfulness is only in navigating corporate politics, and taking credit for the work of others...
No. It's not wrong to not want to change them either. I like Linus. He delivers. Many people talk nice, but it's all bullshit.
Are you stating that you believe that there is a direct 1:1 correlation between people talking in a civil manner and people being "all bullshit"?
Are you also stating that calling someone names when telling them they are wrong somehow adds credibility to opinion of the name-caller? What about political attack ads that spend all of their time smearing the person rather than their policies?
Many people talk nice, but [niceties are] all bullshit.
Many people talk nice, but [their talk is] all bullshit.
Before setting out to change things, I advise figuring out what the desired end-state looks like. And what means of getting there are acceptable.
Thanks for saying this. I completely agree. I'm from Europe though, maybe it's worse in the US.
Also, I love the second post you cited (Equal Weights). It's completely clear to me that there is absolutely no sexism/racism involved, and also how stupid people would think that it's racist/sexist.
This touches an interesting point. Feedback must be accurate. If you are actually provably wrong, I am not doing you a favor by telling you you that you are "not right". Losing face is a fact of life. When I'm wrong, I want to know I am wrong, what I am wrong about and just how wrong am I. If possible, tell me what can I do to be right the next time.
It must also be kind. You do not point someone is wrong to humiliate the person and you should take care not to (I try and I fail more often than I'd like to) fall into the trap of judging a person for his or her first efforts.
Having said that, I am almost sure all the exaggerated discourse on the Linux kernel mailing list is not really part of the message, but should be understood as more like a sport, a game, where the one with the most elaborately crafted insult wins. When Linus says you should be retroactively aborted he most likely wants to say you are very wrong and your idea is really bad and that, maybe, you should be more thorough the next time you submit a patch. Their time is a finite resource.
Is this the most efficient way to run the community? Probably not. We just don't know what is the most efficient way to do it and it can just be that Linus found a local maximum.
Saying "you're wrong" isn't the issue here. Saying "your mom should have aborted you and i hope you die" is the issue. I don't think people in cultures where losing face is a big issue much care if they're told they're wrong. They care is they're told they are so wrong they should kill themselves or be killed. Honor killings are unfortunately still a big deal in some parts of the world.
What you say in defense of the mailing list insults is the same thing that has been said about casual racism or casual misogyny in other groups normally dominated by white men. It scares away other groups and cultures, and it's not acceptable anywhere.
This. Absolutely. The issue is the personal attacks. I've considered delving more deeply into the linux world, but why would I want to willingly go into a place where my constitution is insulted by those who know little-to-nothing of my constitution, let alone my character.
To the individual who commented on the fact that "time is a limited resource" ... so are intelligent people. That you would sacrifice a person (sacrifice them from your project, or committing to your work) by insulting them shows me to avoid your organization.
> They care is they're told they are so wrong they should kill themselves or be killed. Honor killings are unfortunately still a big deal in some parts of the world.
Nobody is wrong enough to warrant that. I see the "elaborate insult" thing can get out of hand, but, still, it should not be taken at face value. I believe the proper way to deal with this is to either engage in an escalation of extremely elaborate insults (provided you accompany that with technical argument defending your "bad" idea) signalling the insult is not the topic being discussed (but it's "adorning" the arguments) or stating, privately, that the insult crosses a line and asking the person to please not to that again. It usually works.
Disclaimer: I am a caucasian straight married male in his mid-40's. I probably belong to the demographic least susceptible to bullying and some of the situations described here are probably very alien to me. I appreciate constructive feedback, however. I do not know how the moderators would react to an insult war, however, so I advise against it, even if you think it proves your point.
LKML gets thousands of emails every day. The bulk of the discussion is actually very civil.