1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

A Call To "Kill All Proprietary Drivers For Good"

Michael Larabel

Published on 29 March 2012
Written by Michael Larabel
Page 1 of 2 - Comment On This Article

UPDATE: I have been contacted by Qualcomm PR regarding this expected presentation next week. The content of the Qualcomm Atheros developers was not approved by Qualcomm's legal department and the views to be expressed will be of their own personal beliefs.

Next week at the 6th annual Linux Foundation Collaboration Summit in San Francisco, two Qualcomm Atheros engineers will be speaking about their Linux device driver development experiences and will go as far as calling for all proprietary drivers to be killed for good. They talk not just about killing proprietary drivers for Linux, but for all operating systems. Can the plans they lay out to kill all proprietary drivers work or is this just a big pipe-dream?

Luis R. Rodriguez and Adrian Chadd are the two engineers set to be speaking at the Linux Foundation Collaboration Summit next week Thursday. These engineers from Qualcomm Atheros, yes the company in their pre-Qualcomm days that has had a long and bumpy history in Linux for WiFi support, are promoting that proprietary device drivers be killed. Luis is a Linux hacker at Atheros while Adrian joined the company as a FreeBSD hacker.

First of all, here's their session abstract, "Proprietary drivers have a long history and tradition which has been imposed upon the industry by archaic driver development models and Operating System Vendor requirements. Licensing drivers in a clean way to share with Linux and the BSD families had typically been done under the confusing Dual BSD/GPL tradition. With the 'ath5k wars' and the involvement of the SFLC we've learned a few things to help clarify this and accomplish this in a clean way, but as new driver development continues one of the biggest issues observed is quality of software with proprietary software development models. What are these issues, and how do we fix them? A Linux and FreeBSD developer propose to kill all notions of proprietary drivers practices in the industry for good, not only for Linux, but for all Operating Systems. We'll review how we plan on doing this and would like feedback from the community."

Their path to killing proprietary drivers is easier said then done, but it basically comes down to prioritize clean kernel APIs / code, permissively license Linux kernel drivers, and localize usage of the GPL. If wanting to target *BSD operating system support, pick a BSD and call for unification of BSDs. The Qualcomm employees also provide intellectual property strategies and they promote replacing "internal codebases" in favor of working with upstream Linux and upstream BSD. Further on, if driver code unification is desired, Luis and Adria say to make driver unification become a community problem. These views come from the long Atheros history on Linux and BSDs from the MadWiFi work, Linux rejecting net80211, Linux getting new 802.11 stacks (mac80211 and cfg80211), the Atheros ath5k driver coming about, the ath9k driver is upstreamed in the kernel.

In their LF Collaboration Summit presentation, the developers share that only recently Linux has become a priority on the "desktop" in terms of hardware support at Qualcomm Atheros. They also admit not all free and open-source software projects have good software, software architects can be assholes, and Microsoft and Apple at least has good run-time tests for drivers, validation, and "nice shiny certification logos."

Besides the work of creating the driver, there's also often-overlooked extensive compliance testing, certification work, internal standards / regression testing, specific customer extensions, cross-licensing of patents, and other commercial agreements are among the other challenges they have faced on their Linux/BSD driver work. "These may make it difficult to open up a commercially developed codebase."

Also expressed has been another problem for the hardware vendors and that's for multi-OS drivers and trying to do code-sharing between supported platforms as much as possible to reduce their development efforts as well as their maintenance burden of needing to certify/test multiple stacks. These WiFi driver developers recommend finding a good middle-ground between all of the OS platforms and acknowledge that most companies like to continually reinvent the wheel.

Additionally in their long and evidently passionate views about the topic, the open-source Atheros developers are set to classify crap drivers as those that do not prioritize code readability and long-term maintenance, do not consider an ecosystem for reinventing the wheel on fixing issues, branching hell, the staging area is tainted crap, and that even good drivers can become crap drivers through evolution. Their advice? "Move on, adapt fast, evolve, accept criticism."

After this, Luis R. Rodriguez and Adrian Chadd are set to talk about driver licensing, which comes down to being a call for permissively licensed driver where the code can be shared between operating systems as non-Linux GPL drivers can be a pain in the ass. It's also pointed out that GPL Windows drivers requires MinGW for building (the license for using Microsoft's Windows Device Driver Kit isn't clear for usage on GPL driver source-code) to avoid using the Microsoft DDK. "Better use a fully permissive licensed Linux drivers, share with BSDs."

Latest Linux Hardware Reviews
  1. Preview: AMD's FX-9590 Eight-Core At Up To 5.0GHz On Linux
  2. Intel Launches The Core i7 5960X, Mighty Powerful Haswell-E CPUs
  3. AMD Radeon R9 290: Gallium3D vs. Catalyst Drivers
  4. AMD Radeon R9 290 Open-Source Driver Works, But Has A Ways To Go
Latest Linux Articles
  1. Ondemand vs. Performance CPU Governing For AMD FX CPUs On Linux 3.17
  2. How Intel Graphics On Linux Compare To Open-Source AMD/NVIDIA Drivers
  3. The Fastest NVIDIA GPUs For Open-Source Nouveau With Steam Linux Gaming
  4. Testing For The Latest Linux Kernel Power Regression
Latest Linux News
  1. Marek Lands Radeon Gallium3D HyperZ Improvements
  2. Mozilla Firefox 32 Surfaces With HTML5, Developer Changes
  3. Nouveau X.Org Driver Released With DRI3+Present, Maxwell, GLAMOR
  4. Microsoft & AMD Release C++ AMP Compiler With Linux Support
  5. AMD, Wine & Valve Dominated August For Linux Users
  6. Linux 3.17-rc3 Kernel Released Back On Schedule
  7. Lennart Poettering Talks Up His New Linux Vision That Involves Btrfs
  8. Mesa 10.3 RC2 Arrives Via Its New Release Manager
  9. Ubuntu 14.10's Lack Of X.Org Server 1.16 Gets Blamed On AMD
  10. MSI Motherboard BIOS Updating Remains A Pain For Linux Users
Latest Forum Discussions
  1. Lennart Poettering Talks Up His New Linux Vision That Involves Btrfs
  2. Best Radeon for a Power Mac G5?
  3. The dangers of Linux kernel development
  4. Updated and Optimized Ubuntu Free Graphics Drivers
  5. AMD Releases UVD Video Decode Support For R600 GPUs
  6. SSD seems slow
  7. Is laptop with Intel CPU and AMD dGPU worth buying considering especially AMD Enduro?
  8. Radeon HD5670 and Ubuntu 14.04