Recently I attended the Linux Foundation’s Linux Collaboration Summit in San Francisco, CA, USA. During my time there I had the opportunity to meet several kernel developers, community leads, journalists, etc... from all of the world that work with Linux based systems, I had several conversations with many people in which during my discussions I kept unintentionally stumbling upon the questions about the notable contributions and actions that specific companies had made to make their distros easy to use, that cannot be accomplished by a pure community based distro.
What exactly can a company add that a large group of individuals cannot add?
During the conversations with the kernel developers from company based distros I was probing to find out how I can attempt to redistribute some of the wifi and networking drivers from their distros to my preferred distro (Slackware Linux). The answers were simple, most drivers are already included in the kernel, but the ones that do not work on my distro cannot just be ported to my preferred distro.
Why can you not just copy the source for specific drivers?
Some drivers for devices such as Broadcom and Realtek network cards cannot be ported to other distros because they are proprietary drivers and firmware that the manufacturers have licensed to the distro building companies under terms in which they cannot be distributed outside of the single company based distros.
What Linux based distributions are maintained by companies that are licensing the drivers and firmware?
I know for a fact that Canonical (Ubuntu) is licensing the drivers and firmware to maintain functionality, in addition Novel (OpenSUSE) and RedHat (RedHat and Fedora) also have the resources to obtain the drivers and firmware to properly support their community and users.
What if I am running a community based distro and am using some of the effected hardware?
In this case you are not in a good position, the community can attempt to develop open source drivers to work with the hardware however, and without any cooperation from the manufacturers this process can be very difficult and may take quite a while. If you decide to continue using a community based distro with this hardware my best recommendation is to ditch the hardware and buy hardware that will work with your distro.
What hardware is natively supported by the kernel that will work on all distros?
A good general location I have found to check hardware compatibility is at http://www.linuxcompatible.org/compatlist3.html, but if you want to check your distro you can also find a link their Hardware Compatibility List at http://www.linux-drivers.org/.
Should a new user focus on community or company based distros?
My opinion and generalization is that most new users are not completely knowledgeable about what hardware is included in their computers, with that being the case it would be far easier for them to use a company based (free or paid) distro that attempts to resolve the hardware issues for them. The new users can have a difficult time with unresponsive hardware so using a fully community based distro may lead to unnecessary frustration.
It seems that licensing of these drivers benefits the manufacturers with additional revenue, but for users like me it stops me from purchasing their hardware due to the questionable connectivity. I remember reading that RedHat has been doing some licensing and filing for patents which extend to the entire Linux based community to protect and enhance our innovations (http://press.redhat.com/2009/03/17/discouraging-software-patent-lawsuits/). We need to have the major corporate distro maintainers come together and work with the manufacturers to pressure them to join the open source community or combine resources to attempt to license the drivers and firmware under terms that would allow the entire community to freely use them.
At this point you may be asking yourselves how the manufacturers and corporate distro maintainers can benefit for sharing, by sharing licensing and/or code the related companies can benefit by allowing the community to take on part of the development which will help product evolution, compatibility and consumer shopping habits.
If the manufacturers continue to push for the limited licensing I suggest that we show our disapproval by not purchasing their hardware and showing them how valuable our community can be to their profits.
I would like you the readers to respond stating what hardware they have that do not work on kernel drivers in which it would be best for you to include the distro name and version and your kernel version in the post.
In addition please share your thoughts, related links and opinions related to this post.