3 ms·
I've only been using mu for about a week, so I'm not any kind of expert. On the other hand I did just spend a bunch of time reading about both mu and notmuch to
by mjn 12y ago
I've only been using mu for about a week, so I'm not any kind of expert. On the other hand I did just spend a bunch of time reading about both mu and notmuch to try to pick one (and picked mu), so I can list some of what I came across, since it's pretty fresh in my mind.
The main difference is in data models: mu uses Maildirs for message filing, while notmuch uses the Xapian db for message tagging. mu uses a traditional file-into-folders paradigm, where the folders are on-disk Maildir folders. You file messages by moving them. notmuch on the other hand uses a Gmail-style message-tags paradigm, where tags are stored in the Xapian db and the original files are treated as immutable. Messages on disk are never touched/moved; all changes to message state (even "deleting") are just tags in the db.
IMO that makes notmuch more flexible: a tag can be anything, with user-defined tags and "built-in" tags like sender and subject being treated similarly. mu on the other hand treats the Maildir files as the canonical db, so its index includes only data from there: the message headers and content, the folder, etc. (no user-defined tags). An advantage of that is that it makes mu more interoperable, since other clients can read the Maildir structure without having to know about mu. It also makes mu feel a bit "safer" to me, since the Xapian db is purely a search index that can be regenerated at any time from the Maildir files with no data loss. On the other hand, notmuch's choice to never modify/delete/touch your original mail files is safer in a different way.
Other differences:
- mu is mainly developed by one developer (HN user djcb), while notmuch is more of a group effort. Some pros and cons to each there.
- mu has a very nice proper manual. notmuch's documentation isn't bad, but it's not a nice proper manual.
- mu collects a contact db by default. I believe there's also a solution for notmuch to do that though.
- notmuch has a procmail-replacement story, https://github.com/teythoon/afew https://github.com/teythoon/afew, whereas many mu users still use procmail for initial message handling
- I like mu4e, the emacs mail client that's developed together with mu. I haven't tried integrating either mu or notmuch with mutt or another client, though, so I don't know how they compare on that.