commit: 931d36451ec524951e32f2ac14bf116bd283fd03
parent c421a45c866e53faa4a29f7d8a159514c04f1774
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date: Tue, 2 Apr 2024 01:06:09 +0200
README: rephrase things a bit, util-linux kind of stuff is out
Diffstat:
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/README.md b/README.md
@@ -8,18 +8,19 @@ Tested on Linux(musl), FreeBSD, NetBSD, OpenBSD: <https://builds.sr.ht/~lanodan/
## Design differences
- All programs prefix their messages with their name. This way you don't end up with context-less messages in scripts.
-- When the output is structured data, a terminal gets human-oriented output, others like piped programs get machine-oriented output (line separation, CSV, JSON, …). Prior art: most `ls(1)` implementations, i3/sway, FreeBSD utils via `libxo`, …
+- When the output is structured data, a terminal gets human-oriented output, others like piped programs get machine-oriented output (no padding, line separation, CSV, JSON, …). Prior art: most `ls(1)` implementations, i3/sway, FreeBSD utils via `libxo`, …
- As the `utmp` and `wtmp` files are considered broken by design, utilities dependant on them like `who` and `lastlog` won't be implemented. Proper authentication logs shouldn't be writable into by multiple programs, some of them third-party (like SSH and Display Managers typically are).
## Goals
-- (long-run) Effectively serve as one of the blocks to replace BusyBox, GNU coreutils, …
+- (long-run) Effectively serve as one of the blocks to get base utilities, replacing GNU coreutils and part of BusyBox/ToyBox
- Code readability and hackability
-- Portability
+- Portability, should run on modern libre POSIX systems as to not introduce vendor-locking
- Efficiency, but not without sacrifying the other goals
## Non-Goals
-- Reimplement complex tools that already have great code or ought to be maintained separately
-- Implement niche tools, [utils-extra](https://hacktivis.me/git/utils-extra) and [moreutils](https://joeyh.name/code/moreutils/)
+- Reimplementing complex utilities that already have great code or ought to be maintained separately
+- Implementing utilities which aren't in your usual base system. This is covered by [utils-extra](https://hacktivis.me/git/utils-extra), and I'd also recommend checking out [moreutils](https://joeyh.name/code/moreutils/)
+- Reimplementing OS-specific utilities like [util-linux](https://www.kernel.org/pub/linux/utils/util-linux/)
## Dependencies
- POSIX System