Very unhappy with FreeBSD 13 MOTD

This may not be the right audience, but I'm very displeased with FreeBSD 13 changing the traditional /etc/motd logic and turning it into what I see as over-engineered triviality which contradicts the unix philosophy. I don't know where is the right place to express my thoughts about it, sorry if this isn't one of them.

IMO, if someone wanted to make MOTD more generic/flexible - they should have written a port to automate that, rather than breaking half a century of unix motd implementations and deviating further from all other unix-like platforms; for what though? for motd? because they didn't want to periodically change a config in /etc/? I don't understand this, and until I do this will continue to seem whimsical and unnecessary.

Does anyone have a rationalization for changing something so simple yet fundamental at the cost of half century of unix lineage and interchangeability?
 
Historically, it is known motd resides in /etc/motd. This is true for all unix platforms that I know of. If a new user looks up documentation online concerning motd, they can basically click any link and chances are they will stumble into a correct way to do it which would work on freeBSD. If the user has books written about unix, they will learn a way that would work on freeBSD.

As of freeBSD 13, this changed.

MOTD is now over-engineered and sourced from /var/run/motd, which is a file which gets re-generated on startup from /etc/motd.template, which in turn gets a kernel version force-inserted into it at startup (plus some misguided switches that can control some of this behavior via sysrc):

From motd(5):

NAME
motd – file containing message(s) of the day

DESCRIPTION
The file /var/run/motd is normally displayed by login(1) after a user has
logged in but before the shell is run. It is generally used for
important system-wide announcements. During system startup, a line
containing the kernel version string is prepended to /etc/motd.template
and the contents are written to /var/run/motd.

/var/run/motd can be updated without a system reboot by manually
restarting the motd service after updating /etc/motd.template:
service motd restart

Individual users may suppress the display of this file by creating a file
named “.hushlogin” in their home directories or through login.conf(5).
----

I don't understand why all that needed to happen, at the cost of making trivial prior knowledge and parity with other unix and unix-like systems irrelevant. It diverges the platform away from the philosophical principles that hold it together.

It feels thoughtless to me. For starters, I simply wish to know what in fact was thought when this decision was accepted, and why it was worth doing this.
 
For better or worse, of all the stuff that has changed in Freebsd over the last twenty years, is this really a big thing?
In a way, that is exactly my point/concern. Was this really worth deviating from how motd was done across all major unix and unix-like platforms for decades? It's another "weird quirk" that foreign unix platform user has to adopt to in order to use freeBSD. It's something elegant and simple being turned into something needlessly complicated.

grahamperrin thanks a lot, the Luca article didn't quite do it for me (found it independently earlier, plausible but too speculative) but the second link really illustrated how much thought went into fracturing lineage from unix ways over some edge cases. Feels like trivial problems are being solved by sacrificing elegance of the original implementation in favor of unnecessarily over engineered design. Super disappointed.
 
Unix is dead, I am afraid. Though many of us may remember when Unix was an operating system, now it is merely a standard for certification (no doubt at a cost). I do not even think FreeBSD has been certified.
 
1628320322996.png

Dead

1628320342994.png

Still Alive
 
This may not be the right audience, but I'm very displeased with FreeBSD 13 changing the traditional /etc/motd logic and turning it into what I see as over-engineered triviality which contradicts the unix philosophy. I don't know where is the right place to express my thoughts about it, sorry if this isn't one of them.

IMO, if someone wanted to make MOTD more generic/flexible - they should have written a port to automate that, rather than breaking half a century of unix motd implementations and deviating further from all other unix-like platforms; for what though? for motd? because they didn't want to periodically change a config in /etc/? I don't understand this, and until I do this will continue to seem whimsical and unnecessary.

Does anyone have a rationalization for changing something so simple yet fundamental at the cost of half century of unix lineage and interchangeability?
FreeBSD no longer has inetd running by default with telnet the default means of ingres into the system. Imagine that?
 
Still Alive

41WxQ-gPjWL._SX335_BO1,204,203,200_.jpg

To complete the AT&T collection. This one is alive, just vastly unpopular ;)

I would say that UNIX as a design still represents the *only* system that has truly stood the test of time. So if operating systems do not adhere to its simplicity, they will disappear and be outlived by the UNIX "idea".

This MOTD change is pretty messy in my opinion. Since so few of us use its new functionality, it probably should have been a port. Not a massively big deal on its own but it does contribute to a slight unraveling of a clean, deterministic system.

As an aside, OpenBSD has managed to keep their traditional /etc/motd so it couldn't have been an absolute life changing improvement.
 
FreeBSD no longer has inetd running by default with telnet the default means of ingres into the system. Imagine that?
How dare they change that!

As an aside, Ubuntu 20.04 has a /var/run/motd.dynamic with a /var/run/motd.d directory :)

Sometimes there are reasons for taking something simple and making it more complicated. As long as the reasons were discussed and not made in a vacuum (as with fortune), so what? I can agree or disagree with the reasons, I can use or not use the "thing" that changed.
But complaining that documentation about an older version does not match the reality of the current version seems to me, a bit counterproductive.
 
mer said:
Sometimes there are reasons for taking something simple and making it more complicated.

Don't remember where I read it, but that said it had to do with rights. Operators writing a login message no longer need to write to /etc. Well, maybe...
 
Don't remember where I read it, but that said it had to do with rights. Operators writing a login message no longer need to write to /etc. Well, maybe...
And that would be an excellent reason. One can run at a higher security level, which makes a lot of system level directories read-only. No reason for MOTD to actually need root level privs to modify since it is really a system announcement that everyone reads but few pay attention to.
 
I'm sorry, can't you just disable this service and it still reads out a static file?

Also, what the heck is it with people just deciding what's "UNIX" or not? I don't see anything in the TOC here (since this is being held up as some kind of bible) that says MOTD has to be a static file in order to be "UNIX." Things can be simple or they can not be. If you add the complexity on top to gain features, this doesn't make it less UNIX or whatever.
 
Seeing as the boot menu has now got the flashy logos (sometimes), there are the old logos that could be used as acii art. You could have a beastie motd.
 
Didn't Mac OS (not the original pitiful failure) begin its life from Freebsd, and then got certified because Apple has got enough cash?
OSX has the Mach kennel and parts of BSD userland. Since it is heavily used in the film industry, I presume that is why they wanted to maintain compatibility with Unix for systems from SGI and others
 
I think "Snow Leopard" was the last version of Mac OS X to have a standalone server build. I think this was also the last time that Apple claimed UNIX certified.

Just all down hill from there ;)
 
Back
Top