A Lawyer's View on the OpenGL Patent Mess
PDAJames writes "This article has an interesting take on Microsoft's claims on OpenGL technology. An IP lawyer says that Microsoft could make things difficult for OpenGL if they feel like it, basically. "
I think they were a little remiss in overlooking the technological case for OpenGL; the fact is that many developers prefer it to DirectX, and not for ideological reasons.
Don't read this!
No, but if you had a history of violent assault, one might reasonably lay strong odds for the likelihood of you doing it again!
Don't read this!
But don't they just make it way to easy lately.
Like, I don't mind other companies that have tons of products and are making tons of money. Plus, they may have a somewhat stranglehold on industries. But I would have to say the only reason I dislike Microsoft is their apparent philosophy of don't produce good products, kill the competition, and use lawyers as much as possible to help both of the above.
If MS produced quality products, I wouldn't care much about their attempts at complete world domination. But, since they don't produce quality products because they don't have to with the monopoly they have. (Remember Bill Gate's quote from some book I read recently which said (approximately), "You don't want them to want your product, you want them to think they cannot survive without your product. Then you win." Or in rough translation, "Don't worry about creating good products, just manuever yourself into a position where they have no choice but to use your products."
Seems about right for MS lately. (Again, I really am not trying to bash Microsoft, just frustrated with what they have been doing.)
~ kjrose
I would love to see SGI, Nvidia, ATi, and other leading graphics companys to step it up. You can not tell me that Microsoft hasn't borrowed heavily from patented concepts and ideas that were first implemented by some of these companies. I bet it would be extremely easy for a few lawyers and engineers to get together and build up a solid case that Microsoft did not pay to implement technologies patented by these groups.... The concept of Microsoft INNOVATING any of the concepts embodied in DirectX is absolutely ridiculous.
Since I first saw the stories about Microsoft and OpenGL recently, I've been wondering how this is going to play out. Microsoft's whole DirectX thing has largely been targeted/used by games, but what about the other markets that us OpenGL. My specific interest is in the 3-D CAD market. In this particular market, the software vendors and hardware vendors have been exclusively using OpenGL for a number of reasons:
1) Multiple platform support, (most CAD systems run on unix or started on Unix)
2) OpenGL existed long before DirectX
I'm sure there's other reasons, but I wonder if the CAD vendors and other vendors are going to consider DirectX in the future, especially with so many vendors shifting more focus towrads Windows in the last couple of years. What about other markets that use OpenGL extensively?
Have you hugged your Karma Whore today?
Actually one of the most interesting things that was pointed out was the question of the legality of selling something that was already agreed to be released in an open manner.
They agreed to release the patent to OpenGL, so can they sell it to somebody who is going to "un-release" it?
If this is what Microsoft and SGI did, it's an interesting problem.
I really dont understand why the parent was modded as funny. It is a serious point.
Im not here now... Im out KILLING pepperoni
- Get computers to the point where 3D is a possiblity - Done
- Get computers to the point where 3D is common - Done
- Notice a competitor/3rd party owns the dominant 3D standard - Done
- Develop your own standard (Direct3D maybe?) - Done
- Refine it to the point where it's actually useable - Done
- Help make many of the important features of modern 3D and get it in competitor/3rd party's standard - Done
- Point out that you have patents/etc on those parts of the standard and that you will charge large licensing fees on using that standard - In Progress
- Use fee to strangle the competing standard - To Be Done
- Now everyone is forced to use your software for 3D if they don't want to pay tons of license fees - To Be Done
- Watch as competing platforms (let's call them Fruit Computers, and Penguindynamics) die under licensing fees becase you refuse to put your royalty-free API on their platforms - To Be Done
- Have a good maniacle laugh - To Be Done
See how simple that was?Comment forecast: Bits of genius surrounded by a sea of mediocrity.
The most likely scenario here is that they bought IP from SGI which SGI had given to the OpenGL project under a public/OSS/FS license. Thus, MS' claims are invalid. You can't put something into the public domain and then take it back. Sorry, that's just not permitted. Once something's in the public domain, its there forever.
social sciences can never use experience to verify their statemen
It's obvious that Microsoft hates/fears OpenGL. Since the beginning release of 1.1 for Win95, Microsoft has done nothing about releasing the stub/dll source-code, updating the source-code, or even trying to progress the development of OpenGL.
Time and time again they have attempted to copy and improve upon OpenGL, first with Fahrenheit/XSG, then with DirectX. Yet, through all the technology and resources Microsoft puts in, the masses still like OpenGL.
The principals of OpenGL are the same as the day it started with IrixGL. Keeping it simple, functional, and cross-platform. Although Microsoft has gone great strides with DirectX API, they have nowhere near the simplicity of OpenGL. And with the Alternative OS's supporting OpenGL (Mac OSX, Linux, FreeBSD, Solaris, Ps2Linux, etc...) there are more emerging platforms which they cannot touch.
Game/Multimedia Developers are starting to realize that Linux and other platforms are decent for games, and are developing software for them. No, Linux isn't going to take over the world tommorrow because it has OpenGL, but think of this: If a developer gives both the Linux Binary and the Windows Binary, wouldn't you be curious to compare speeds between the two? People would problably spend the extra $0-5 difference for a dual-os game starting the eventual craze. It only takes a few people/companies to start a revolution.
Microsoft is trying to attack every angle of the industry to focussing our attention on their superior product, yet nothing screams superior when their is a true choice and competition in the market.
Microsoft hinted that it would prefer an alternative licensing arrangement. At this month's OpenGL meeting, Microsoft representative Dave Aronson suggested that "other bodies have licensing terms that are more effective in a corporate sense, and we should look at adopting some of those terms."
This is something we'll begin to hear a lot - Microsoft will do license fees of $0.00 for many of their technologies, but restrict the platforms to non-open ones. The real target here is not OpenGL but rather Open Source. The lack of fee will give them the ability to say "look, we're giving it away" to deflect the attention away from the restrictions in the license.
I'm sure they'll be "super excited" about the resulting "ecosystem".
... and it doesn't take MS to cause problems. The general consensus amongst developers who use the more advanced OGL features (pixel and fragment shaders/programs, etc.) is that things are currently a mess.
;) In any case, there's been a lot of stalling over this issue due to that sort of crap as well.
OpenGL is comprised of a central body of standard functionality which _must_ be implemented in order to use the name OpenGL. Additionally there's an extension mechanim which allows IHVs (like NVidia, ATI, etc.) to implement their own funcitonality which isn't currently a part of the core standard. That's how we have Fragment/Pixel shaders/programs today, as IHV extensions from NVidia and ATI. This system tends to work pretty well, but you start to get into problems with the interface. Essentially what happens is that all the IHVs decide that they need to do something along the lines of vertex programs (a way to manipulated verticies after they have been passed to the GPU, more or less), which is true. It's a cool feature any everyone likes it. Since they're being implemented as IHV extensions they're not standardized at all, so if you want to use a vertex program from NVidia you have to use their vertex program assembly language, but if you want to accomplish the same thing on an ATI card you have to use _their_ vertex program assembly (which, by the by, tends to follow a completely different model than NVidia), ad naseum.
Naturally all of this is a pain in the ass for developers. You now not only have to have different rendering paths for the various combinations of available extensions, but you have to write the same routines in drastically different languages to support a given set of functions.
Now getting all of this into a standard extension to the core API is supposed to solve some of these problems, but the IHVs aren't totally in favour of that as they then lose some product differentiation/control/etc. Mind you, this bit is speculation and observation, I don't actually know what the IHVs are thinking, but history shows that they sometimes have trouble working together
And it's exactly these kinds of disagreements that are holding up OpenGL 2.0, which is supposed to directly address many of these problems. NVidia, for instance, has CG, their high level shading language. CG can be compiled down to their proprietry shader code (for use with NV_* extensions on NVidia cards) and, _in theory_ down to the proprietary code for other cards. However, for that to actually work ATI, etc. need to create so called "profiles" which allow the CG compiler to do it's thing. Clearly NVidia wants some degree of control/name recognition/whatever here... in the case where CG takes off you'd need to get your dev tools from NVidea regardless of which cards you're targeting. Now this idea is in direction competition with the OpenGL 2.0 proposal, which gives much of the same functionality but via a standard set of interfaces that replace current IHV proprietary code rather than a compiler ship on the top. Natrually this makes NVidia a little less enthusiastic about OpenGL 2.0 in it's current (proposed) form.
And on, and on, and on.
Right about now DX 9 (really the D3D componant...) is starting to look pretty damn good to a lot of us. It's got standard interfaces for pixel shading, etc. that just work with the various cards, it's a much improved API from it's early days, and given all the extension thrash it's much easier to write clean, readable code under D3D than OpenGL anymore.
Of course you're screwed if you need to port, but that's the plan, right?
The point of all this is simply that while MS is certainly doing their part to muck about with OpenGL (like not updating the damn dev tools since OpenGL 1.1!!!) they're not alone in that hobby. IHV squabbles have always been an issue in that area, and MS' best tactic to date has been to take advantage of the slowness of the ARB (often arising from IHV squabbling) and run right on by with their own API. So their adding to the infighting isn't really that much of a change to the situation, as I see it.
Behold the Power of Cheese!
They agreed to release the patent to OpenGL, so can they sell it to somebody who is going to "un-release" it?
I would presume that this cannot be legal, since if it were, we would have a different RAMBUS-type fiasco every day of the week. Every company would agree to give free access to their patents that are used in an open standard, and immediately after the standard is deployed, they would sell their patent to a 'collection agency' and tell all of the suckers who implemented the open spec to pay up.
Maybe I should patent this business model right away...