I have a little private project called xTribblix.
What's the x stand for? eXtreme? eXtraordinary? eXperimental? neXt generation?
Honestly, I don't know. It doesn't matter, it's just a little bucket I can drop things in to. But essentially, a set of experiments around changing Tribblix that allows me to do interesting things. The aim would be that, if successful, they get folded back into regular Tribblix; if unsuccessful then it's a learning experience.
It's just the logical continuation of the drive I've always had to make Tribblix faster, leaner, cleaner, fitter, easier, more secure. While retaining compatibility and functionality.
There are a few bits of illumos that really ought to be removed. Printing is a prime example - CUPS is a better, more modern implementation, maintained, familiar to everyone, what most Solaris people wanted anyway, and to be honest printing *isn't* an illumos core competency, so it's an ideal target to be outsourced. That's a clear example with a superior replacement already available; most subsystems might have someone crawl out of the woodwork who's inconvenienced by their removal.
So far, I've simply looked at things and decided to implement many of the simple ones for the next release(s) without the need for a separate experimental release. This isn't new, it's been going on for many releases already, and so far I've managed not to break anything that matters.
Some of the things done already (some will be in the next release):
- grub deprecated
- update DEFAULT_MAXPID to allow pid > 30000 (eg 99999 like smartos)
- delete ftpusers, as there's no illumos ftpd
- long usernames now silent rather than warning
- removed uucp, and removed the nuucp user
- zones based on core-tribblix need to worry less about what to remove
- overlays based on core-tribblix with the actual images having a driver layer on top, so cloud/virtual images can slim down
- replace /usr/xpg4/bin/more with a link to less
- replace pax with the heirloom version
- create /var/adm/loginlog by default
- increase PASSLENGTH in /etc/default/passwd to 8
- remove /etc/log and /var/adm/log, latter only used by volcopy
- transformed away and eliminated most uses of isaexec
- remove /usr/games
- remove all legacy printing
- remove libadt_jni
- remove ilb
- remove the old as on x86, everything should use gas
- remove oawk and man page (and ref in awk.1)
- remove newform, listusers, asa
- no longer install doctools by default
- drop the closed iconv bits, as they're useless
- remove libfru* on x86
- replace sendmail with the upstream
- deprecate mailwrapper
A lot of this is simple package manipulation as I convert the IPS repo produced by an illumos build into SVR4 packages, mostly avoiding the need to patch the source or the build.
There's a lot more that could be done, some examples of what I'm thinking of include:
- xpgN by default (replace regular binaries in /usr/bin)
- sort out cpp (last remaining closed bin)
- everything 64-bit
- remove /etc links more aggressively
- no ucb at all [except mebbe install...]
- see if there are any expensive and unused kstats we could remove
- firewall on by default
- passwd blocklists by default
- extendedFILE(7) enabled by default (although not necessary if everything is 64-bit!)
- refactor packages so they are along sensible boundaries (with reducing the number of distinct packages being the goal)
Now all I need is some time to implement all this...