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. A Walkthrough Of The New 32 System Open-Source Linux Benchmarking Test Farm
  2. Habey MITX-6771: Mini-ITX Board With Quad-Core J1900 Bay Trail
  3. OCZ Vector 150 SSD On Linux
  4. Noctua i4 CPU Cooler: Great For Cooling High-End LGA-2011v3 CPUs
Latest Linux Articles
  1. AMD Kaveri: Open-Source Radeon Gallium3D vs. Catalyst 14.12 Omega Driver
  2. 12-Way AMD Catalyst 14.12 vs. NVIDIA 346 Series Linux GPU Comparison
  3. AMD Catalyst 14.12 Omega Driver Brings Mixed Results For Linux Users
  4. 6-Way Winter 2014 Linux Distribution Comparison
Latest Linux News
  1. WTFTW: A Tiling Window Manager Written In Rust
  2. Jolla's Sailfish OS Update 10 Is Now Available
  3. HP To Launch Linux++ Operating System Next Year
  4. Civilization: Beyond Earth Launches For Linux
  5. NIR Has Been Revised As A New IR For Mesa
  6. New 64-bit Linux Kernel Vulnerabilities Disclosed This Week
  7. PostgreSQL 9.4 Brings JSONB & Many Other New Features
  8. That Nasty Linux Kernel Lockup Bug Is Still Unresolved
  9. KDE's Krita Loses Its Main Backer
  10. Inline Data Support Comes To CephFS With Linux 3.19
Latest Forum Discussions
  1. XLennart: A Game For Systemd Haters With Nothing Better To Do
  2. Bench specific mount point
  3. Tool for measuring FPS in games
  4. Need some hand holding with upgrading xserver
  5. Ubuntu Developers Still Thinking What To Do About Adobe Flash Support
  6. Microsoft buying Mojang
  7. Updated and Optimized Ubuntu Free Graphics Drivers
  8. Premium subscription "login" times out much faster than forum