Archaic software in FreeBSD base

But 40-45 years is nothing. IBM's zOS (the mainframe operating system) is still somewhat compatible with DOS, the operating system for the first 360 machines, from the early 1960s (which has nothing to do with MS-DOS and Intel machines, which came decades later). There are stories that some commercial customers continue running compiled programs that are 20 or 30 years old, and for which the source code has been lost, so they need to continue using the same object code. And some of you may remember the uproar when IBM removed 1401 compatibility: Until the early 2000s, the mainframes were still capable of executing 1401 programs (from the late 1950s!), and people actually did complain when that feature was removed: they insisted on running 60-year old code. To my knowledge, that was the oldest example of retro-computing still on commercial production systems.
And there are modules in z/OS that are very old, and have never been changed, because there was no need to.

My impression of IBM is that they are very business-case oriented, as in "how many new customers is this change going to get us". For example, there is a utility, IEBGENER, that can copy a file while shuffling fields around, or adding literals to the records. You have to give it a control card that says how many fields it will be working with, and how many literals. It uses this to figure out how much storage to use. It could easily figure this out from the subsequent control statements, but when it was written in the '60s, mainframes had 1 or 2 megabytes of storage, so they wanted to keep it on the simple. If IEBGENER were an open-source program, a developer would have fixed it to figure out itself how much storage it needed, just because the current way is a pain in the butt. But doing so is not going to get IBM any more customers, and not doing so is not going to lose them any customers. (There is also the disconnect in corporate environments between the people who use the computers and the people who pay for them. If something causes a bunch of downtime, the money people will notice. If it just gives the users a headache, they probably won't.)

So there is a lot of old stuff in there that has never needed changing, as well as a lot of stuff the isn't needed anymore (like seven-track tapes, and talking to Friedan Flexowriters) but isn't hurting anybody, so leaving it in is less risky than taking it out.

Bottom line is that there is a lot of really old code living next to a lot of state-of-the-art code.

The object-code compatibility with 30-to-40-year-old code is, IMO, a piece of marketing genius. First, as you mentioned, there is the issue of lost source. (In one of my past lifetimes, one of my specialties was disassembling PL/I programs for my company when the source had been lost.) But also, at least in the days when IBM had some mainframe competition, think about if you need to get a bigger computer. If you get another IBM mainframe, you don't have to change anything. If you get a different brand, you have to recompile all your production programs, even the ones where the source doesn't exactly match the compiled code, but you don't know it yet. If IBM made you recompile everything when you upgraded, it would be a lot less sticky.
 
Things worth following include planning documents for CURRENT, and UPDATING in the src tree.

For example, a month ago: "Support for armv6 has been disconnected and is being removed.".
 
Is that 32bit?

Yes. ARMv6/ARM11 is now a 20 year old, obsolete architecture, only found in some old toys or similarly old and outdated (mostly proprietary) products and appliances...
Good thing to finally drop it and dedicate the developer time to currently relevant ARM versions.
 
obsolete architecture, only found in some old toys or similarly old and outdated (mostly proprietary) products and appliances
... including the 12 year old original (v1) Raspberry Pi. Probably still quite widespread but indeed a bit outdated and certainly limited. I won't be the one missing it but I guess a few people won't be happy.
 
1723079894972.pngThe FreeBSD/ARM Project page (linked from the table) is outdated.
 
Yes. ARMv6/ARM11 is now a 20 year old, obsolete architecture, only found in some old toys or similarly old and outdated (mostly proprietary) products and appliances...
Good thing to finally drop it and dedicate the developer time to currently relevant ARM versions.
And in the Raspberry Pi Zero, which didn't even have a more modern replacement in the same form factor until about 2 years ago. Given a typical 5-7 year productive life, one should support ARMv6 for another few years.
 
And in the Raspberry Pi Zero, which didn't even have a more modern replacement in the same form factor until about 2 years ago. Given a typical 5-7 year productive life, one should support ARMv6 for another few years.
Though, Raspberrys are inexpensive. There need to be operating systems for 32bit, which there aren't many for low powered SBC's. I'm a bit surprised that there's not an opensource DOS or Haiku for it. Even a specialized BSD made only for SBC's.
 
I'm a bit surprised that there's not an opensource DOS or Haiku for it. Even a specialized BSD made only for SBC's.
Haiku is quite heavy. Luckily they have better, RISC OS. There is a relatively large community for that on the Raspberry Pi. Here and here.

DOS would be a no go. In many ways you can think of DOS as a "BIOS automater" rather than an OS. Much of its calls simply ask the BIOS to do something. Since the Pi doesn't have a BIOS, those requests would fall on deaf ears ;).
Shame really because DOS/Win3.1 on a Pi would basically be good enough for 99% of my hobbyist computing needs.
 
Back
Top