Rixstep
 About | ACP | Get Stuff | Industry Watch | Learning Curve | Newsletter | Search | Test Drive
Home » Learning Curve » Developers Workshop

BSD and Linux Thirty Years On

All is well - right?


Get It

Try It

Linus Torvalds: we heard about him back in the day. We were across the water, in Stockholm. There were bits and pieces of his code available for download. Several of our admins took the downloads and tried them out and reported favourably.

This was long before 'Linux' became a household name.

FreeBSD went public about the same time, in 1993 according to Everipedia, which goes on to point out two major differences.

1) FreeBSD maintains a complete system, delivers a kernel, device drivers, user-land utilities, and documentation, as opposed to Linux with only a kernel and drivers, relying on third party for system software.

2) FreeBSD source code is generally released under a permissive BSD license, as opposed to the copyleft GPL used by Linux.

Back in the day, what got most people's attention about Linux was the fact that it was a 'back to basics' thing. The 'Baskin-Robbins' malaise upset the world of Unix, with new releases getting more and more complex. Brian Kernighan wrote his famous parable about 'echo', for example. Some of us dabbled in Unix, some of us were brought up on it, some of us taught it for a living, some of us could make everything turn into Unix and C, much like in Kernighan's seminal 'Software Tools' series, which made it obvious that Unix was more than an operating system.

Then came Windows 94. Or almost came. Windows 94 became Windows 95 and suddenly the whole world wanted to be connected. A personal colleague, running a support desk for a major UK provider, got chewed out by her superiors because her team failed to explain to potential customers that they needed to have a computer to be able to connect to this thing called the Internet.

Apple became more stagnant than ever. Microsoft pushed Dave Cutler's NT. More and more corporations wanted to get off Unix and onto NT, as it was cheaper, what with the low operational cost thanks to ODBC, and, at the other end, the high cost of Sun workstations and database licensing. FreeBSD started spreading to ISPs, but Linux stayed mostly put.

The situation has changed today, with IBM pushing Red Hat, now a part of Big Blue itself.

As to the competition between FreeBSD and Linux, see this discussion from 2016. (FreeBSD was and still is big on the server side.)

https://news.ycombinator.com/item?id=12199394

We chose Apple's reincarnation of NeXTSTEP for several reasons, some of which were personal, some of which were not.

1. We'd seen and worked with both NeXTSTEP and the people from NeXT in our home town. There was always a buzz about NS.

2. NS used a microkernel architecture. We'd learned a lot about microkernel and its advantages through our association with Microsoft and their ongoing 'bad marriage' with Dave Cutler and his 'Tribe'. Rich Rashid, also of the Carnegie-Mellon MACH project as Avie Tevanian who went to NeXT, proselytised in Redmond about the advantages of microkernel. Not being driver writers ourselves but having been in contact with driver companies in several countries, and having written and edited professional courses in driver writing, we were acquainted with the issues involved. Concepts and mechanisms such as the DPC did not come at us out of the blue, and we understood very well the implications and ramifications involved. Spending less time in kernel mode was a Good Thing™ and a Safe Thing™ and mostly relegated the kernel panic to the backrooms of ancient history. And when Dave in Redmond decided to finally forego his dreams of keeping the microkernel in NT, as Win16 was getting too big for its britches, when he finally put the USER module into kernel mode - this for NT 4.0 - we saw the results. We saw why not using the microkernel approach was a Bad Thing. We saw the BSOD, inevitably caused by crappy code written by other than the typically finicky and anal-retentive driver writers who, like Atlas, worked to keep the rest of the system afloat. The fact that Apple took this microkernel approach meant a lot. Over the course of twenty years, we've seen but one kernel panic, and that was very early on and most likely cause by mucking about, as it's called, in places no mortals should ever trample anyway. The less code you run in kernel mode where anything that can go wrong will go wrong, where the most minute of errors can bring the whole house of cards tumbling down, the better.

3. The graphics. Not raster based - vector-based. The original OS at NeXT used floating point coordinates, floating point RGB values, and floating point alpha channel transparency values, eminently scalable to any platform anywhere. Getting good graphics onboard was a big deal for Mark Shuttleworth once upon a time. Mark was envious of the Apple desktop. He encouraged his people to focus on 'better icons'. He was of course missing several points there. But whatever.

4. Windows. Windows isn't bad only because it's devoured the planet's desktops and caused damages in the trillions. Windows isn't bad only because Bill Gates and company treated the market with disdain and cheated every chance they got. Windows is bad because Windows, as a graphic user interface, missed the very point of the Alan Kay exercise from Day One. Perhaps you've read about it or, even worse, been there.



As the story goes, Bill Gates of course got wind of what Steve Jobs was up to. He'd sabotaged Comdex in October 1983 when a competitor introduced a graphic user interface for 'his' PC. Gates was contracted by Jobs to produce software for the coming Macintosh. Gates was to provide Apple with the spreadsheet application Multiplan. To complete this task, Bill needed prototypes of the coming Apple computer. The team at Microsoft used their time wisely, it would seem, studying the innards and behaviour of the new contraption, but, unfortunately, they totally missed one very vital, one cornerstone, point.

The menu bar.

Yes, it's all down to that damned menu bar. Or menu wherever you put it. (NeXT had it brilliantly coming out of the left edge of the screen, detachable and moveable, and piece by piece too.)

The menu bar: there's a difference between application and document window. No, they are not the same. NeXT and Apple applications have separate menu items for 'close' and 'exit', as 'close' means only close the document window in focus, not the whole application.

There are so many advantages to the user here that it's not funny. They're quite practically too numerous to mention. You can completely close all document windows with a single click. You can open as many documents as you want in the same way. You can issue commands that apply universally to all your documents at once. And so forth. And none of this requires inter-process communications. It's all done within the same process, within the same address space.

And of course there's another latent perk lurking there as well, one that the admin will most of all appreciate: prudent use of available resources. As the code sections of executables are made reentrant, the same resident code can service all documents, unlike the jalopy known as Windows where each new opened document must have a new image of the same application code in memory. Yes, it's profoundly wasteful, and it's all tied to Bill Gates putting application menus on document windows and not keeping them separate as they should be.

5. The programming interface of the Macintosh was a mess. It took more code than ever to accomplish less than ever. NeXT changed all that. By using a decent programming language with an intelligent paradigm - Objective-C - with its dynamic binding, menu items (and commands) could be made to apply most anywhere.

6. The typical Microsoft-styled message handler would typically look for numeric codes dispatched on a per-thread basis. A command to copy something, found on a menu in East Jesus, could not be used to copy something else in Sausalito. This makes for a very cumbersome system, with code coming out of the seams and development times going ballistic. Back in the early years of NeXT it was postulated that their developers needed only 1/5th (20%) of the time needed on other graphical platforms where, thanks to the inception of GUIs, a full 80% of the time was being spent just making things 'user-friendly' - and not solving the model's task at hand. By getting everything working properly from the get-go, the NeXT people were able to put the focus back on track and not be continually sidetracked by all-too-familiar details that should be taken care of once - and only once - right from the start. Add to this their brilliant Interface Builder, not emulated anywhere to this day, and you have a hands-down walkover.

7. Unfortunately - and this has nothing to do with the Linux kernel - the graphical interfaces for Linux follow the same Windows paradigm. There have been attempts made to create a true object-oriented interface, but they never got far. This might have been done to afford familiarity to those coming to the new platform - or, more likely, it was done out of sheer ignorance. How many times did we hear and read 'where's the menu' from Linux and Windows users who simply did not - perhaps even today do not - understand what was really going on. As consolation for users of Gnome and KDE, one may say 'it's all Bill Gates' fault', but it's also the fault of those who adapted the Windows interface for Unix and either cannot or will not look back.

It's been our contention, since the early days of OS X, way back in the days of version 10.2.7, more than fifteen, almost twenty, years ago, that Apple's love child, together with the company's marketing and general corporate clout, could have been the wedge that brought down Windows and Microsoft and made the World Wide Web, and the Internet in general, not to speak of global society as well, a much safer place. The events of the early 2000s, starting with the 'ILOVEYOU' worm on 5 May 2000, make it patently clear that things were far from safe or at all acceptable. The key of course is the inherent insecurity of the Windows security model, which, in practice, is nonexistent. NT creator Dave Cutler never intended NT to be a workstation or even, as a server, connected to the Internet. The certifications for NT, which cost Microsoft millions, all specify that NT security presumes no removable devices or Internet connection present. Dave Cutler's security model was good - even excellent - for what he had in mind. Two years after Microsoft convinced him to move his Seattle DEC computer lab and his 'Tribe' lock, stock, and barrel to Redmond, with even his hardware engineers enjoying full salary from Bill despite having nothing at all to do, two years later, Bill quietly let slip - through proxies of course - that he had something else in mind for Dave and his people and their coming 'file server OS'. Bill wanted a graphical user interface on it, he now let them know, and he wanted as well to apply his concept of 'zero administration', meaning even the cleaning woman would be able to manage a sophisticated network. Of course Dave went through the roof but, once he'd calmed down, he gave Bill what Bill wanted, more or less: he stitched in a few rogue kernel threads to monitor changes to the Registry so cheap workstation editions couldn't enjoy the functionality of the expensive server editions, and he used Bill's Win16 people - the infamous group known as 'The Undead' - to paint on a graphical user interface. But the insecurities were still in place, as they'd always been with Windows. Code Red was proof enough of that. And, frankly, there was no way to change that. Dave's access control lists were fine 'out of the box', but they couldn't protect ordinary users in ordinary daily situations. Their architecture was too convoluted anyway, all their drive letters and backslashes, dusty MS-DOS file attributes, lack of file ownership and a much needed mandatory access control. It was truly time to stop dicking about with Redmond toys and get back to the real thing. But Linux - all the distros taken together - held but a fraction of 1% of the market. And Apple not quite three times that, a few decimals short of 3%.

Apple Inc

Suddenly everything changed in early 2007. Obviously these changes had been underway for years. People could read about Perceptive Pixel and understand that the picture elements on their computer screens were actually two-way communications devices. CNN started brandishing a big PP screen for fame only. And so forth.

Then Steve Jobs smacked the world a good one by introducing three new products at once. 'Are you getting it', he asked coyly.

The introduction - the advent - of iPhone changed everything. Steve was proud to announce that iPhone ran the same operating system as his computers. Which wasn't entirely correct. Some clear-minded soul had gone in and slashed a lot of cruft which to this day remains on the computer side for no reason. A 'MacOS' directory? There was no such thing as 'MacOS' and there hadn't been for years. 'MacOS' died with version 9.22 a long time earlier, and not a day too soon, it would seem: it literally couldn't idle overnight without crashing.

Perhaps this was a ruse for the hundreds of thousands of cross-platform NeXT indies who preferred working on NS or its successor, as long as they could still bring Windows products to market? For that was the general idea, back in those days, that's how Apple lured them over. NeXT promised - or, rather, they just let it happen, as in 'why not?' And so did Apple. Sort of. By meaningful implication 'wink wink'. They'd of course continue to let their new version of the NeXT OS, along with its development tools, churn out packages for Microsoft Windows. Where the real money was. Of course they would. And then, right before the New Millennium, they suddenly stopped implying. The fanboys, looking back at the gates of the walled garden that silently closed behind them, realised they'd been had once again. As long as they'd seen that 'MacOS' directory in there, embedded in the OS X application hive, along with other subtle hints, they could go on believing. (The directory remains to this day, still with no justification, and it's the same story with the 'Contents' directory. They have a directory whose sole purpose is to exist so it can hold other directories.)

There was the time, back home, of a mid-afternoon, when the cofounder of one of our client companies came into her offices with her newborn in a pram, announcing:

'Good afternoon, everyone! I'd like to introduce you to my little miracle!'

She was quite the girl. Bred on Macintosh, she worked tirelessly on network and system foibles in Windows machines and systems until she got the business off the ground. Because everything was Windows.

The father of this miracle, a consultant with a big league global player working on the Macintosh side, came in a bit afterwards. As she went about with her baby girl, saying hello to everyone, he took over occupation of her office to do a bit of paperwork for her - on Windows. And as the rest of us went up and down the corridors on our appointed rounds, we could hear him screaming in complete fury, over and over again.

'Oh so those bastards at Microsoft copied that too? Are you f-ing kidding me?'

And so forth. This went on for quite some time. Finally the poor git had had it, and he sprang into the corridor to shout it out to anyone and everyone, once and for all.

'This f-ing Windows! This f-ing Windows! They've copied everything from Apple! They've copied it all! Everything! EVERYTHING! There isn't a single thing that Microsoft have here that Apple haven't had all along!'

We waited, stunned.

'Oh but there's one thing', said a consultant at last, speaking quietly, knowingly. 'There's one thing they have at Microsoft that they don't have at Apple.'

The Apple consultant turned to confront him.

'Oh do they now! And what might that be?'

'MARKET SHARE', came the reply.

Dozens of gurus, assembled in the corridor, broke into laughter.

The one thing a good Unix/Linux movement needs is market share. The one thing the world needs is safety. But Joe and Josephine Blogs will never get that. And, to get them within earshot of the alternatives, you need marketing and corporate push.

It doesn't matter what you personally prefer on your own hardware. It's not about that and it never has been. Trying out and testing new Linux distros several times per week is nothing more than OS masturbation. It serves no purpose, it doesn't make the world a better place.

Steve Jobs moved the goal posts in 2007. Prior to that, most people understood the layout of the playing field. Now no one's very sure of anything anymore. The smartphone has become the dumbphone, the rank and file have finally found a communications device they can feel at home with, and most people should be happy about that. Google still dominate in the mobile market, conducting business in a much more open and fair manner than Apple. Apple retain a minority share of influence, but they take home all the big bucks anyway. They've come under increased and unprecedented criticism from Fortune, Forbes, and the New York Times, to name only a few. People both at this site and elsewhere have been warning about this sad state of affairs for more than ten years. But no one listened. Not enough at any rate. Not even close to enough. Apple could have swept the playing field for computer use but chose not to. They left the playing field and built a new field elsewhere. Security issues for personal computers take a back seat to so many other things today.

And FreeBSD and the Linux flavours hug their 0.7% market share, and all is well with the world.

About Rixstep

Stockholm/London-based Rixstep are a constellation of programmers and support staff from Radsoft Laboratories who tired of Windows vulnerabilities, Linux driver issues, and cursing x86 hardware all day long. Rixstep have many years of experience behind their efforts, with teaching and consulting credentials from the likes of British Aerospace, General Electric, Lockheed Martin, Lloyds TSB, SAAB Defence Systems, British Broadcasting Corporation, Barclays Bank, IBM, Microsoft, and Sony/Ericsson.

Rixstep and Radsoft products are or have been in use by Sweden's Royal Mail, Sony/Ericsson, the US Department of Defense, the offices of the US Supreme Court, the Government of Western Australia, the German Federal Police, Verizon Wireless, Los Alamos National Laboratory, Microsoft Corporation, the New York Times, Apple Inc, Oxford University, and hundreds of research institutes around the globe. See here.

All Content and Software Copyright © Rixstep. All Rights Reserved.

CONTACT INFO:
John Cattelin
Media Contact
contact@rixstep.com
PURCHASE INFO:
ACP/Xfile licences
User/Family/Business
http://rixstep.com/buy
About | ACP | Get Stuff | Industry Watch | Learning Curve | Newsletter | Search | Test Drive
Copyright © Rixstep. All rights reserved.