ESXi is not GNU linux and not Unix, in case you didn’t know (and other little things)

We continue to slowly select candidates from the Russian Federation, sometimes I attend interviews, like Non-sogreedychatGPT, and listen to what the candidates have to say.
It should be noted that the level of candidates from the Russian Federation continues to move towards long-forgotten terms from methods for calculating cosine phi. Well, you know what's there (or not). Inexpensive methods of improving resumes – in the style of “trust us, we know how to write” – end up working against candidates, especially if expert experts write “Unix Mint” and Esx VCentre on candidates' resumes.

If someone forgot or didn’t know:

For Unix it all started with The Bell System. Yes, the same Alexander Graham Bell, about whom approximately 1 in 10 people have heard something.

Bell System bought Western Electric Company, from Western Electric Company Bell Telephone Laboratories was spun off, in which there are three Fathers – Dennis Ritchie (Dennis MacAlistair Ritchie, 9.9.1941 – 12.10.2011), Ken Thompson (Kenneth Lane Thompson 4.2.1943 – alive), Brian Kernighan (01/30/1942 – alive) and made the first Unix. Along with The C Programming Language, Ken Thompson also made his mark in Go. Of course, we must remember both Joe Ossanna and Malcolm Douglas McIlroy.

The heirs and numerous descendants of that first Unix are still alive and well. Someone has already died (Berkeley Unix), but managed to give birth to heirs – OpenBSD and Darwin.

For GNU\Linux it all started in 1983, when Richard Stallman began promoting the idea – GNU – “GNU's Not Unix!” It was assumed that the GNU project would be entirely free, without any Unix code, and with a GNU Hurd kernel. What happened next was written without me – in Linux kernel article.

For ESXi it all started in 2001, when ESX entered the market (then without i), which initially launched, among other things, the Linux kernel as an application for managing other virtual machines (and other small things).

To be a little more precise:
VMware 1.0 – 05/15/1999
VMware GSX Server 1.0 – something in 2001
VMware ESX 1.0 Server – 03/23/2001.
GSX Server 2.0 – 07/15/2002

You can read about nostalgia, and not only read here

Such commercialization of pure ideas caused a certain dissatisfaction, at the same time VMware ESX began to turn into VMware ESXi – and eventually did, the first release (VMware ESXi 3.5 First Public Release) happened exactly on the new year 31 -12 – 2007, build 67921 (VMware ESXi Release and Build Number History https://www.virten.net/vmware/esxi-release-build-number-history/#esxi3.5 )

Everything would be fine, but on August 4, 2006, Christopher Helwig decided that VMware does not comply with the GPL:

Until you stop violating our copyrights with the VMWare ESX support nothing is going to be supported. So could you please stop abusing the Linux code illegally in your project so I don't have to sue you, or at least piss off and don't expect us to support you in violating our copyrights. I know this isn't your fault, but please get the VMware/EMC legal department to fix it up first.
https://lkml.org/lkml/2006/8/4/112

In 2011, the Conservancy decided before received a report of GPL violations in ESXi BusyBox. Attempts to peacefully resolve the issue in the style of “we won’t give everything up, but we’ll discuss it” ended in 2014, in a free retelling of the site, with recommendations to read the GPL yourself.

Then, in early 2014, VMware's outside legal counsel in the USA finally took a clear and hard line with Conservancy stating that they would not comply with the GPL on Linux and argued (in our view, incorrectly) that they were already in compliance.
Frequently Asked Questions about Christoph Hellwig's VMware Lawsuit

On March 5, 2015, the Conservancy filed a lawsuit against VMware in Germany, with the text “give me money” – Conservancy Announces Funding for GPL Compliance Lawsuit

The topic was still BusyBox, but the authors of the lawsuit tried to show that some of the components directly use pieces of code from Christoph Hellwig – from scsi_setup_command_freelist (14.8148% of the code) to scsi_remove_single_device (99.0566% of the code) – Contribution and Similarity Analysis of Christoph Hellwig's Linux Code as found in VMware ESXi 5.5

In the end, everything turned out to be even more complicated, because it came down to figuring out whether it was possible to take vmkLinux (published under GPLv2) and do magic, quote

A lot of Linux code has been extracted into vmkLinux; this is a shim between Linux drivers and the vmkapi interface. The intent here is to provide an environment where almost unmodified Linux can drivers interface to the proprietary vmkernel. This means vendors don't have to write two drivers, they can re-use their Linux ones. Of course, large parts of various Linux sub-systems' APIs are embedded in here. But the intent is that this code is modified to communicate to the vmkernel via the exposed vmkapi layer. It is conceivable that you could write a vmkWindows or vmkOpenBSD and essentially provide a shim-wrapper for drivers from other operating systems too.
On VMware and GPL

Or you can’t just blow up and do magic.
VMware I thought it was possible

Almost simultaneously with this, the case of Patrick McHardy was going through the court – which began in 2016 (The Importance of Following Community-Oriented Principles in GPL Enforcement Work), and ended in 2018 with the withdrawal of the case – with Patrick paying legal costs (Former Netfilter leader drops GPL case and will pay legal fees)

By 2020, Patrick was so annoying that everyone was sued. (Netfilter developers defended collective decision-making in GPL violations)

But now it’s not about him.

On August 7, 2016, a German court decided that Hellwig is wrong.
August 9, 2016 an appeal was announced.

All this was accompanied by statements like “it’s not too late to repent” – “VMware could still choose to do the right thing here, admit that they did not meet the terms of the GPL and acquiesce to Christoph's request.” Appeal Moving Forward in GPL Compliance Suit Against VMware

On February 28, 2019, the trials ended, the German court decided that Helwig was wrong:

VMware is pleased with the February 28, 2019 decision of the German appellate court in Hamburg to dismiss Mr. Hellwig's appeal and let stand the regional court's decision to dismiss Mr. Hellwig's lawsuit.

VMware's Update to Mr. Hellwig's Legal Proceedings
VMware Linux lawsuit moves closer to a resolution
VMware Announces Plans to Remove Non-complying Code, Hellwig Decides Not to Appeal
Court of Appeal sides with VMware in GPL violation case

What's the result?

First, back in 2017, starting with ESXi 6.0 6921384, VMware blocked support for the Microsoft Legacy Network Adapter, or more precisely the Net-tulip – community driver DECchip 21140 Ethernet. Build 5572656 works with it, build 6921384 no longer works. Stands (nested) on Hyper-v have become useless, and in KVM you have to set it in the settings:
–network network:default,model=vmxnet3
Deploying a nested version of VMware ESXi 7.0 on KVM,
Running nested VMware ESXi 8.0 host under KVM hypervisor

With version 7.0 (2020/04/02 – 15843807), support for old drivers “from everything” was removed from ESXi, and often specifically Linux drivers. The howl went up to the skies, how could it be, the disk controller, servers and network are only 10 years old, the manufacturer doesn’t want to support them, and now there’s no way to implement the old Linux drivers, damn VMware, why don’t they write a driver themselves. It’s not clear what they were shouting about – here is the court, here is its support. Although, everything has already been said here.

About Community Network Driver for ESXiof course, no one was going to read, just like about VMware Flings.

Continuation in my telegram channel and on Pikabu

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *