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.
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:
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.
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.
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).
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.
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.
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 ...
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.
"'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.
> 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 ;)
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 )
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 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."
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.
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.
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.
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.
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 :)
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.
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.
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.
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.
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.
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.