Lunduke
Comedy • Gaming • News • Science & Tech
"If this one guy got hit by a bus, the world's software would fall apart."
(Funny? Yes. But the reality is far worse...)
April 04, 2024
post photo preview
  • How many critical software packages are maintained by a small, unpaid team (or, worse, a single person)?
  • What happens when that person gets bored with the project... or decides to do something malicious (as in the case with a recent backdoor in the XZ compression tool)... or... gets hit by a bus?

These are not only fair questions to ask... but critical as well.

The reality is that we're not simply talking about a handful of key software packages here -- the entirety of our modern computing infrastructure is built on top of thousands of projects (from software packages to online services) that are built, maintained, and run entirely by one person (or, when we're lucky, 2 or 3 people).

One wrong move and the Jenga tower that is modern computing comes crashing down.

Source: xkcd

Just to give you an idea of how widespread -- and dire -- this situation truly is, I would like to call your attention to two projects that most people don't even think about... but that are critical to nearly every computer system in use today.

The TZ Database

Dealing with Timezones in software can be tricky.  Many rules, many time zone details.  As luck would have it, a standard database (TZ Database) was built to make it easier for software projects to get those details right.

And, every time those timezone details (across the world) are changed -- something which can happen several times per year, often with only a few days notice -- that database needs to be updated.

What happens if those details are not updated... if the timezone data is incorrect?

At best?  A few minor scheduling inconveniences.  At worst?  Absolute mayhem... computer-wise.  Times can become significantly out of sync between systems.  Which can mess up not only scheduling (an obvious issue), but security features as well (as some encryption tools require closely synced time).

To give you an idea of how widespread the TZ Database is, here is just a teeny tiny fraction of the number of software projects which rely upon it:

  • Every BSD system: FreeBSD, OpenBSD, Solaris
  • macOS & iOS
  • Linux
  • Android
  • Java, PHP, Perl, Ruby, Python, GCC, Javascript
  • PostrgreSQL, MongoDB, SQL Server

Yeah.  It's basically a list of "all software".  And that's just a sample of the software which heavily relies on the TZ Database for making sure timing (and everything that is time-critical) is correct.

Now.  With something this absolutely critical, surely a highly paid team of people -- from multiple companies -- is responsible for keeping it updated... right?

Oh, heavens, no.

Two people.  Two!

While the database itself has been officially published on ICANN (the "Internet Corporation for Assigned Names and Numbers") servers for the last few years, only 2 people actually maintain the TZ Database.

SQLite

Did you know that SQLite is the most used database system in the entire world?  More than MySQL, MS SQL Server, and all the rest of them.  Good odds, SQLite is used on more systems than all other database systems in the world... combined.

In fact, SQLite is a critial component in the following systems:

  • Android, iOS, macOS, & Windows
  • Firefox, Chrome, & Safari
  • Most set top boxes and smart TVs
  • An absolutely crazy number of individual software packages (from Dropbox to iTunes)

Now, ready for the fact you knew was coming?

SQLite is maintained by... 3 guys.

Not "3 lead developers who oversee an army of open source contributors"... just 3 guys.  Total.  And they don't accept public patches or fixes.

"SQLite is open-source, meaning that you can make as many copies of it as you want and do whatever you want with those copies, without limitation. But SQLite is not open-contribution."

A piece of software that is practically the cornerstone of modern computing.  Trillions of dollars worth of systems relying upon it -- every second of every day.  3 guys.

Corporations rest on the shoulders of... a couple volunteers

Add those two projects together.  5 guys, in total, are responsible for Timezones and SQLite databases.  Software and data used on practically every computer on the planet.

And that's just the tip of the iceberg.  Critical projects -- often with small teams of (more often than not) unpaid voluneers -- form the core of the vast majority of major software projects.  Including commercial ones.

ImagemagickXZFFmpeg?

You'll find those at the heart of more systems than you can count.  Good odds you use all three, every day, and don't even notice it.

And, as the small team behind FFmpeg pointed out in a recent X post, getting those large corporations to contribute -- in any meaningful way -- can be like pulling teeth:

The xz fiasco has shown how a dependence on unpaid volunteers can cause major problems. Trillion dollar corporations expect free and urgent support from volunteers.

 

Microsoft / Microsoft Teams posted on a bug tracker full of volunteers that their issue is "high priority"

 

 

After politely requesting a support contract from Microsoft for long term maintenance, they offered a one-time payment of a few thousand dollars instead.

 

This is unacceptable. 

 

We didn't make it up, this is what Microsoft actually did:
https://trac.ffmpeg.org/ticket/10341#comment:4

 

The lesson from the xz fiasco is that investments in maintenance and sustainability are unsexy and probably won't get a middle manager their promotion but pay off a thousandfold over many years.

 

But try selling that to a bean counter

In short: Microsoft wanted to benefit from the (free) work done by FFmpeg... but was only willing -- at most -- to toss a few peanuts at the team.  And, even then, that (mildly insulting) offer of meager support was only done when Microsoft needed assistance.

A few parting thoughts...

There are valuable lessons to be learned from all of this -- including the need for real, meaningful support (by large corporations) of the projects they rely so heavily upon.

But, for now, I'd like to leave you with a few observations.

  1. Corporations don't hesitate to throw large sums of money at Tech Trade Organizations (such as The Linux Foundation -- which brings in hundreds of Millions every year from companies like Microsoft)... yet they are hesitant to provide significant funding to projects they rely directly upon to ship their own, often highly profitable, products (see the projects listed earlier in this article).
  2. How many of these smaller projects -- which Linux desktops and servers rely entirely upon -- receive regular funding from The Linux Foundation (or companies which fund The Linux Foundation)?  I'll answer that question for you: Next to none.
  3. Even high profile Open Source projects -- such as KDE or GNOME -- struggle to bring in enough funding to afford two full time developers on payroll.
  4. We have avoided catastrophe, thus far, through dumb luck.  The recent XZ backdoor, for example, was found by a lone developer who happened to notice a half second slowdown... and happened to have the time (and interest... and experience) to investigate further.  The odds of that being discovered before significant harm was done... whew!... slim.  So much dumb luck.

Go take a look at that XKCD comic at the begining of this article again.  Funny right?  And it makes a solid point.

You know what's terrifying, though?  The reality is far more precarious. 

There's not simply one project -- by one guy -- holding all of modern computing up.

There's thousands of projects.  Each made by one guy.  And hundreds of those projects (at least) are load-bearing.

Dumb luck only lasts for so long.

community logo
Join the Lunduke Community
To read more articles like this, sign up and join my community today
18
What else you may like…
Videos
Podcasts
Posts
Articles
Titus in the Hotseat on "Lunduke: The Alex Jones of Linux"

Our buddy, Chris Titus, put out a show entitled "Lunduke: The Alex Jones of Linux". Now, obviously, I had to invite him over to The Lunduke Journal to tell him all of the things he got wildly wrong.

Note: This is two people disagreeing on some things -- while agreeing on others -- and being cool to each other about all of it. This is how it should be.

The Titus Video:
https://www.youtube.com/watch?v=j_uqTouv6LA

01:20:13
What the Fart is a Byte?

Seriously. Do you think you know what a Byte is? And who created the "Byte"? Are you 100% sure? Time for some quick history on the Bit and the Byte.

Article: "Who (really) created the Byte?"
https://lunduke.locals.com/post/5599596/who-really-created-the-byte

00:14:27
Did Lunduke just scare The Register off Twitter?

The Register victim blames Red Hat employee who files discrimination lawsuit. Gets called out. Immediately deletes Twitter account.

Note: This is not important... just goofy.

00:12:27
November 22, 2023
The futility of Ad-Blockers

Ads are filling the entirety of the Web -- websites, podcasts, YouTube videos, etc. -- at an increasing rate. Prices for those ad placements are plummeting. Consumers are desperate to use ad-blockers to make the web palatable. Google (and others) are desperate to break and block ad-blockers. All of which results in... more ads and lower pay for creators.

It's a fascinatingly annoying cycle. And there's only one viable way out of it.

Looking for the Podcast RSS feed or other links? Check here:
https://lunduke.locals.com/post/4619051/lunduke-journal-link-central-tm

Give the gift of The Lunduke Journal:
https://lunduke.locals.com/post/4898317/give-the-gift-of-the-lunduke-journal

The futility of Ad-Blockers
November 21, 2023
openSUSE says "No Lunduke allowed!"

Those in power with openSUSE make it clear they will not allow me anywhere near anything related to the openSUSE project. Ever. For any reason.

Well, that settles that, then! Guess I won't be contributing to openSUSE! 🤣

Looking for the Podcast RSS feed or other links?
https://lunduke.locals.com/post/4619051/lunduke-journal-link-central-tm

Give the gift of The Lunduke Journal:
https://lunduke.locals.com/post/4898317/give-the-gift-of-the-lunduke-journal

openSUSE says "No Lunduke allowed!"
September 13, 2023
"Andreas Kling creator of Serenity OS & Ladybird Web Browser" - Lunduke’s Big Tech Show - September 13th, 2023 - Ep 044

This episode is free for all to enjoy and share.

Be sure to subscribe here at Lunduke.Locals.com to get all shows & articles (including interviews with other amazing nerds).

"Andreas Kling creator of Serenity OS & Ladybird Web Browser" - Lunduke’s Big Tech Show - September 13th, 2023 - Ep 044
Winamp going open source!

... On September 24th. Weird. Wonder why that date specifically. Just saw this a moment ago and had to share.

https://about.winamp.com/free-llama

post photo preview
post photo preview

I asked GROK a question. It's answer was as predictably cringe and evasive as you would expect.

post photo preview
Browsing the World Wide Web via E-Mail -- 1990's Style
A look back at "Doctor Bob's Guide to Offline Internet Access".

Back in the 1990s… browsing “The Web” was a distinctly different experience for many people.

Some had a limited amount of time which they could be “On-Line”. Others had access to Internet E-Mail, often through a local dial-up BBS… but not the ability to use a graphical Web Browser. (Yes… “E-Mail” has a dash in it… that’s how it was in the beginning — as it is “Electronic Mail” — and that’s how it shall forever stay.)

Luckily, a solution presented itself:

“Doctor Bob’s Guide to Offline Internet Access”

First published in 1994 by “Doctor Bob” Rankin, the guide to offline Internet access focused on ways you could fetch (and interact with) various types of Internet servers entirely via E-Mail.

The sheer amount of different types of Internet servers that could be used via E-Mail was nothing short of amazing: FTP, Gopher, Jughead, Usenet, Finger, Whois, Nslookup, Traceroute, and (of course) the “World Wide Web” were all usable (to one degree or another).

“Doctor Bob” continued to update and release new versions of the guide until 1999, when he handed duties over to Gerald E. Boyd. The final version (to my knowledge) was released in 2002 and is available in full at faqs.org.

But… HOW?!

The way all of this worked was actually pretty ingenious in its simplicity.

There were servers — quite a lot of them — that you could email. In the body of your email you would include any of a number of different commands. The server would receive your email… and send a response back to you with the result of your command.

You could almost think of these “Web via E-Mail” servers as command line tools… that you use via E-Mail. Most of them even included a “Help” command that would email you an introduction and list of available commands.

One of the most popular (and earliest) servers, known as Agora, was developed by the World Wide Web Consortium — with the final release (0.8b) published in 1997.

Let’s say, for example, you want to read the contents of “Lunduke.com”. Easy peasy! You’d simply email the Agora server of your choice (Doctor Bob’s included several to get people started) with the following in the body of your email:

send http://lunduke.com

You would then get an email response (sometimes quickly… sometimes with a large lag time) with the text-mode version of that webpage.

Fun tidbits: The Agora Web Browser was written in Perl and ran on DEC Alpha servers. It was based (in very large part) on the second Web Browser ever created: the portable “Line Mode Browser” from 1990: a text-mode tool for fetching webpages from a command line.

Searching the Web via a search engine was possible via Agora, and typically was done by including a fully formed URL (with all of the search words) in the email. For example, the following would use the Lycos Search engine to search for “linux sucks”:

https://search.lycos.com/web/?q=linux+sucks

Not the most user-friendly method in the world, but it was functional.

Later, more advanced, “Web via E-Mail” servers would include some additional features to make this all a bit easier.

For example, “GetWeb” and “WWW4MAIL” (two of the most popular, full featured servers) would allow you to perform the same search (for "linux sucks") by sending the following email:

SEARCH LYCOS linux sucks

See? Much nicer.

The Impact of Doctor Bob’s Guide

Many modern Internet users may have never even been aware of Doctor Bob’s Guide to Offline Internet Access”… just the same, its impact was far reaching.

People, across the world, utilized the techniques in the guide to gain some form of “Web Access” in areas with little availability of Internet Access. In fact, its usage was so widespread that various versions of the guide were translated to 32 different languages.

All The Servers are Gone

To my knowledge, no such “WWW via E-Mail” servers (Agora, GetWeb, or WWW4MAIL) are still in operation. In fact, even finding the source code for some of these servers has proven challenging.

There have been a few attempts at writing a new such server over the years — including “newAgora” written in Python. However, none seem to have any longevity to them (newAgora was last updated 11 years ago).

This isn’t terribly surprising, as the “WWW” has become increasingly difficult to use via text-mode browsers over the last 20 years. Add on top of this the continually shifting SSL requirements of most servers… and it has simply become too complex of a task.  Especially considering the lack of interest  in supporting such functionality.

Just the same, it’s sad when these sort of systems are no longer functional. A whole new generation of people will never have the opportunity to experience what it was like to “browse the web” entirely via E-Mail.

Read full Article
post photo preview
Microsoft's Biggest Product in 1980: the Z-80 SoftCard for the Apple II
Before MS-DOS or Windows, Microsoft helped CP/M run on the Apple II.

Back in 1980 — before the release of MS-DOS… and long before the release of Microsoft Windows — the biggest seller for Microsoft was, believe it or not, an add-on card for the Apple II computer which allowed the Apple II to run the CP/M operating system from Digital Research.

The Microsoft SoftCard added a Z-80 CPU to the Apple II, and included some additional CP/M software (including Microsoft BASIC).

A Microsoft SoftCard advertisement in Byte Magazine.

While Microsoft was initially uncertain of the market viability of the SoftCard, it turned into their biggest selling product of 1980 — moving over 5,000 units (priced between $349 and $399) in just the first three months.

From November, 1980 Infoworld:

“Unsure of the demand for the product, Microsoft took a prototype to the last West Coast Computer Faire. Unprepared to take orders for the then-unannounced product, Rayburn [who was then the President of Microsoft’s Consumer Products Division] collected over 1000 business cards from interested buyers the first day.”

Sales were good. Reviews were good. The Microsoft SoftCard (powered by Digital Research’s CP/M) was a hit.

From there the SoftCard would become so common that many software packages were shipped specifically for CP/M running on the Apple II. With Microsoft, themselves, shipping additional compilers for the SoftCard-equipped Apple II — including Cobol and Fortran.

The manual and disk folder for Microsoft Fortran-80

Fun Historical Tidbit: Because (at least in part) of the CP/M powered Microsoft SoftCard… IBM approached Bill Gates and company regarding licensing CP/M to run on the new IBM PC. This (after negotiations with CP/M creator, Digital Research, broke down) resulted in an agreement between IBM and Microsoft — just a few short months after the introduction of the SoftCard — where IBM would license a CP/M clone from Microsoft (which Microsoft purchased from a company in Seattle). Cutting Digital Research out entirely. Thus the legacy of MS-DOS was born.  Thanks, in large part, to a CP/M Z-80 card for the Apple II.

Here’s a few extra resources on the Microsoft SoftCard for those interested in this fascinating system. Thanks to the popularity of the SoftCard in the early 1980s, there is a wealth of documentation available (including scans of original documentation such as those included below).

An excerpt from the Microsoft Z-80 SoftCard brochure
 
 
Read full Article
post photo preview
Last week at The Lunduke Journal (May 5 - May 11, 2024)
Tons of Computer History! Red Hat & GNOME news! The War for Linux! Huzzah!

Holy smokes.  This has been one heck of a week at The Lunduke Journal!  

A pile of articles on computer history, breaking news on the biggest names in Linux & Open Source, big opinion pieces... and, of course, a little goofiness to keep things balanced.

Once again: Thank you to all of The Lunduke Journal subscribers who make all of this possible.  Notice how there's not one advertisement in any of these?  And notice how we're covering news and topics no other Tech Journalist is willing to touch?  Yeah.  You made that happen.  You rule.

Here's links to everything.  Free to enjoy and share with the world.

The Videos:

The Articles:

Whew!  What's in store next week, you ask?  I know.  But I ain't tellin'!

Read full Article
See More
Available on mobile and TV devices
google store google store app store app store
google store google store app tv store app tv store amazon store amazon store roku store roku store
Powered by Locals