We offer you a translation of the farewell letter from Miod Vallat, an OpenBSD developer for 15+ years, who left the project a week ago. The letter, initially addressed personally to a certain Jim, tells the story of where good intentions sometimes lead, and caused a resonance among users of Reddit and HackerNews . Consider - the expressed opinion is subjective, and, according to the author himself, “ you have the right to disagree with him ”.Today’s world is amd64 (
x64 or x86-64 is different ), armv7 and, in the near future, aarch64 (
64-bit ARMv8 ). Everything else is dead, Jim. No one invests enough money and mental labor in other architectures. In fact, only a small part of people are aware of the existence of the rest of the ecosystem (mips, power8, ...), and still nobody cares about them.
Supporting an outdated platform afloat is fun, because it reminds you of the 90s, when there was a large selection of “iron” platforms, with approximately the same price / power ratio. In the end, cheap PCs killed almost all the competition, and the smartphone market gave ARM an unhealthy market share in the embedded world.
')
Then, after a while, the fun comes to an end, because no one writes code, keeping your platform in mind, because it is not considered powerful enough, and modern compilers no longer support it (or they generate non-working code for it, which in fact even worse). Does your platform have hardware boundaries of several hundred MB of physical memory? You will not be able to launch a web browser or even a PDF viewer on it. Does anyone still run
testsuite from the latest version of
gcc on your platform? Not? Sorry, man, but
here's a nickel for you ( 5 cents ), go get yourself a better computer ...
In fact, supporting the platform in a viable state is a real teamwork. It requires serious commitments from projects that are “building blocks”: not too heavily “buried” tulchein (
as / ld / gcc ), support for flagship projects (
emacs, python, X11, mozilla, libreoffice ... ), as well as accurate and up-to-date documentation, available free of charge.
None of these points is true for all platforms, except amd64, armv7 and aarch64.
Because of all this, the desire to support the “life” of some other platform is in fact an attempt to swim against the current.
Look at all the projects of all free operating systems: they really only support amd64, armv7 and aarch64.
So here! Sometimes they pretend to support several experimental platforms; or other platforms that have not been tested for years and are cross-compiled just because they are no longer
self-hosted .
Of course, you can still meet a few madmen who are ready to do an incredible amount of work to prevent the decline of their favorite platform and skillfully create the impression that these platforms are still “first class passengers”. But these guys are the same people that they were ten years ago. Sooner or later, they get tired and give up. Like for example me.
The worst thing about all this is when you look back and realize that after all these years, free software has lost. The companies involved in the creation of non-free software had enough intelligence and ingenuity to catch the “impulse” of free software developers aimed at working on embedded platforms and using it to minimize their own software development costs, while still getting and the positive reaction of the press.
Thus, today we are building disposable systems that do not take into account what is in store for us in the future - because when the time comes, we will just take the next trendy SoC. There is no need to have everything that forms the architecture:
- vision of the future, allowing different generations of hardware to use the same hardware and software;
- a design that allows today's software to run on tomorrow's hardware as long as the changes are not too radical;
- integrity in the choice of buses, processors, mappings of the address space ( consistency in choices of buses, key chips, address maps );
- This firmware, and not something absolutely disgusting like EFI, which can not compete even with the old Open Firmware (IEEE 1275), which is already more than 20 years old;
- reliable tire enumerators ( reliably enumerable busses ).
No, sir, we will take the current last SoC, connect several additional devices to where we can find a hole in the address space, put the neutered
u-boot and a stable Linux kernel there — get and sign off, your “
platform ” is ready. And people are happy.
I spent 20 years of my life trying to promote the right perspective on free software, its values and its ethics; He fought for him, was always actively involved, tried to set an example to others, and today I feel as if all my efforts were just a waste of time, and nothing of what I did did any good.
It is difficult to come to terms with this, but it is better to surrender now than to continue the attempts and only get even more upset.