Summary: In TLWIR 51, I talked about how Coreboot might provide a solution to the confusion created by the Secure Boot fiasco. In the Linux Week in Review 52, I’ll talk about the need for a GNU/Linux reference system. In this “gold standard” system, all of the installed hardware would be known to work perfectly with the latest version of the Linux kernel.
Lean Six Sigma
I recently completed a course on Lean Six Sigma, and everything that I learned was directly applicable to improving GNU/Linux. GNU/Linux is an engineering marvel. It supports an incredibly broad range of hardware. However, I believe that there needs to be a renewed emphasis on providing the desktop user with a “perfect” solution. Like the Google Nexus brand of Android devices, there needs to be a reference GNU/Linux desktop that manufacturers can look to and imitate as the “gold standard”.
Lean Six Sigma aims to produce a tight and lean process, with very little waste and variability. The world of desktop computing is exactly the opposite: there is almost infinite variability, and a lot of waste. If I knew that someone had a perfect GNU/Linux system for sale at a reasonable price, I would buy it. If it was too expensive, I would get a list of its components, and build it myself. Lean Six Sigma provides some great guidance on some of the ideas needed to make this reference system a reality (see Figure 1 below). I’ll discuss this more a little bit later in this article.
The Phoronix Test Suite
The Phoronix Test Suite is a collection of benchmarking software that mainly focuses on benchmarking GNU/Linux systems. Michael Larabel is the lead developer. He and his team created a collaborative website at Openbenchmarking.org where users can submit benchmarks from their own systems. I have found this to be a great resource to find GNU/Linux compatible hardware. If a computer user can successfully run the Phoronix Test Suite on their GNU/Linux system, then they obviously have a working setup. When you view the results of a Phoronix benchmark on the site, the results include the system setup, as show in Figure 2 below.
Putting It All Together
So we have the Lean Six Sigma Process available to us, and we have someone who has created a database of highly usable GNU/Linux systems. The next step is to develop a reference system that is a top performer. What would be considered a top performer is highly subjective. Some people focus on gaming systems while others want productivity performance. The GNU/Linux world is extremely diverse. However, I think that some common ground can be found based on the principles that drive the community. Generally, we tend to prefer FOSS solutions. Proprietary solutions can provide better performance sometimes, so the user that builds or buys the reference system would be free to use proprietary solutions, if he or she wishes. The guarantee should be that the reference system MUST work perfectly if the user chooses to use only Free Software.
Here are some generally ideas that I came up with (the Lean Six Sigma principle is in parentheses):
- There would be two reference systems: an AMD-based one, and an Intel-based one (standardize and reduce variations in the design). Perhaps there would eventually be ARM and VIA reference systems as well.
- Both reference systems would have a completely FOSS BIOS, such as Coreboot (standardize and reduce variations in the design).
- All hardware on the reference system would have to have open source drivers available. These drivers could be reverse-engineered, such as the nouveau drivers for Geforce graphics cards. (standardize and reduce variations in the design).
- Hardware devices such as printers, scanners, etc. could be certified against the reference system. Only one best performing hardware device of each class would get the top ranking as a “reference device”. For example, if the Canon MP560 printer performed best in the reference system, it would become the reference printer (reduce variation).
- Prizes could be offered to improve the performance of the reference system. For example, if someone improved the graphics performance of a hypothetical Geforce graphics card in the reference system by improving the nouveau drivers (incentivize process improvement).
- Prizes could be offered for proving that some piece of hardware performs better than the one in the reference system while still meeting the reference system requirements. For example, if ATI comes out with a new video card with an open source driver, and the card performs better in the reference system than the one currently in it, it should become the new reference card. The person that validates this better performance could be rewarded somehow (incentivize process improvement).
People like me who want a pure and reliable GNU/Linux system would go out and buy or build the reference system as is. Some hardware manufacturers would get their acts together. For example, let us assume that Dell really set its mind on getting one of its printer models as the reference printer. First, Dell might create a fully open sourced GNU/Linux driver for the printer. Then it would conduct tests with the reference GNU/Linux system to verify that the printer was the fastest printer available for the reference system, in a printing test. Brother would see this success and becomes jealous, so they would then strive to replace the Dell printer as the reference printer.
Perhaps the reference devices could be named once per year to give manufacturers a year to compete, develop, and deliver their new reference candidates. The reference candidates that did not get picked would probably still be great choices for people building new GNU/Linux systems. Some hardware manufacturers would get angry, but their only recourse would be to get better at supporting GNU/Linux, or risk becoming obsolete in the GNU/Linux community. The confusion around Secure Boot would go away: anyone could be certain that they would have no problems at all with a reference system. The reference system would provide a system 100% guaranteed to work with no problems at all.
Thank you for reading TLWIR 52!