Hacker News new | past | comments | ask | show | jobs | submit login
New Emacs maintainer (gnu.org)
281 points by ingve on Nov 4, 2015 | hide | past | web | favorite | 61 comments



Nice to hear this from Mr. Wiegley:

> Actually, there were no compromises made. I found Richard to be an absolute delight to talk with. We discussed the architectural history of Pompeii, admired his reading library, his tea collection... :)

> I think many people misunderstand his devotion to freedom as being unreasoning in his views -- as I had, not just a few month ago! On the contrary: I proposed several Emacs-related ideas that I expected him to balk at, only to find he happily considered everything, even suggesting further improvements. At no point did I ever get the feeling that I was speaking to a closed mind.

> I only wish I lived nearby so I could spend more time with him. He is truly an amiable fellow. I have no worries about our ability to find a common path in future, if issues that threaten his goals for software freedom arise.


John Wiegley is the author of (completely awesome in my opinion) use-package for emacs https://github.com/jwiegley/use-package


He wrote ledger, which is also really cool. http://www.ledger-cli.org/


He's also very friendly and helpful on the ledger forum. Looks like an excellent choice for Emacs.


I had no idea that was a thing. My init.el thanks you heartily for linking to it!


I love use-package, its made my emacs configuration so much less spaghetti thrown at a wall.

https://github.com/mitchty/dotfiles/blob/master/emacs/.emacs...

You can get fairly tricksy with it.


use-package is wonderful, as is bind-key (also by John, and a dependency of use-package).

Together they reduce the "psychic weight" of trying, using, and configuring packages.

They make your init.el a portable artifact of reproducible research. :)


My init.el is really portable. It loads org mode and then loads my org ified configuration. >.<

I'm a huge fan of that style cause I can test out changes with c-c c-c and then document to my future self anything of the why. It is about the only time I use literate programming.


Thanks to rms for all of his work!

Emacs is still my favorite text editor when in a terminal window, which is most of the time. Maybe one day I'll really embrace vim also, but it's always been a struggle.


There was another maintainer between rms and John Wiegly: Stefan Monnier.


And, for completeness, Chong Yidong, how co-maintained together with Stefan for quite a while (and did a great job as well). I think both of them were quite a big part of the "emacs renaissance" of the last few years.

http://emacs-fu.blogspot.fi/2009/08/interview-with-chong-yid...


And Stefan was a great maintainer. I was sad when I heard he was stepping down, but I can't think of a replacement that would make me happier than John.


Why did the old maintainer Stefan Monnier is stepping down?


Mr.Wiegley's emacs setup: https://github.com/jwiegley/dot-emacs


It's pretty funny that it has three contributors listed.


Best of luck to John!

I've been following the discussions on emacs-devel lately and he's been showing a lot of enthusiasm for what he has in front of him, and given John's previous endeavours (use-package, eshell) I really think emacs has found a worthy successor to Stefan Monnier.


If look for John on Youtube you'll find some great demonstrations of Emacs that he did along with Sacha Chua. I find his enthusiasm infectious. Excited to see what directions Emacs takes in the next few years.



His emacs workflow talk at emacsconf was very inspiring. As others, I welcome this news with joy.


What excites me most about the selection of John is that he's interested in bringing modern IDE features to Emacs without transforming it into Eclipse or Visual Studio. I think that he'll show us just what an excellent tool Emacs can be even in the 21st century!


John seems like he is fit for the job. Hoping to see Emacs get even better with his stewardship.

(BTW John, guile-emacs would be great)


It will be interesting to see if the controversial clang completion etc stuff will get now merged in. I think johnw previously was supportive towards that while RMS was strongly opposed.


That's a little different: the situation was that rms has denied GCC to provide the AST inspection features which Clang provides. This is to prevent non-free tools from using GCC's core. For the same reason, It is highly unlikely that Emacs core will ever build in support for Clang.

In the meantime, if you want great Clang integration, there's Rtags.


John did a great job building "ledger" too, the command-line accounting tool. Good guy!


John Wiegley is totally awesome, this is awesome. I AM EXCITE!


Apart from his many superb technical contributions, I've always been fond of his poetry http://johnwiegley.com/category/poems/


"I am the mystic sailor", indeed.


I know John W from the Chicago Haskell group. He's great. Nothing more to say really. Perfect choice for the role.


I met John briefly at a Haskell hackathon a few years ago. I was impressed then, and ever since I keep seeing his name pop up (pipes, now emacs). Happy he's steering my IDE of choice!


The interreGNUm is over! Hail the new maintainer!

As part of his first edict, a Code of Conduct may happen:

https://lists.gnu.org/archive/html/emacs-devel/2015-11/msg00...

He also hangs out in #emacs in Freenode (username: johnw), which makes him seem very approachable in my eyes.


> As part of his first edict, a Code of Conduct may happen

Given the silliness endemic to many Codes of Conduct lately, this had me worried until I read through the message. But he's really just talking about trying to focus emacs-devel@ on development, while moving tangential discussion to another list. (I guess tagging subjects "[OT]" or "[TAN]" would be a bit too retro.)


Codes of conduct are not silliness. Almost everywhere that I have seen them implemented, I have seen a better atmosphere over that community.

And while John may have phrased the need for a CoC as a matter of making sure things stay on topic, there are several people who are put off by the hostility of e-devel and would like it if people remained civil.


I'm curious, could you give a concrete example of a thing that a CoC has improved without simultaneously causing implicit pressure on people to remain silent about bad ideas in a project?

"Civility" is, IMO, the least important thing in a project. Firstly because it can't be objectively defined, since some people find being told things like "no", "this is a terrible idea", etc to be uncivil, secondly because it means that people stop calling stuff crap that is actual crap.

I also think it's silliness. If someone is an utterly disagreeable jerk, they should be ignored, or perhaps approached privately about their behavior, and then ignored if they don't knock it off. I don't see the need for a rigid, legalistic framework that can be abused as a cudgel against dissenters.

This on the other hand sounds like less about "conduct" and more about dividing the lists into topically based groups, something that has zero abuse potential and is probably always a good idea.


If you are not capable of criticizing a bad idea without violating a CoC, you might just want to take a look at your communication style. They all amount to "please do not be a complete and utter asshole to other people", and I think that's a reasonable request to make.

And no, civility is not the least important part. It matters a lot in day-to-day work. Many of us really are not interested in shouting matches as part of what we do.

Part of that is that when you disagree with an idea, you voice what the actual issue is. "This idea is crap" helps nobody, except allowing a single person (the crap yeller) to move on with their lives.

"This is a bad idea, and here's why" is a much more useful response, because the other person actually learns something, and presumably grows as a developer. They'll hopefully not make the same mistake again. This latter approach has a multiplicative component - valid ideas spread through the group. The yelling approach does nothing but alienate further contributors.

As for your suggestion to just "ignore jerks" - no. They poison the culture. They actively exclude others with their behavior. And some of us get more jerks than others, and ignoring them takes a huge chunk of energy. And bystanders will still get to see all their jerkitude, because they don't know to ignore them yet.

Of course people violating a CoC will be approached in private. All it does is give people a definition of what's OK/not OK, and a defined way to deal with it. You don't discuss CoC violations on the actual mailing list, but OOB. Every CoC I've seen so far has a well-defined procedure for handling complaints, off-list.


If that were the end of it, I would be completely on board with the concept. Most people are pretty good at determining when someone is just plain being a dick. (Which leads to "with that in mind, why the document?")

Unfortunately, that never is the end of it. Again, certain people are oversensitive and respond to completely civil and good faith requests/criticisms/etc with over the top behavior/accusations (see this thread for example). It's part of HN's CoC to avoid saying things that you wouldn't say face-to-face to another person.. on divisive topics like this, it usually doesn't work (again, see this thread) unless someone with the admin bit steps in to remind people to behave themselves and occasionally hand out a vacation or two.

The problem is that you've taken something that is inherently subjective to each and every person and tried to codify it. People do exist that hate being told "no", that hate all forms of disagreement and treat those who regularly do so as enemies to be destroyed. Given a vague legal method to retaliate, how do you think someone with such an unreasonable mindset will behave?

Also, it's possible to be a complete and utter asshole without ever being uncivil. I've been witness to enough Wikipedia politics over the last 5 years or so to make that declaration.

But anyways, you've just begged the question. It's not a given that the absence of CoC's results in "shouting matches", or for that matter, that their presence prevents them. In my own anecdotal-as-hell experience, they don't chase away anything but the most brash of assholes, it just results in a thin veneer of pseudo-civility over the same old crappy behavior and mindsets.

It's a lot easier to eject loud and visible assholes than the stealth ones! In other words, I think it's better to have "Don't be an asshole" as an implicitly understood element of any social group, with implicitly understood punishments for breaking that norm, rather than codifying it in such a way that it gives people ideas as to how it can best be twisted and abused.

(And should it come up: Yes, I find being accused of "sea lioning", whatever the hell that means, to be highly offensive and over the top.)


Their presence seems to work quite well for many projects. More importantly, it sends a public signal that the project leadership will not stand for certain kinds of behavior.

(It requires people with the admin bit actually stepping in of course. Just posting a CoC will certainly change nothing, if it's not backed.)

For the "I hate no" people - there's a reason that CoC's call out what exactly offensive/harassing behavior is.

Rules like "Don't be an asshole" work somewhat OK for small, informal groups. As project size increases, you need to get a bit more formal. As evidenced by e.g. LKML, it seems there's wide disagreement what is OK, and what constitutes abuse.

A CoC clearly spells out where that line is. It allows people to know what is acceptable, and avoid the community if that is not how they like things.

It's a common feature of large groups - the bigger you get, the more you need to spell out explicit rules. As size grows, the number of implicitly understood and agreed upon things diminishes.

E.g. you don't really need a penal code when dealing with your immediate family, but it's necessary for society as a whole to function.

As a side bar, I honestly believe that a lot of objections to CoCs stem from the fact that people are either not aware of the group size growth, or are actively grieving for the time when their group was small enough they didn't need one.


There's nothing wrong with the basic idea of a code of conduct, in and of itself. There are a lot of things wrong with the current crop:

1. They tend to be heavily politicized, pushing one group's societal views on the entire community.

2. Many attempt to police people's behavior on their own time outside the community.

3. They remain remarkably silent about certain kinds of uncivil behavior, such as public shaming campaigns or importing of outside political disagreements. Often the codes are written with input from people who frequently indulge in this behavior.

4. People with objections are often steamrollered and accused of various social sins for not going along, or a code is simply imposed on the community and all discussion is ignored or closed.

If you want these codes to be established without the angry opposition usually seen, you need to address these points.


> As a side bar, I honestly believe that a lot of objections to CoCs stem from the fact that people are either not aware of the group size growth, or are actively grieving for the time when their group was small enough they didn't need one.

I find the problem is usually that these sorts of documents are invented by a minority that does not have the support of the majority, or they are sold poorly to the group as a whole. This is why culture changes from major group-wide issues stick and become permanent much easier in any group size. If I am member of a group and I arrive from one day and there just suddenly is a new CoC where there wasn't before I am extremely put off by it, because the CoC rarely describes the group as a whole but a particular mindset about the group by a minority.

If you are going to do a culture change properly you need to sell it to the group of both the power players of the group (the people who are looked up to informally) as well as the formal people 'in charge.' When I see it fails and when it has the most kickback is when they don't bother to try and seek out the power players of the group, because then the subgroups of the whole talk amongst themselves and can't see the reasoning and the people that are leaders in those subgroups aren't on board to bring reasoning into the discussion.

If there is a mailing list that tries to enforce a CoC on a related IRC channel and the IRC channel isn't on board with the plan- you've got a completely unnecessary clash from people not seeking out to understand the community as a whole. This also happens just as much from people trying to make an organization Agile or some other methodology. If you don't do right to understand the group, move at a deliberate pace so the group as a whole can move with you, it just is not going to work.

This is something I have dealt with many of times as both being an informal leader and the actual leader, and my direct feeling on CoC's is that if they exist they have to be deliberately vague to a point so that a discussion must occur. If they are too specific they become weapons for people until the people that are only moderately invested abandon the group along with the people that clearly don't fit the new policy depart. Sometimes this is filled out with new blood but just as often what made the community good from those that were passionate and invested in a group (# of creators to # of consumers) is completely lost. More often than not new members to the group can't contribute in that fashion for some time until they learn how they want to contribute.

If you CoC or some other policy by aggressive moderation at the beginning you set culture for the entire group, if you tack it on later you will leave some % behind but it is often not obvious to people how large that % is unless you do it in a managed fashion.


For the "I hate no" people - there's a reason that CoC's call out what exactly offensive/harassing behavior is.

We were just talking about the fact that it's impossible to objectively define bad behavior. Sure, you can give examples of things that are disallowed but..

Let me switch tracks for a sec. It's funny this topic comes up right now; I just had to go through a yearly online ethics training thing at my current employer. The point that the slides all hammered in is that offense is something taken, not given, and if someone is offended by your speech, then it is completely on the speaker.

The CoC in this case implies that if someone is offended by what you're saying, you are automatically in the wrong regardless of your intent or actions.

I see a parallel with FOSS project CoC's here in that they don't "clearly spell out where that line is", anymore than the text states that the line exists in someone else's mind.

Have a look at Mozilla's CoC [1] for an example of what I'm talking about. It looks quite reasonable and in all of its forms boils down to the usual social rule of "don't be a jerk".

But still, the same problems exist. It contains a lot of platitudes and abstract language. What exactly do things like "empower others" mean, and if I shoot down someone's bad idea, am I going counter to the rule? What happens with the unreasonable person who takes "be respectful" and "Try to understand different perspectives" to mean "disagreement is disrespect" and "my perspective is correct and this should be self evident"?

In other words, if people are not adult enough to conduct themselves without a document telling them how to do this, why are they suddenly adult enough to accept that document in the completely positive spirit it was intended?

But okay, enough of the rules abuse argument. Mozilla is downright huge by tech community standards, but do you think the document referenced has actually resulted in the defusing of a single argument or negative situation? I tend to lead towards "no", because by the time you're in a position where you're close to violating one of those principles, someone on the same level as you quoting the rules at you isn't likely to be taken well. (The "anger is coming!" effect[2]). Without someone to enforce those standards, they may as well not exist - and if we take into account that the words of community guidelines are likely not the foremost in most people's minds anyways, it takes someone with power dropping by (kind of like dang does around here occasionally in the really divisive threads) to remind people to behave themselves and to surface that guideline thought.

If it takes someone dropping by to remind people to behave themselves anyways, what exactly has the code of conduct accomplished?

[1]: https://www.mozilla.org/en-US/about/governance/policies/part...

[2]: http://www.dhamma.org/en-US/about/art


The Mozilla CoC seems to be oddly "oh, you'll figure it out". Not only am I fairly certain that doesn't work too well - see your "adult enough" argument - there's also no way for Mozilla to know if it has any effect.

I'm looking more at something like the LLVM CoC[1], which specifies how exactly disagreement should be escalated, and how it'll be handled.

To me, that's a major point of a CoC - if you have a disagreement what proper behavior is, it's incredibly difficult to handle at the peer level. You need an escalation path. As you say, and as I alluded to above - you need someone to enforce those standards.

What does a CoC achieve? It sets a tone for the community, spells out what is considered unacceptable, how you can ask for help with unacceptable behavior, and what the consequences of unacceptable behavior are. Or at least the kind of CoC I refer to.

I completely agree that a generic feel-good document does nothing.

[1] http://lists.llvm.org/pipermail/llvm-dev/2015-October/091218...


I completely agree that a generic feel-good document does nothing.

It shuts the people up who demand a CoC. (Not disagreeing with anything you said).

If I get it correctly, the LLVM one (comparing to the Mozilla one) spells out more explicit examples of things that are not allowed, and provides a simpler/more clear resolution process.

Interestingly the LLVM CoC points out both of these as things that are required to make it effective in practice.


Most people are pretty good at determining when someone is just plain being a dick.

Within their own narrow experience and culture, perhaps. As soon as you start having to work with people from significantly different backgrounds, it's a whole different story.


You're on a site with a code of conduct right now (HN calls it something else, but it is if anything toothier than typical project codes of conduct).


You're sealioning a bit with your first request, but off the top of my head, Python and Pycon are two examples.

Also, codifying "be nice" isn't so impossible. It's the basis of all laws. And laws are not programming languages. They are all subjective and open to interpretation. This doesn't make them useless.


"Sealioning a bit"?

Did you really just accuse me of bad faith for asking you for the most basic of discussion content? Asking someone to prove their stance is a negative, ever?

Is this a thing you'd accuse someone of in a face to face conversation?

Which, by the way, you did not do, which is why I asked for "concrete". A concrete example would be "This particular behavior in this particular community happened before the CoC was implemented, here's an example or two (link), the CoC addressed it in this way (link), and the negatve impacts you're worried about didn't manifest".

Just saying "Python and Pycon" doesn't even begin to provide enough context. The only Pycon example I can think of off the top of my head is the height of incivility: getting people fired for jokes.


The sealioning is because you are requesting me to provide you with an extensive example that will satisfy your stringent needs and seem unwilling to do your own research. A more charitable approach would be to go and try to find examples on your own, explain what you looked for, and could not find. Instead, you are (in your eyes very politely) asking me to catalogue a comprehensive example that satisfies all of your bullet points to the letter.

Yes, there was a much-publicised donglegate in Pycon 2013. But there was also a waiting line for the women's bathroom in Pycon 2015. Have you seen a waiting line for the women's bathroom at any other tech conference? And guess what, both Adria Richards and the man whose name I can't find quickly via a Google search were there at Pycon 2015 and the CoC was updated to indicate how to better handle incidents.

Overall, Python has done a great work in being a friendlier place, and its insistence upon the code of conduct has in all probability helped.


I've seen a waiting line at every bathroom for every conference I've ever attended. Waited in many of them too. One of the constants of the universe it seems - no matter how big the venue, there are never enough toilets.

...though what this has to do with people being jerks is unclear. Am I to understand the Pycon CoC addresses event coordination and venue selection? And there's a section in there about number of bathrooms? If so, now I definitely want a link, if not, I'm just grasping at straws admittedly, because I have no idea what your comment is supposed to be about otherwise.

But apparently, asking you to prove a statement is "sea lioning". Asking someone to uphold the most basic characteristic of discussion among intelligent people, the burden of proof, is now somehow seen as a thing to be avoided.

If we're going to talk about things on Hacker News, could they be please be done using the normal rules of debate/discussion instead of these bizzaro world ones?


The point of mentioning the women's line is that most tech conferences are not inviting enough to women for there to be enough women to form a queue. The actual proportion of female participants can be easily found online, I think.


There's the prior of the total number of women involved with the (respective) tech, though.

Of course it's a self-reinforcing cycle because the conferences being hostile is clearly one thing that'd keep them out.


You said this:

You:> Codes of conduct are not silliness. Almost everywhere that I have seen them implemented, I have seen a better atmosphere over that community.

This implies that you have examples from personal experience readily at hand.

He then said this:

Him:> I'm curious, could you give a concrete example of a thing that a CoC has improved without simultaneously causing implicit pressure on people to remain silent about bad ideas in a project?

You characterize this as:

You:> The sealioning is because you are requesting me to provide you with an extensive example that will satisfy your stringent needs and seem unwilling to do your own research. A more charitable approach would be to go and try to find examples on your own, explain what you looked for, and could not find. Instead, you are (in your eyes very politely) asking me to catalogue a comprehensive example that satisfies all of your bullet points to the letter.

What would be an acceptable way to you for someone to ask for you to share one of your examples?


It wasn't so bad initially, which is why I said "a bit" and briefly mentioned one example or two (depends how you count). That was mostly ok. But as I expected, my example was quickly interrogated and scrutinised, and I did not feel like proceeding down that path.


I'm going to put this as delicately as possible, but if you don't want your points to be "interrogated and scrutinized", something that happens in any environment of healthy discussion, then you shouldn't be putting them out there in public on a discussion board.

The truth has absolutely nothing to fear from questioning.


There was some discussion about the Mozilla CoC in another sidethread here. If you constrast it with the LLVM CoC, there's an interesting tidbit in that the Mozilla one spells out explicitly that discussion in non-Mozilla spaces does not fall under the CoC and is a private matter. (This is in the LLVM one too, but much more implicitly)

This is almost certainly a reaction to Mozilla being attacked for the political/religious views of some of their contributors. The case of the CEO is the most well known (and granted a bit exceptional, so I won't consider it further), but due to the actual diversity of the Mozilla community people on both extremes of the relative spectrum spoke out and the CoC makes it clear when they can do so without retribution in the project, provided they don't use project resources to spread their opinion.

I think that's an example of a positive effect of a CoC.


> the Mozilla one spells out explicitly that discussion in non-Mozilla spaces does not fall under the CoC and is a private matter

Now, see, that is good (and frankly, surprisingly sensible given some of Mozilla's past behavior.) I'd be much less concerned about a code that spelled out things like that.

It's when CoC advocates strenuously fight against adding such terms that I get suspicious of their motives.


The "sea lion" meme describes a case where you are having a discussion with someone else, and then a third party rudely interrupts and interrogates you about a tangent, continuing to do so long after the origin discussion would have ended naturally.

Nothing like that happened here.

In fact, you harmed any argument you were hoping to make by deploying jargon like this; the impression readers get is that you came to the thread loaded for bear with rhetorical tools to evade discussion.

I say this as someone who was also a bit irritated with the "codes of conduct are silliness" implication upthread.


Literally one person politely asked you for more information, and you call "sealion" on that? You're not going to convince anyone of the rightness of your cause by reaching ways to dismiss and shame criticism instead of answering it. If your points are correct, they will stand up to scrutiny without the need for such things.



Being nice apparently is rather difficult, considering your tone in reply to someone asking you for information about your stance.


Yes. Defensive, unhelpful, precisely the kind of behavior a good CoC should fence off!


Looking at his github profile (shared in another post) he looks like an approachable fellow as well. It definitely would be interesting to see where Emacs goes, he mentioned he already had some ideas, hopefully we get to see and appreciate those new features that come up.


Just recently discussed on emacs-devel in the past few weeks: improved IDE features, concurrency, test-driven development, and guile-emacs. Big ideas for such an old code base.




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

Search: