- No http/https connections
- No write access to home directory
- Internal prohibition against downloading/using something which is a "software package"
?
I mean, you don't need to really "build" anything, you just need to install the package:
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t)
(package-initialize)
M-x package-refresh-contents
M-x package-install magit
What would happen if you did that?Any organization with high-value data has a responsibility to try not to be the next Equifax.
Programmers, sysadmins, and DB admins are excellent targets for attackers.
So, it's not actually so crazy to require that all tools be vetted by internal security teams, especially third-party extensions for Turing machines like Emacs.
I love Emacs but its architecture is a nightmare for Blue Team, and the easiest stance is definitely "no installing packages", or just "thou shalt use this IDE and no other".
Since humans default to lazy, I thought that clearly explained why the phenomenon happens.
Perhaps I should have been clearer that I don't think it's the ideal approach, even if I understand where it comes from.
There should be nothing stopping someone just copying and pasting an entire elisp source text from a website into scratch, evaluate the buffer on the spot, and have the exact same functionality as installing the package would.
I'm not saying that retrieving an external package isn't easier, but due to emacs' nature there isn't really sort of delineation based on how the elisp got into the emacs.
Another example might be using Emacs on a device without network access.
If we relax "can't" to include "won't", then there are casual users who might want to try Emacs but can't be bothered to set up package archives, etc. Such a user will start it up, say "What, no Python mode?", and switch to something else.