From what I understand it’s basically a big centralized configuration system, rather than individual programs having their own config files/formats
It seems like now days most applications don’t use this
Why did it fail/not pan out?
And why does Linux not have a registry?
- macOS has the user prefs system which gets mapped to .plist files. There's no central database but an individual .plist file is somewhat similar to a registry directory, a bit more expressive actually.
- web has cookies/localStorage
- Closest equivalent on desktop Linux is gconf which was an attempt to build a registry like system but it never took off outside of GNOME.
Anyway the registry didn't fail. It was and to some extent still is a competitive advantage for Windows especially in work contexts because Microsoft has tools that let you set registry keys for your users globally, and for apps that store settings there, it means you can bulk configure apps using a uniform approach that's mostly free of merge conflicts instead of mucking around with text files. For example Chrome can be configured with registry keys to some extent and I suspect if it allowed more control via the registry, admins would use it.
As to why it exists and where it came from - classical filesystem designs tend to struggle with lots of tiny files. The registry can be seen as a kind of hack that implements a filesystem designed specifically for tiny weakly typed files. It'd be nice to have one FS that could do everything, but there's been little interest in that since Hans Reiser went to prison. Note that the registry is accessible to kernel mode code so is useful for configuring drivers, and the kernel takes care of enforcing basic structure (you don't really want to be parsing random textual formats in driver code but registry access is pretty safe).
Microsoft gives their rationale for it here:
https://learn.microsoft.com/en-us/previous-versions/windows/...
Now it seems that in Windows 11, more functionality is being removed from Control Panel and Settings and is only available via the registry. Too bad, but at least it's still available.
Not true for enterprise applications. In our environment nearly every major, and some minor applications use it, though 99 percent of the tweaks we do involve some function of Windows itself, and all of the tweaks are the result of Google searching to either find a solution to a problem or a configuration settings change.
And it was a pleasant surprise when I discovered recently that ChatGPT is knowledgeable on some registry settings.
Linux follows the UNIX tradition of having system-wide .conf files in the /etc directory. Those .conf files are human-readable and editable by almost any text-editor.
Most user-specific config files are placed in the user's home directory - sometimes as 'hidden' dot-files, sometimes left out on show. Dot-files don't clutter up the home directory, but sometimes you may forget they are there.
For example, vim on my system has 4 .vimconfig files and I would like to scan my system for double entries, entries which never run, "extended" (well-hidden in reality) options of some programs, easy autostart config and similar tuning of all config files scattrered across the system including /proc .
HKEY_LOCAL_WTF_IS_THISPATH_COMPONENT_EVEN_NEEDED_FOR/THEN_TEHERES_THIRTY_MORE_LEVELS/ETC
For Linux I think it's a combination of lack of a widely accepted standard and the difficultly of maintaining things like POSIX support while somehow moving past it's traditional UNIX roots.