Re: Opinions on driver license
The decision about what is more work, maintaining a compatible interface or having it change at every version cannot reasonably be made by the developers. It is obvious that having some compatability means some extra work for them, but it is questionable of the total amount of work spent (by the developers, the external manufacturers and the end-users) will indeed be more. I think it will be less.
In the early days I often tried to follow developments and contribute to it, but it quickly became impossible to do because everything is wired together. For every new kernel release there was a list of 20 other packages and the minimum release level, and invariably there would be 3 or 4 that you needed to update before installing this kernel. And those packages again depended on other packages that you needed to update.
So, like many others, I became a distribution user. SuSE in my case. Maybe once a year I update the entire system to a new distribution release and I run the kernel and X that comes with it.
What I don't get, is why an incremental update within such a distribution, e.g. a security fix in some networking protocol, needs to invalidate the compatability. The kernel version number changes so all modules are incompatible.
I know why this is happening. Long ago I discussed this on a mailinglist and a solution I proposed was even implemented (not sure if this was coincidence or because of this discussion). The idea was to provide every interface function with an automatically generated signature that validates that the interface did not change. This is the MODVERSIONS option. But as it cannot describe every aspect, it is apparently not trusted, and we still need to recompile all modules.
Imagine the hell that would break loose when you would need to update your nvidia video driver on Windows for every visit to Windows Update. Nobody would accept that. But in Linux it is normal practice.
About opensource of the driver: I think most advocates of this are wildly underestimating the whole issue. The binary module is 4.5MB in size. The sourcefiles probably are something like 50MB.
It would be very naive to assume that this piece of coude would suddenly "maintain itself" after being released to the public. Every issue would still need to be tracked and fixed, and while some issues may be simple, there still will remain a large number of issues that are not so easy to fix.
Look at projects that have been in open source for years, like Mozilla (now Firefox and Thunderbird). It has thousands of open bugs, and some very irritating problems have not been fixed even while they have been in bugzilla since 2002. So availability of the source certainly isn't the end of all problems.
Besides, even when opensourcing may smooth the integration with new developments in X and the solution of problems that the manufacturer considers low priority, at the same time it will slow the development for new hardware. Contributions for new hardware drivers will certainly not be released before the new hardware is in the shops. Now, nvidia can develop drivers for hardware that is still unreleased and have them released at the same time as the cards.