By davidleetodd on Jun 20, 2007
The more I use Solaris for my daily activities, the more I become convinced that one of its biggest barriers to widespread adoption by individual users is the issue of compatibility with the wide variety of notebooks out there. In the US, people are buying more notebooks than desktops, and the problem with notebooks is that they use a lot of really weird components in order to save space and weight. How can we support the myriad of new network cards, displays, Wi-fi cards, etc. that the manufacturers keep coming up with, not to mention the legacy hardware in use?
Microsoft solves the problem by throwing money at it. I'm sure they have hundreds of developers writing device drivers, and hundreds more who make sure that the manufacturers' own drivers work with Windows. Apple solves the problem by only supporting its own hardware. Linux has a large community of volunteer developers writing drivers.
The OpenSolaris community is vibrant, but small compared to the Linux community. When I was confronted with problems running Solaris on my notebook, I was fortunate that there is a community-written driver for my notebook's network card. I was also fortunate that a Sun developer in Beijing was assigned to write the AGPGART driver that makes my display function. Gabriel Carillo describes similar problems in a blog entry today.
One solution, of course, is to encourage the further development of a driver-writing community around OpenSolaris. Another solution, if Solaris is released under the GPL, would be to cooperate with the Linux community on developing common drivers. There is a third solution, however, that is only available to Sun. Since Sun does not manufacture notebooks, it does not compete in this market with Dell, HP, Acer, Lenovo and the other notebook manaufacturers, which are very few in number. Sun also has corporate muscle that Linux doesn't have. Perhaps we could engage in some high-level diplomacy with these manufacturers to encourage them to write open source drivers for their components that would be compatible with Solaris.