Hacker News new | comments | show | ask | jobs | submit login
"Open Source is awful in many ways, and people should be aware of this" (plus.google.com)
605 points by basil on Oct 6, 2014 | hide | past | web | favorite | 465 comments



I think this is an important point for people to accept, acknowledge, and keep in mind as a reason to strive harder to be open and accepting to people, especially those you don't agree with.

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.


The internet in general has problems with this, but I suspect it's much worse in the open source world where unmoderated forums are standard. If you look at the moderation tools available in something like mailman, they're very poor. It's just not been a priority for technical discussion forums at all. And the social convention is to leave forums largely unmoderated anyway, so it's easy to get into a downward spiral where behaviour gets more and more extreme as people try to make their opinions stand out amongst the crowd.

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.


They're smaller communities, but I've been on a few developer lists that are fairly strict about the dev list being only for developers. That doesn't solve the "dev who's a jerk" problem, but it does raise the barrier to entry by excluding people who want to only argue and not develop: if you subscribe and immediately start arguing, without having contributed anything, you get booted.


You cannot moderate mailing lists because they are not centralized. When you hit "reply all" in a mailing list, the replies go directly to everyone who is on the To: or Cc: list. The list robot is just one of those parties. And of course, private replies are possible that the list robot doesn't even see.

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.]


That's not what a mailing list is. What you are describing is an email message with multiple recipients, not a mailing list. Mailing lists don't include the email addresses of all of the recipients in the distributed messages To or CC fields, and the From and Reply-to is the address of the mailing list, never a list of all users on the mailing list.

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.

https://en.wikipedia.org/wiki/Electronic_mailing_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.


What you're describing is a particular mailing list configuration (one often seen today); not what mailing lists are.

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.


What you describe certainly used to be common, but it's not anymore. You didn't say why the old style is better.

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 does not take care of anything nicely. There is no "default" behavior about how to reply; you have to think about whether to reply privately or publicly based on the topic and your intended content. (If anything, the default should probably be privately, unless the response really is of interest to the whole multitude of subscribers. All too often, mailing list discussions devolve to the point that it's not the case.)

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.


Yeah, I'm old too. I subscribed to INFO-COBOL@MC (which was not about COBOL, but used that name because joke mailing lists were forbidden on the ARPANET), DB-LOVERS@MC (maintained by the tty of Geoffrey S. Goodfellow, specializing in dead baby jokes, not databases), ITS-LOVERS@MC aka UNIX-HATERS@MC, and I also ran a large international mailing list NeWS-makers@brillig.umd.edu, with lots of redistribution lists as well as usenet subscribers (routed via uunet) for many years during the 80's.

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:

http://its.svensson.org/.MAIL.%3B.MCNEW

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.


My point never was that an e-mail message is a mailing list.

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


My favorite instance of emergent mailing list behavior was when a trouble maker named GUMBY created a "PLEASE-REMOVE-ME" mailing list, just for people who sent email to another entire mailing list asking to be removed from it, instead of sending their request to the administrator at mailing-list-name-REQUEST.

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!


>What you're describing is a particular mailing list configuration (one often seen today); not what mailing lists are.

So are you! Your original point hinges entirely on having many non-centralized posts and counting them as part of the list.


I only described the technical back-drop for mailing lists. The behaviors of setting Reply-To: headers, and of rejecting posts from non-subscribers, are still implemented as hacks against the old mechanism. These configuration features have not changed how mailing lists work.

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?


In a 'modern' mailing list a troll will be able to spam people on the list, but they won't really be replied to. They won't be able to participate. The actual conversations will be moderated.


What is true is that the troll's message will not appear in the list's archive. (That's how I became aware that one person was actually a troll; I went to the archive, and, huh? This guy is not there! And neither are my replies to that guy. What the .... Then it immediately dawned on me!)

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!
Nobody on the has the original message with the full inflammatory crap (except those on the CC: list of that troll thread including the person writing the above response). But thanks to this reply and others like it, everyone on the list continues to have glimpses into what T. Roll thinks. (They are is even trimmed nicely to give the list members just the most inflammatory parts!)


But if the list is set up differently you can get it so people don't use reply all by default, and even better they can tell at a glance if a mail came from the list or not.


Does anybody remember the nettime mailing list, and the amazing ascii graphics code-poetry performance art trolling (and excellent personalized customer support) by Netochka Nezvanova aka NN aka antiorp aka integer aka =cw4t7abs aka m2zk!n3nkunzt aka punktprotokol aka 0f0003, the brilliant yet sociopathic developer of nato.0+55+3d for Max? Now THAT was some spectacular trolling (and spectacular software).

https://en.wikipedia.org/wiki/Netochka_Nezvanova_(author)

https://en.wikipedia.org/wiki/Nato.0%2B55%2B3d

http://jodi.org/

http://www.salon.com/2002/03/01/netochka/ 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. https://web.archive.org/web/20070215185215/http://pzwart.wdk...

    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.
    
    vr!!endl!.nn
    
    ventuze.nn
    
       /_/  
                             /  
                \            \/       i should like to be a human plant  
               \/       _{  
                       _{/  
                                      i will shed leaves in the shade  
           \_\                        because i like stepping on bugs


> Mailing lists don't include the email addresses of all of the recipients in the distributed messages To or CC fields, and the From and Reply-to is the address of the mailing list, never a list of all users on the mailing list.

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 <>,
means that it was CC'd to 6 e-mail addresses, four of which were in the "local@domain" format, with no display name, not wrapped in angle brackets.

For instance, exhibit A:

https://lkml.org/lkml/mheaders/2014/9/30/320

Note how "Kernel Mailing List <>" is on the Cc: line, too.


Sounds like a terrible idea. Is it a bug or a feature? Why would anyone want to do that? I'd be afraid that some mail readers would choke on the empty addresses, and I can't think of any reason you'd want them, or any purpose they'd serve. It doesn't ever include actual email addresses in the cc does it? Because those poor users would get at least two copies of every reply.


The empty addresses are just in the public mail archive that is exposed through the web. They were scrubbed away by the archiver software. The recipients of the original message got it with all that information intact.

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.


Sounds too clever by half. How can the mailing list software know that the direct reply actually got through to the people in the To: and CC: list?

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.


I've never used a mailing list that didn't possess a centralized address like foo-discuss@example.com. And these all require explicit approval to submit messages to the list, in order to keep out spam.


No, they do not all require explicit approval to keep out spam. In GNU Mailman, this is a config option: you can allow non-subscribers to post or not.

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.


Maybe that's how mailing lists worked "a quarter century" ago, but it's most certainly not how mainstream mailing lists work now.


Yes, one might think that; I understand where you're coming from. And it would be a valid argument if mail clients and mail protocols worked differently today compared to a quarter century ago.

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 ...


What's wrong with changing Reply-To?


You mean, what is wrong with setting Reply-To.

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".


The basis for modern email, RFC-822, has this to say about Reply-To:

    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
        own.*
(emphasis added to the last sentence) So, Reply-To munging isn't out of the realm of possibility. Also, the BNF for Reply-To does allow multiple email addresses to be specified. RFC-2822 and RFC-5322 both say the same thing about Reply-To:

    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.
It could be argued that Reply-To munging is not allowed by this, but I could still see munging as adding an address to a mailing list email seems a reasonable thing to me.

Also, the "Sender" header is meant for the example you gave (composing and sending an email on behalf of someone else), not Reply-To.


Meh...

"'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.



After doing some research on "I also got attacked by PHK" I did some research and found this:

- 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.


Why are you putting help and suggestions in quotes? What's wrong with a jump table?

There's no excuse for the language in that post.


> Also, I can't say I have ever been thanked for contributing. Just kicked in the face.

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.


Yes, for many years I intentionally did not release more open source due to only having people contact me to ask for help or criticize and never to simply say thank you.

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.


>only having people contact me to ask for help or criticize and never to simply say thank you //

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.


Are these end-user applications? I suspect developers can tend to be less grateful than end-users, and this guy was writing an XML parser.

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 ;)


Don't you think adding your real-name would be a nice move when you choose to give names of people you disagree with?


[deleted]



If it is, thanks for being a high-integrity individual.


Thank you. Unfortunately the FBI and Secret Service have a different opinion, and so the FBI is still holding onto $5000 of my gear. For myself, I can't say I would try to "do the right thing" again, because it simply isn't in my best interest to try to get people to listen to what is reasonable.


I am disappointed to learn that you feel I have attacked you in the past. I apologise unreservedly for any offence I caused you. I always try to be civil and professional in my interactions and to be mindful of the difficulty of conveying the intended tone over an electronic medium.

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.


Thank you for expressing this. It helps me to be able to move past it. I have always thought you were angry at my contributions to the community. You will note that I applaud the simplicity of your module, and even went so far as to create a SAX streaming version of my parser that works together with XML::Simple so that those who wish to stick with your interface can do so. I didn't maintain it much, but can do so if there is any real interest in it.

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 )


I failed to understand this line of criticism. Open Source is a software development model. It's not a model of society and does not guarantee to consists of only well-mannered people. There are ugly, difficult people everywhere, not just in Open Source projects.


Open source is a software development model. It is also a community. If you bill yourself as a "movement", you're building a community around yourself, like the open source movement.

"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.


Most of us did not bill ourselves as a movement though. Some money grubbing people did back in the .com bubble days. I did not make the OSI. I am not part of any movement. I write software I want, and give the source away freely for others to use if they find it useful. That's it.


Genuine question: Did you read the article? I feel like the author's main point is that there seems to be a higher abundance of toxic interactions in Open Source than other communities.


> Genuine question: Did you read the article? I feel like the author's main point is that there seems to be a higher abundance of toxic interactions in Open Source than other communities.

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.


You make a lot of good points, but I take issue with:

> 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.


The specific bug was in the Varnish reverse proxy. It had to do with the non-functionality of the ESI ( Edge Side Includes ) "support". I really like Varnish and was making great use of it, and was happy to learn it supported ESI. I thought that if you change the contents of an ESI file, and then invalidate that file in Varnish, that Varnish would know the files that include it and invalidate them as well. Nope. Varnish seemingly has no recognition of ESI in regard to invalidation and simply includes the contents of the file, in effect treating them like regular SSI ( server side includes ).

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."


Just to parlay -

This page has not been edited in over 3 years and says Varnish does not have full ESI support:

https://www.varnish-cache.org/trac/wiki/ESIfeatures

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.


There is zero mention in varnish documentation of how ESI and forced cache invalidation occur. ( because it simply doesn't support it ) That was and is my point, and is not addressed on that page or anywhere else.

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.


Well, if you didn't like their denying your improvement, you could always make a fork, that's the beauty of the open source.

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.


ESI is not a very well designed protocol, and cache invalidation is hard. You could look at Ledge[1] which has an aim of supporting the cache use cases for ESI fragements.

[1] https://github.com/pintsized/ledge


I would love to hear some details. When I've see PHK get vicious he's always been right.

He's been in this game years longer than most and perhaps he's tired of defending the right way nicely.


I wasn't exactly polite when he attacked me. I responded in turn because it was absurd and silly to me to be threatened. To know anything about me is to know that threatening me is a joke; I'm not afraid.

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.


Couldn't you accomplish this with a vmod?


I find in my project people are generally quite helpful and thankful. I can't say I've received much criticism for sharing a project with the world.


Lord of the Flies. Regrettably, human interaction, in the context of the achievement or retention of power, can devolve into scenarios of violence that range from verbal and psychological to the unthinkable. Open Source is obviously not immune to this.


thanks for contributing your code


I find it (mo/i)ronic that you reference people with full name "XYZ attacked me", only for verification of course, but you forgot to include your own name.


He named the GitHub repo which has his name in big bold letters: https://github.com/nanoscopic


Better might be to provide links to the cases where he feels hard done by.

Re: the app framework naming, there's some partial conversation involving Brian Foy at https://www.mail-archive.com/modules@perl.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.


I didn't provide a ton of details because I think it is important to be constructive and just make the point that people should be more caring and positive. I don't want or need to try to bash these people. All I am saying is that they were somewhat mean to me. It is my personal perspective. I'm not sure what anyone will get out of reading this stuff in detail.

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.


Honestly, the registered list had been on its way out for quite a while by the time that happened; by the point of the discussion, I was only monitoring registrations because I cared about helping people find better names rather than because I thought the final registration click was relevant in and of itself.

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.


Thank you for your comment; I appreciate the acknowledgement. I do intend to do as you say and change the name properly, since basically it doesn't matter now that "registered modules" are gone. I have not done so yet simply because the framework is poorly documented ( as far as what is published ) at the moment, and I wanted to add the documentation properly when I take over a whole root namespace. Also; I am a bit unclear as to -how- exactly to claim the whole root namespace, since the way it is done is different among several of the modules I observed.

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.


There is not, and never has been, any enforcable means of claiming a whole root namespace; the demise of the registered modules list hasn't changed that at all.

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 :)


Here's the relevant commit. https://github.com/andk/pause/commit/0e3ab7d88a3ff6a9ea72af0... The decision to remove the registered list had already been made in 2013 and I really don't think it was being used much anymore.


Still not cool. Proper way is to reference commits and bugs. Just imagine someone Google your name and first link is to this comment: XY attacked me....


Go ahead and Google my name. You'll find that it is mostly just attacks on my character related to an incident with UMD and the FBI. Unfortunately people don't reference facts; news ( and people in general ) just believe what they want.

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.


But I do not care that some guy refused to approve your name or whatever. I do care, that you are shaming people you do not like on public forum. It is pretty much same behavior as Linus and other a*holes in OS community.

Congrats on top comment BTW.


I'd like to point out that I have a lot of respect for the developers I named; my point is that we should all play nicely, not that I wish for these people to be shamed. People get hurt. I was hurt. I'm not attacking; I am saying it still hurts to be treated that way by members of the community, and that I agree with the notion that you need to have a thick skin. It shouldn't be this way; the entire open source community should strive to improve the world together, not fight about which project is better.

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.


[deleted]


I'm confused, did he force you or anyone else to utilise his "crap?" If it is "crap" why are you using it? And what's more why are you UPSET that you're voluntarily using his contributions? What you just said literally makes zero sense to me...

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.


[deleted]


So isn't your beef really with the distro's which aren't fulfilling your needs?

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.


[deleted]


This comment needs a disclaimer that I think it's possible to be opposed to the use of systemd, and not be flamey about it. And I don't mean to suggest that you're the flamey sort of systemd opposer.

That out of the way, I really hope that the FreeBSD community is not inundated with the flamey kind of systemd refugee.


Well it's a good thing you switched to Unix then, because Linux is not Unix.


Yeah, this was discussed about an hour ago, and it hit the flame filter pretty fast. I'd suggest that it won't last very long on the front page.

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.

https://news.ycombinator.com/item?id=8414859


It's a real shame because it's really true and really needs to be addressed. We've had these conversations about gamers, about startups, about tech in general, but when it comes to Linux (and related open source projects) it's somehow impossible to talk about. The community just isn't friendly and isn't inclusive, and that bad behavior goes far enough as to shut down any talk of the bad behavior.


I don't know about anyone else, but when I read Linus write:

"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?"

https://lkml.org/lkml/2012/7/6/495

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?)


> (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. [1]. 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 [2]

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.

[1] https://lkml.org/lkml/2012/12/23/75

[2] https://plus.google.com/u/0/111049168280159033135/posts/Kd57...


>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

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).


Yeah, me too. We're paid for the lip service - that's our incentive.

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.


I hope Linus is not that emotionally stunted.


If he were emotionally stunted, he would have difficulty expressing his emotions. Evidently, he does not have that problem.


> If you can't handle a message like that, then perhaps it's just as well.

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?


Because, you know, in your workplace, you are in an actual inferiority position. Your boss is the one that says how much are you going to be paid next month (or IF your are going to be paid), or whether you are going to work in a nice project or maintaining a 20 years old codebase. If he bullies you, verbally or otherwise, facing up or quitting might have dire consequences.

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?


> Because, you know, in your workplace, you are in an actual inferiority position. Your boss is the one that says how much are you going to be paid next month (or IF your are going to be paid), or whether you are going to work in a nice project or maintaining a 20 years old codebase. If he bullies you, verbally or otherwise, facing up or quitting might have dire consequences.

Even between two coworkers of equal status, this behaviour would not be tolerated by a good employer.


Well, when the quality problems are severe enough to get someone fired from a workplace...


Then they get fired, normally after being counselled. They don't get told they are so worthless they should have been aborted.


I wasn't aware FOSS projects were compelled to accept code contributions...


The point is that this situation wouldn't exist in a workplace. So talking about what conduct is tolerated there... doesn't really apply.


Okay, fine, remove workplace if you want to quibble about semantics and broaden it to "Most human interactions". Most human interactions consider a modicum of respect for the other party to be a basic requirement.


> 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.

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.


I'm saying that sufficient exasperation makes it understandable whether or not it is justified. Linus is human. Humans are not flawless.

> 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.


I think Linus (and others) choose to stay verbally abusive because there they exist in a community that both facilitates and defends that poor behaviour.

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.


Random theory time: People who are harmful to the project, should be removed from the project. If you're not a company but an "open" project that can't fire people, you pretty much have to do this my making them not want to say. So if someone causes enough trouble, just pile on the verbal abuse until they get fed up and leave.


I think this is another false dichotomy. It's quite possible to efficiently limit the damage someone can cause to a project without resorting to verbal abuse.

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."


> 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.


I don't think 'high clarity' requires the use of verbally abusive language.


That is both obviously true and bears no connection to the post you're replying to.


In the same video interview where Linus famously gestured toward Nvidia, he also said that he believes people capable of being offended should be offended. I suppose one could think of it as a way of filtering out people who focus too much on the messenger and medium rather than the actual message.


It is in part a cultural issue. Realise that this form of "abuse" does not carry much weight in a lot of cultures. A lot of the strongest criticism of Linus comes from a cultural background where people are hyper-sensitive to direct language.


Verbal abuse and direct language are unrelated.

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.


"I am upset and angry that you keep making the same mistakes."

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.


This debate exists on a spectrum of gray areas, but I'm pretty sure "you should be retroactively aborted" crosses the line from "shaking someone's cage" to "flagrantly excessive verbal abuse", if for no other reason than it equate's the target's worth as a human being with their skill as a developer, which is obviously not a healthy viewpoint.


I'm a big believer in 'spectrum of gray areas'. This particular quote from Linus is particularly bad.

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.


I agree with you. The problem I'm seeing in this thread relates to this point:

> 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.


Universal expectation? It seems you two are railing against a straw man. Abusive behavior, even on the LKML, even by Linus, is rare. If you feel as strongly as you seem to, please subscribe, form a first-hand opinion, and maybe contribute to positive change. (I contributed around 2001-2003 and really enjoyed it; I don't subscribe now).

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.


The problem isn't that it's too abundant. The problem is that people make excuses for it every time it happens, instead of just saying, "Yeah, that was really verbally abusive."


Yeah, I don't really have anything more specific in mind. I think your analysis is spot on.


I'm not trying to be pedantic here but, despite your quote marks, Linus never said that.

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)


WRT what specifically Linus did and didn't say, that's a fair reading.

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.


If you equate 'sterile' with 'not verbal abuse', I suppose that's true.

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 he intent:

"The LKML is more like a dive bar than Applebee's and that's the way they like it."


It's a style choice, and I think both the choice to utilize it and the reception to it are heavily dependent on the participant's cultural background and upbringing. A lot of people see this kind of message, applied to someone who Really Should Know Better, as a form of tough love and half-tongue-in-cheek way to place extra emphasis on an important message.

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.


Note that the above referenced "retroactively aborted" rant was not directed at Kay. It was instead directed at some unnamed developer who had set up kernel log handling in Debian with a "dd bs=1 if=/proc/kmesg of=/var/run/klogd/kmsg", which was copying the kernel log one byte at a time to a FIFO (presumably because something reading the log was better able to deal with a FIFO than whatever strange semantics /proc/kmesg has).

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.


For such a smart guy, Linus was being extremely dumb in this. Ok, I admit that's my opinion.

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 not going to see the context of that statement.

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.


I got it. Since so few people are likely to see the conversation then I suppose it's okay for him to belittle someone in such a manner. If no one sees you behave badly, then all's good.

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.


Not to excuse this, but this involved a person with a Finnish name who specifically CC'd Linus complaining about a perceived regression when doing things a wrong way. Note that there is even a phrase about a Finnish phenomenon, "management by perkele," referring to a militaristic managing style which steamrolls dissent with a lot of profanity.

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.


I have no idea who these people are that you think celebrate Steve Jobs' asshole behavior. Those are not people who actually know anything about him; those are randos on crappy tech forums if they exist at all. He was an unusual person with many good and bad qualities, not all of which were factors in his success.

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.


There's no double standard here. It's a conversation specifically about jerkish behaviour in the open source world, and merely having this discussion does not ignore jerkish behaviour in other companies, communities, etc.


Minor correction: the person who CC'd Linus was Alan Cox, directing Linus' attention to Jukka Ollila's message.


Why is is that each time offensive Linus quotes are used only a handful of them show up ? Over the thousands of emails that have been exchanged in the last fifteen years there surely must exist a bigger variety.


How could a person who has 24 hours a day be:

1. very nice. 2. receiver of whatever shit (including good shit) people send. 3. productive. 4. responsible to make a critical system work. 5. a filter of bad code. 6. ...

Without offending anybody?


"Offending" and "verbally abusing" are not the same thing.


Any emotionally mature person shouldn't have a problem with what you've described.


This is a fantastic question!


On the other hand, I don't consider this bad. Sure, it's offensive, but he has quite a good reason to be upset - reading one byte at a time will be really slow. Could he say it in a better way? Obviously. Could you interpret his words in a less literal way? Obviously.

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.


Whoa. Timeout. This isn't political correctness--it's basic human decency. Political correctness is replacing the use of a term for a euphemism. Even putting this in euphemistic terms should be completely unacceptable. If I told somebody at work that they were so stupid, I wasn't sure how they survived childhood, I'd be asked to leave, post haste.

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.


Contrary to this, I find myself envious of a person who can dress down another in a flagrant and creative way.

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.


I can't imagine using shame as my primary motivator for improving my work.


Well, presumably a job well done is the primary motivation, or perhaps the recognition of your peers. It is only when you have previously achieved importance and are now in a position to have face to lose; here is where shame can come into play.

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.


You aren't Jewish, are you?


It's really not political correctness to just keep technical discussions calm and non-personal. Meanwhile, consider the chilling effect that kind of attitude has. I know quite a few skilled engineers who would just walk out if their boss talked to them like that, regardless of the merits of the underlying discussion. It's just wildly unprofessional and when Linus does that kind of thing, it sets the tone for all the other Linux-wannabe's who think "great engineers flame people!! i should flame people too!!".


In this case Linus had tried for quite some time to get the person in question to stop pushing crap. Linus eventually told him he'd stop merging his code. From that point of view, if he'd walked after being talked to like that, it'd have been seen as a benefit by many.

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.


It's quite possible to make it clear that he'd stop accepting code without descending to abusive language. Erecting a 'safety barrier' against someone who was doing a poor job and being verbally abusive are entirely unrelated.

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.


It is possible.

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.


In my opinion, there is a huge distance between politely pointing out the faults and problems with something and sugar-coating.

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.


When we're dealing with someone who repeatedly have ignored advice, instructions and admonitions and continues to cause major breakage, then yes, it would be sugar-coating to write something similar to what you suggested.

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.


Exactly. And I'm not impressed with the way the "professionalism" police are so quick to condemn Torvald for one justifiably angry email while giving such a conspicuous pass to a sustained pattern of passively aggressive, measurably destructive, and flatly un-collegial behavior that is the true definition of unprofessional.

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.


It's quite possible to be angry about something, and also be polite in ones response.

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.


I don't think "political correctness" has anything to do with suggesting that someone is so braindead that they ought to have starved to death. Rather, you appear to be using it as a strawman to discredit the notion that we should treat people like decent human beings.

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.


> 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.


For most people the difference between being a complete jerk and a normal guy is simply what they say.

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.


I've found that the best way to check myself on the internet is to imagine I'm talking to someone face-to-face.

It becomes a lot harder to call someone a 'fucking moron' if you imagine it as a guy standing in front of you.


Then you'd point out all the pretty crappy code Linus had checked in? That would be your, what, revenge? And a way of showing how not to be a jerk?

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.


There are certainly evil outcomes when potential contributors actively avoid the Linux kernel and/or other open source projects because the culture can be so hostile.

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 think you meant to say "more inclusive".

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.



You're talking about the Linux Kernel, one of the most productive cultures of collaborative support ever created by humans. If you're going to argue against success, you're going to need to bring a lot of evidence.


That would be my way to point out that if he were aborted due to poor code, he also wouldn't be around.

I just think his hyperbole is a way of expressing good discussion and reason.


Whenever I hear complaints about Political Correctness, I'm reminded of this:

> 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.)"

> http://www.whattamisaid.com/2010/02/conservatives-political-...


* Whenever I hear complaints about Political Correctness, I'm reminded of this:*

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.


Wait.. but what the guy did (whoever is) is really stupid; of the unbelievable type..

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


Linus is great enough, and known enough, to be allowed some idiosyncrasies. If you follow LKML long enough you realize these hard language comments do not carry one tenth the negative message a primary read would convey.

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.


"Oh you can advocate murder for people you don't like as long as your technical chops are in order" --you


"You can yell bloody murder as long as people know you aren't serious about it"-- really me


How you managed to read that into the message above is totally beyond me.


>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).


It takes an extreme lack of understanding of how people actually use English to believe that Linus was actually advocating murder with the message he made, no matter the literal content.

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.


Be reasonable. Do you seriously read that meaning into Linus' message? Couldn't it have an interpretation other than a literal one? I know a lot gets lost in written format, but ... come on!


I think you should be retroactively aborted due to your unrelenting pedantry which serves no one and isn't even amusing.

Just kidding, I hope you die in a couch fire.


I'm wondering what kind of world you would like instead? Would you like those mailing lists to be an environment similar to what you have in the mass media, where political correctness and hypocrisy is rampant, and anytime someone crosses the boundary we use words like 'hate'?


Why not find a middle ground, where one can say that a patch is incredibly broken and shows lack of attention without resorting to abusive language?


No thanks


https://www.youtube.com/watch?v=Xk8n-I53Ib8 (Pulp Fiction, Wolf's speech)


This is why I'm glad that Debian now has a code of conduct.

https://www.debian.org/code_of_conduct


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.

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?


I think the parent was referring to HN's ranking system's tendency to apply a penalty to posts with many comments, in an effort to keep flame wars off the front page (if I recall correctly - it's been a while since I saw a "how HN ranking works" post and I can't find a source url, sorry).

This has the side effect of divisive issues not getting the same exposure as stuff everyone agrees on.


No, really, historically it's been impossible to discuss. People flag the article off the front page or downvote anything negative about Linux or open source the same way they do anything positive about Microsoft.


To get some insight behind linus behavior, I can strongly recommend his Q/A for latest debconf (https://www.youtube.com/watch?v=1Mg5_gxNXTo). It was quite interesting in how much he seems to like to exaggerate things, like the retroactively aborted comment, or how he can make two following sentences with "it is a horrible license" and "it is a great license" regarding the same license.

Linus do not seems to be a person one should quote, as context seem to be critical important for anything he says.


> I find it very sad that we can't discuss this on HN.

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.



Linus' behavior is one that is necessary in order to work with the dominant culture in OSS, particularly white males. The open forum insults to establish the pecking order, and to deter thin skinned people is one that is also abundant in other cultures where open forums are used for establishing the hierarchy. One such example are some East-Asian cultures, such as the Chinese.

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.


It has little to do with "white males" and more to do with Open Communities with no barrier of entry needing to be extremely dismissive when a standard is not met, to make up for said lack of barriers of entry.

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.


You need to understand one thing: you are wrong.

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]


You realise that there are large, commercial projects that are just as high stakes as the Linux kernel or arguably even higher stakes, and they manage to operate with reasonable team dynamics? There is no correlation between "runs an important project" and "must be an asshole" even though certainly everyone has off days from time to time (I've been known to flame people when reaching the end of my tether but usually regretted it later).

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.


You realise that there are large, commercial projects that are just as high stakes as the Linux kernel or arguably even higher stakes, and they manage to operate with reasonable team dynamics?

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.


I don't understand this perspective. One can be a very effective guardian of quality without being an asshole about it.

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?

                 Linus"
Instead, he might have been able to write something like this:

"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.


Had this been Kay's first mistake of this magnitude, it would indeed have been reasonable to expect Linus to have been more civilised. Anyone who has followed this more closely would know that this was nowhere near the first time Linus had issues with his code. Yet he did not appear to be interested in listening no matter what Linus told him.


I am aware of the fact that this wasn't his first 'offense'.

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 makes the reader aware of the writer's true position on the matter, adding emphasis and clarity to the situation. It strengthens the impact.

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.


I agree with that.

"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.


The old writers' saw runs "Show, don't tell". It speaks to effective communication. It applies here.

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.


Kalium, you bring up the strongest point in favor of defending and using verbally abusive language.

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.


I agree, there are other methods to accomplish the same thing without the toxic side effects. That is not in question. The question is if those methods produce superior outcomes, as a lack of the side effects in question does not by itself represent a superior outcome.

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.


This is, I think, a variant on the 'ends justify the means' argument. But sure, we can talk about that.

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.


An open, warm, inviting, inclusive, and friendly community that cannot author useful code is of immense social value but very little technical value.

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 that I am talking about has nothing to do with the variability of code quality. Like you, I want to produce and to consume the best possible code.

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'.


A diversity of personality types doesn't guarantee better code either. I'm suggesting that there's a tradeoff to be had with the various aspects of open source that require time and energy. Spending an increased amount of time and energy on supporting a personality-diverse community (and less on other things, such as writing code) should not be assumed to automatically equate to better code.

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.


Just curious - have you read some of Linus' posts referenced?

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.


I work on a project which sells millions of units each year. You could also argue that idiots committing code to the code base should be stopped. Yet I am very certain that if my manager started calling anyone an idiot and telling them they should have been aborted, he would very likely end out of work very quickly. Yet somehow it's acceptable of Torvalds? How? Good quality work can be done without telling people they are pieces of shit.


I think another issue here is that those who idealize the Jobs/Torvalds way of doing things automatically assume that they're going to be on the "good side" of things. The same way people who idealize things like eugenics know that their genes will, of course, be allowed to spread.

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.


>> 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.

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.


He's just one guy. Not an apologist; the guy is straight out not a great communicator and not really expected to be. But somebody has to be gatekeeper. Whoever that is, should do it to the best of their ability. This is likely the best he has to offer.


I disagree. He can produce the same excellent product without his childish name-calling. His ability to read and accept commits does not depend on his menacing replies to bad commits.


I'll probably get burned for saying this but I think this is related to GamerGate/SocialJusticeWarriors. I think that other controversy is being portrayed as anti-feminist (and there is a lot of undertones of that) but I think that it is more indicative of a general problem -- it is basically unrestrained incivility against those whom one has disagreements, or who has done perceived wrongs.

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.


There's a piece you're missing in observing this phenomenon.

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.


I think it is related. We will shortly see "Open Source Culture must Die" blog posts.

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.


I'm not really sure deindividuation is the process you are looking for here. Typically, that is when the aggressor has more or less delegated the awareness of the consequences of their actions to another party. In this case, the aggressor is not delegating that awareness to anyone; they are still very much an individual who is choosing to make these actions.

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.


You are overlooking who the author is. There are plenty of people (me among them) who would be exceedingly happy if systemd died a horrible death - thus there are people who wouldn't want to have him develop any more software, some go to the extreme of sending death threats.


>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.

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.


I think the anonymity is the core problem-- anonymous crowds are easy to undermine (https://en.wikipedia.org/wiki/Agent_provocateur) and they are always the least self-controlled. But the larger, amorphous and distributed the anonymous group, the more easy it is to undermine them via real Agent provocateurs and also people who are in it just for the kicks of causing havoc.


> I think the anonymity is the core problem

This explains the high level of rational discourse on news websites and Facebook :-)


On the one hand, this is an excellent post. On the other hand, leading off with "I'll probably get burned for saying this" makes me want to downvote it on general principle.

I don't like being confused this way. :(


I must be very lucky... because after many many years of writing open source, being involved with at least three communities (IT security with hping, Tcl language with Tcl/Jim-Interpreter, Databases with Redis) I still have to receive serious attacks. Actually the only attacks I can remember are about my vision on how diversity should be handled (I was accused of sexism for saying that people are all alike), and a few company-driven attacks 99% generated from the SF area and for people working for competing companies, and with a big overlap of people accusing me of sexism (go figure...). Basically none of this was ever a great deal, and the remaining 99.999% of the OSS community was always awesome. Basically I'm just a single data point but as somebody involved for a long time in OSS, I can't confirm what I read.

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.


Could you hint or point us toward some of the ways your vision on software development is far from what is considered good practice? I like to absorb counter-normal opinions.


Just a few examples: reinvent the wheel (Redis uses its own event loop, strings library, and in general has very little external deps). Always backporting new features when they have little interactions with the rest on the code base, to patch-level releases of the stable version. Using data structures or algorithms which are not common. For example Redis implements LRU by random sampling. Taking extreme tradeoffs: Redis is also a store but the dataset is in RAM, Redis Cluster does not try to achieve theoretical optimum of CP or AP in order to win latency, lack of metadata, simplicity, and so forth.


Thanks for sharing. It's good to know that even when a project is large and popular like Redis, it's still possible to have mostly positive experiences.


Lennart specifically called out Gentoo; as a Gentoo user, I do want to speak up in defense of the Gentoo community.

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.


Indeed. About ten years ago, there was a saying on Gentoo site saying that it is a bug if you can't customize your gentoo system the way you want it.

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.


> but he should keep his opinion on what _my_ machine should do for himself

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.


Unfortunately, things aren't as simple as you'd like them to be.

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.


But again, nobody is forcing you to use systemd. You are upset because you want to upgrade some part of your OS but not have systemd, even though the developers of the part you want to upgrade decided to use it. But you could just .... not upgrade. You could use Debian Stable, or fork the programs that are using systemd to take it out.

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.


You are forced when you cannot use the software you used before.


Forced – does that mean they raided your servers and deleted the old source code or just that you want someone else to do new development following your whims but aren't willing to do it yourself?


One of the reasons free software is free is so that you can be insulated from the actions of the developer. There used to be a thousand word processors that were all mutually incompatible, and when the company died you were SOL. Lennart could have gotten hit by a bus, and Avahi would have needed someone else to maintain it. If you want to use Avahi outside of systemd now, you'll need someone else to maintain it. Sometimes these things happen and you have to take them in stride.


I guess I'm seeing to much into "mechanism not policy" don't I?


  For what it is worth, his systemd is a bug.
There is no way in which you can look at systemd and say that "it's a bug". It may be a system not engineered the way you would prefer, but it absolutely isn't "a bug". It's a large, well engineered piece of software, that solves many pain points of traditional ways of managing services and sessions on Unix-like systems over the years.

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.


> Lennart writes very opinionated software

Glad to see someone finally mention that in this thread.


To me this resumes all: "I am used to rough discussions on mailing lists, and yes, when I was younger I did not always stay technical in flamewars, but nowadays I am pretty good at that, I am sometimes articulate, but never personal."

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... 2- https://plus.google.com/+LennartPoetteringTheOneAndOnly/post... 3 - https://plus.google.com/+LennartPoetteringTheOneAndOnly/post... 4 - https://plus.google.com/+LennartPoetteringTheOneAndOnly/post...


>Lennart writes very opinionated software.

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.


So I'm a blogger with posts that occasionally go semi-viral [1], and I've been subject to unpleasant comments on a few occasions. Here are a couple of posts which have gotten me quite a bit of hate:

http://www.chrisstucchio.com/blog/2013/basic_income_vs_basic...

http://www.chrisstucchio.com/blog/2014/equal_weights.html

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.

[1] A post about functional programming is limited in it's eventual virality.


This is different for men and women.

http://www.psmag.com/navigation/health-and-behavior/women-ar...

"Accounts with feminine usernames incurred an average of 100 sexually explicit or threatening messages a day. Masculine names received 3.7."

http://time.com/3305466/male-female-harassment-online/

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.”


This is a bit of a change of subject. Lennert Pottering is male.

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?


I was responding to your overall premise:

> 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.


It is unclear to me why a few people receiving a disproportionate amount of hate invalidates my "thick skin" proposal. I don't think 100x more hate would materially affect my experience beyond wasting a few more minutes of my time deleting it.

Could you explain why you think otherwise?


Because I think both of your premises are incorrect. It's not "a few people", it's 50% of the population. It's not "100x" more hate, it a completely different kind of hate, one that is very threatening and personal, attacking people's core identity.


It would be helpful if you explained the relevance of the distinctions you are making rather than simply their existence. Not to mention the relevance of this entire derailing of the underlying conversation.

The delete button works just as well for "I hate your core identity" as "I'm looking for a javascript spetznatz".


So when prominent women receive specific death threats (see links below), they're just supposed to delete them? I don't understand why you think this isn't relevant; you said "just grow a thick skin" and I'm attempting to show why it's much more complicated than that.

https://twitter.com/femfreq/status/506307716558495744

http://www.theverge.com/2013/9/12/4693710/the-end-of-kindnes...

>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.


I agree that for serious threats of violence, contacting the police or buying a gun is the correct response. For personal attacks/etc, including ones that "attack your core identity" (whatever that means), I do believe that a thick skin is the right answer. I was implicitly (though not explicitly) describing the latter situation.

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 ).


When the message is a threat of violence or hitmen, it should be taken serious regardless of the targeted person gender.

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.


No, that's stupid, because the cost of taking it seriously is far far greater than the estimated badness of any of those threats.

Reasoning like that is why we have the TSA.


You misunderstood; belorn meant “it should be taken [equally] serious regardless of the targeted person[’s] gender”.


The "harassment" i.e. blog comments is not being trivialized. It's pre-trivial.


To summarize:

  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 get that these things exist and that we have to deal with them (change doesn't happen over night), but that doesn't make then "right" or "ok" or "acceptable." Is it wrong to want to change things? Does that make one weak because they don't like the current situation and want to change it rather than "growing a tough skin" and accepting the status quo?


I don't agree with your summary. Physical weakness in my comparison is analogous to lack of technical skill or incorrectness in tech. It's orthogonal to being thick or thin skinned - one can be an uber powerlifter with a total > 1000lb who gets offended and whines when a coach says "your abs aren't strong enough, work them harder".

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 can understand that. On the same token, I see a lot of people that seem to celebrate "bluntness" as if it is 'proof' of something (e.g. skill, 'lack of bullshit', etc). I don't think that this is right, or an opinion that should be encouraged.


Bluntness is exactly that - a costly signal of competence.

http://www.overcomingbias.com/2012/12/more-signaling.html

http://www.overcomingbias.com/2007/01/excess_signalin.html

I wish I could find his article on incompetence as a costly signal of criminal commitment.


There are plenty of people that are blunt (or assholes) who are not skilled at anything (or who have skills that are no longer in demand).

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...


> Is it wrong to want to change things?

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.


> 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?


Neither.


Could you expand on the "all bullshit" part then because it comes across as saying that there isn't any point to being civil with people.


No. You seem to deliberately want to misunderstand me. Many != all.


It wasn't deliberate. I wasn't grokking what you were saying. I was reading:

  Many people talk nice, but [niceties are] all bullshit.
Instead of:

  Many people talk nice, but [their talk is] all bullshit.
The ambiguity of that 'it' is really what this stemmed from.


So, basically you might be talking bullshit here. There is NO correlation between being a verbal assh*le and being efficient. People can 'deliver' without insulting others. Linus is a high headed rude man, and there's no need for that. You can be straightforward and succinct without being insulting.


The unfortunate realization that many of us have come to is that there really is a choice between rejecting the assholes and getting things done. An open, warm, inviting, inclusive, and friendly community that cannot author useful code is of immense social value but very little technical value.

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.


> Somewhere along the line, we gave this up and became a culture where feelings matter more than results.

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.


> in particular ones where losing face is a major issue

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.


>If you are actually provably wrong, I am not doing you a favor by telling you you that you are "not right".

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.


> 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.

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.


Maybe, just maybe, "your mom should have aborted you and i hope you die" is just an overly elaborated form of saying you are wrong and should not be taken literally.

> 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.


Hint: downvoting is not a good way to provide constructive criticism.


Another symptom of feelings-over-results: quick and effort-free attacks like downvoting take the place of elaboration and reasoned debate.


Even LKML is a generally pleasant place. Linus' well-crafted insults gets a lot of attention because technical discussions are not interesting to people not involved in kernel development.

LKML gets thousands of emails every day. The bulk of the discussion is actually very civil.


How common is it that people are provably wrong, in the logical sense? Most disagreements aren't of the form "here is a black swan that disproves your statement that all swans are white". In OSS the controversies tend to be disputes about which use cases are important and which subjective requirements of software (usability, licensing, interoperation) are met.

More

Applications are open for YC Winter 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: