13

Lately I was impressed by the new/improved things that are included with Emacs 25. Then I started thinking about the entire process behind it. I would like to share my thoughts with you.

Keeping it up with the latest requests, many bug fixes, maintaining, extending the Emacs core/dev and whatever, it must be a hell of work, no doubt about that.

When I check out what many changes and improvements are implemented in Emacs 25, many development hours must be spent on it.

It requires pretty big coordination. It's like there must be a large company behind all these changes to push Emacs further. But it's not a profitable thing, it's all free software and GPL-licensed.

So it's from the volunteers who are willing to spend their time to push Emacs further, next to their regular job. That requires some sort of coordination.

When I checked the mailing lists of Emacs-dev, it seems there is not much coordination, not many people are participating.

And forgive me, I personally consider mailing lists a thing from the 90s. Nowadays you have more pretty alternatives, like GitHub issues tracker and regular communities.

When I look around on the web, you have the regular blogs (Endless Parentheses, Sacha Chua, Redux, OrEmacs, etc.) and Emacs communities (like this Emacs Exchange, and - presumably the largest community - reddit.com/r/emacs) and collections like emacs.zeef.com and wikiemacs.

But not a spot for development of new releases of Emacs, which requires many people and coordination.

Somewhere I got a feeling like this is all underground, where new versions of Emacs are being secretly developed... funny thought.

This all makes me to wonder if I'm missing sort of big hotspot on the web, where all the magic happens?

ReneFroger
  • 3,855
  • 22
  • 63
  • i think the mailing list is pretty much everything. – freakhill Aug 08 '15 at 16:00
  • 1
    Personally, I don't believe it to be well coordinated and even big features to be single-person efforts. So, nothing unusual here. – wasamasa Aug 08 '15 at 17:57
  • 1
    I am not sure why people dislike mailing lists. They are like a forum or facebook, only technologically much superior;-). Joking aside, they have distinct advantages over anything web-based: you can use any of the *lots* of clients to seacrh/read/compose/send email, enabling you to customize *your* experience as you like it. This fits the philosophy of Emacs (=the *extensible* editor) itself very well. – mbork Aug 13 '15 at 14:32
  • Mailing lists are great as you can just send *patches* and do not need anything more than an email account. This is a truly decentralised workflow. You cannot do this with Github (which also requires non-free software to run in your browser, and yet another account). –  Sep 27 '15 at 07:13

2 Answers2

13

While I second other's comments here about places to go for interaction and coordination, there is another unique aspect to Emacs development. For its size, innovation, and coordination, it is a relatively quiet endeavor. Not much noise about itself. Major releases trigger a few dozen extra emails. Even for lengthy threads, the retorts are terse.

Compare that to comparable projects that seem to generate so much noise that I routinely unsubscribe to the lists around major events.

This economy of communication reflects on the maturity of ideas and the freedom to develop any idea worthy of implementing. Unwanted features wither away silently while new ideas (even if you call it evil mode) gets an entry in the changelog.

As for the blogs you mention, they serve an important role in not just educating but also working through competing ideas and piggy-backing ideas. For example, ace-jump revived many ideas of jumping to other parts of the buffer, other buffers, other files, remote searching and so on. For example, ack, avy, ivy, anzu, counsel, swiper, swoop, etc., are all being refined right now and are frequent topics of discussion on google+ meet up.

Subscribing to planet emacs rss feed will probably cover most active blogs. The rss is relatively terse except for an occasional repeat of the same news item by somebody else.

You won't find developer emails about sub-features on Emacs developer's list but perhaps in their own project-specific mailing list. The largest of these project-specific lists is of course org-mode. What may have been hundreds on that list is probably reduced to a single announcement in emacs change log.

Instead of an all-encompassing developer email list, usenet group, irc channel, website, git hub location, blog location, or a social media page, we have a truly distributed and diversity of interaction where no single platform takes over. It may be partly due to the fact that emacs development has been going on a lot longer than any of these communication platforms, but it is also partly due to a deliberate choice to not restrict to a single mode of communication.

On the whole, it is not the case that there is not enough coordination. As a developer you take as little or as much input you desire. Emacs's development model lends itself to a relatively noise-free (and frictionless) collaboration. I think that's a good thing. I hope you do too.

Emacs User
  • 5,553
  • 18
  • 48
10

No, you are not missing anything, except the Emacs bugs mailing list: bug-gnu-emacs@gnu.org (which uses debbugs.gnu.org).

And there is a git repository for the Emacs source code -- that is what is used.

Discussion is on emacs-devel@gnu.org and bug-gnu-emacs@gnu.org. Some code is exposed and discussed there.

But code development takes place by individuals (you, for example). An individual can commit changes to the repository, if s?he has the necessary access/privileges, or s?he can submit a patch to one of the mailing lists and ask someone else to apply it.

When you use M-x report-emacs-bug you can attach a patch to your bug report, if you have a fix you would like to propose.

The "magic" happens through individual development and comments/discussion.

FWIW: Common Lisp, which is a humongous language and quite complex, was entirely defined (and prototyped) using email, back in the late 1970s and early 1980s. That was before the World Wide Web, when the Internet was an infant. Those defining the language were located in various spots throughout the world, mainly in research labs. Magic, indeed.

Drew
  • 75,699
  • 9
  • 109
  • 225