On Fri, 18 Jul 2003, Sven Luther wrote: >> driver models differ greatly. The kernel code would be custom >> code written for the given operating systems involved, and almost >> certainly written for high end high paying customers in the >> scientific and other high end 3D customers in the marketplace. > >Maybe they could have the whole X driver and kernel module in open >source, and only keep the opengl library as proprietary stuff. I more or >less doubt they have any IP involved in these part, at least some really >meaningfull stuff. This would it make much easier for user installations >too, i think.
Your guess is wrong. The kernel part contains the part that is probably one of their most prized pieces of IP. I wont get into details about that however as I don't know if discussing it would violate my NDA with ATI or not. I do know however, that if there is one part of the drivers that would be the most unlikely to be open sourced, it is the binary kernel blob. It does significant things that require extremely detailed in depth knowledge of the chip way beyond anything anyone involved in OSS Radeon driver development outside of ATI is likely to have docs or knowledge on. I realize I can't "prove" this in any legal way for the non-believers without possibly violating NDA, so believe what you will. I'd love to see it open sourced with complete details, but realistically it isn't going to happen from _any_ vendor IMHO. No vendor has provided that level of documentation to open source vendors before. We get microcode to upload to the chips, and that gives us something at least. Something better than nothing IMHO, and I hope we continue to get this in the future too. >> Why do these companies not open source their complete drivers? >> Because they have intellectual property in their drivers that > >As if their concurent where not capable of reverse engineering the >drivers. Reverse engineering that level of code with no detailed knowledge of the specific hardware underneath is an exercise in futility. I challenge anyone to reverse engineer how any mainstream GPU microcode engine works and produce any useful information on it to be used by OSS developers to write a compiler to create new microcode on the fly in the driver. If I see that within the next 20 years for even the oldest of Radeon hardware, I'll fall off my chair in total shock. Not to mention that doing so is probably even illegal in many countries, and would prevent any knowledge gained from being used. Then there's the issue of anything reverse engineered possibly being patented also, making it useless in OSS (in countries the patents are covered by). In short: Mindboggling amount of effort, for little to no gain, and in 10 years if anyone makes any actual useful progress, they may find themselves faced with a legal "go away now" notice from the particular IP owner in question. It would be interesting however to see someone reverse engineer several hundred Kb of kernel code with no hardware knowledge of the GPU internals. I'd be amused to just watch someone start such a project. ;o) >> By these companies contributing to open source drivers however >> (ATI contributes heavily to the radeon driver, and Nvidia to the >> "nv" driver), they are still contributing to the open source >> community, and they are providing users with an alternative to >> use that is outside of any legally binding agreements that code >> might contain in their own full proprietary drivers. > >I have no problem for them to go proprietary, but i would very much like >a powerpc version of said drivers. Since both of them also release >drivers for MacOSX, i guess this would not be very expensive to just >rebuild powerpc versions of them. Or for other arches too. I think this >is the cost the graphic companies have to pay for not releasing the >source code. Perhaps if said companies business and marketing departments determine that producing PPC drivers will be in the best interests of their stockholders, they might decide to book engineering resources to produce PPC drivers. The lack of such drivers would indicate to me that there is not enough revenue predicted to be generated by allocating such resources that such drivers are more cost to develop than any financial gains received by doing so. I'm no financial analyst by any stretch of the imagination. Running a publically traded company on a charity basis however is a good way to upset stockholders. There is a huge difference in "what would be nice if" and "is considered economically viable by company $foo's financial department". I agree with you for sure on the "would be nice if" part. But I understand the financial realities that a smart publically traded companies must use to shape their decision making processes too. >> >After all their drivers don't support XV at all, so you can't >> >use the multimedia capabilities of some of their integrated >> >cards like the AIW-PRO and 8500DV. I realize that in the past >> >they have provided some information to XFree86, and eventually >> >after having their multimedia stuff reverse engineered to the >> >group that was working on that. They have, however, never >> >provided complete information! >> >> They've got the right to do that if they wish. Suffice it to say > >I am not sure this is the case all over the world, and in any >case it is hardly fair. If i buy a product, i also buy the right >to use it fully. I am no lawyer, but i guess that if you where >going to resort to legal action, the judge may well see it that >way in at least some of the countries where graphic cards are >used. And if that company's product does not state that it is supported on the hardware that you have chosen to use it with, then you are purchasing it with the pre-knowledge that your chosen hardware combination is unsupported and may or may not work at all, and that if it does not work, it's not like you were in the dark ahead of time. Try putting the engine of a Japanese car into an American made car. Then complain to Nissan that it doesn't work, and see how far you get. >> that ATI has provided more documentation for their video hardware >> than all other vendors combined, at least the docs that I have >> had access to from all vendors. With people like you bitching >> about it however, I don't see how that is intended to get anyone >> to release any documentation or specifications that haven't been >> released. They could theoretically release all documentation to >> everything, open source their proprietary drivers, sell their >> company and donate the money to the XFree86 project, and people >> would still find something to bitch thanklessly about and >> complain about some bug they find. > >No, there you are exagerating. I hardly doubt that they would go broke >or whatever if they released open source drivers. If anything, they >would sell more boards. If anything they'd likely get sued by 3rd party vendors whom they've licensed code and/or patented technology from, which they do not have the right to give away to the public. That includes both software, and hardware interfaces as well. Only the particular hardware vendor in question knows what IP they have in their hardware and drivers, and what they can do with that IP legally. I don't expect any of these hardware vendors to speak up and say "we have 15 patents in this piece of code which our ours, and we've licensed 20 other pieces of technology from other companies which we do not have the right to distribute source code or technical knowledge openly to the community". More likely than not, they realize that doing so would just incite a never ending bitchfest between people who don't know or care about legal issues and that such a bitchfest would generate more hostility than just remaining silent and letting people who have no idea just bitch amonst themselves blind to legalities of IP law. >> We get what the lawyers say we can have basically, and we should >> be glad to get that, especially if the alternative is nothing. > >The problem is that we get what the US lawyer say we can, and not what >we may very well have the right to in other places of the world. You very well may. However a company not wanting to give their own intellectual property to the public for free, and also then let all of their competitors jump on it and use it to compete with them, is not going to want to do that worldwide. They may have copyrights, patents, etc. on it in some countries which have copyright/patent laws, and in other countries there might be no such laws. By holding on to their intellectual property they keep it out of the hands of competitors, out of the hands of bootleggers who would use the stuff and spread it around illegally regardless of laws wherever, and they keep what is theirs theirs. Again, I'd love nothing more than to have the complete specs of every video card ever made, and complete technical knowledge and source code for them all, right from every vendor, published all on one single website for everyone to use for whatever purpose, and without having to know or care about copyright, patent and other IP laws in any country. We all would like to see that, and it would benefit OSS a lot. Hardware vendor's priorities aren't necessarily focussed on benefiting OSS as number one priority and giving away their intellectual property for free. I would love them if they did it, as yes, it would allow OSS to thrive more. It would allow more platforms to thrive as well. It's just not very realistic to expect that a company is going to jeopardize itself financially or legally by open sourcing every piece of hardware related code or specs they have. >Not to count the free development time that goes into making the >drivers work, or the amount of time one uses to answer about >misguided proprietary nvidia drivers who have problems. They >will not ask nvidia, but ask on the debian user list for >example. Nvidia's binary drivers are chock full of intellectual property as well. Some owned by Nvidia, and I'm guessing some owned by SGI, and probably many other companies. You'd have to get a large number of publically traded companies in the food chain to agree to open source everything if you wanted to see this happen, and you'd have to convince the company in _their_ eyes that their stock prices would skyrocket for doing so, with zero risk of having their asses sued off. That doesn't even mention trade secrets. Imagine $company1 open sourcing their binary driver tomorrow, and $company2 not. You can probably bank your money that $company2 will scour that source code and then incorporate any useful code, algorithms or other tidbits that they think is worthwhile into their closed drivers also. If the license permits it, probably legally. If the license does not, (ie open source the driver under strict GPL), then it's theoretically possible still for stuff to be stolen and used illegally anyway. Not that I think any of the video hardware vendors would use code illegally mind you, but it is at least theoretical, and in this day and age of very strong competition in the field of 3D acceleration, it is not unimaginable at all. You're really asking Kentucky Fried Chicken, to give the recipe for their 11 herbs and spices here, and the secret sauce. Pretty soon, half of the KFC customers have no need to go to KFC as they can make it at home. By the way, I have a recipe for chicken that <legal jargon> "tastes very similar to, but is not KFC". I wonder if someone let the cat out of the bag at KFC one day, and this is the Colonel's secret recipe? Who knows. The chances of reverse engineering the kernel microcode engine from one of these drivers however is even much more likely than reverse engineering the KFC recipe by analyzing the molecular structure of the crispy crust. Good luck I say. -- Mike A. Harris _______________________________________________ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel