We need a Campaign for OpenGL Patent Exemptions for OSS, namely Mesa, and Linux
I've heard all sorts of things discussion about open drivers being blocked by patents over parts of OpenGL. One thing I haven't heard about is efforts to get patent exemptions for open source drivers for open source operating systems. We should articulate to patent holders that we will never be able to make money from this "niche." We will never buy or pay for rights to use it. There is no gain for them to hold us back. Maybe we could articulate some benefits though to them. Any thoughts?
IMHO, that is a wasted effort. The effort would be better put to use to getting rid of software patents. Fighting software patents on a one by one basis is a losing battle.
It might be a wasted effort to go after individual firms, but I suspect it would be even more of a wasted effort to try to get the law changed. Abolishing software patents is so far from the minds of politicians and from the interest of the general public that I doubt it'll ever gain any traction. Having courts abolish software patents somehow would be the only thing I can think of that would be successful if you're wanting to get rid of them all.
If anything the last few weeks have proved that determination of an aware public can make the once thought impossible, possible.
Originally Posted by Prescience500
How would you suggest convincing politicians and the general public that we need to get rid of software patents? I have a hard enough time talking to friends and family about balancing the budget when there's 1.5 trillion dollar deficit and they understand money. They don't all understand computers.
Software patents root in proprietary.
Software patents were chain reaction to one company reverse-engineering(what they always do) the code from another company and using it.
Later, special sort of companies appeared, those that invest huge amount of money in RnD to create a patent in the areas where technologies will most likely step into. You can call it patent mine.
The idea will not work. They are extremely lazy people that will move their backs only when they hear the magic word "cashflow".
They will not care, if you write them post - they will consider it spam.
They will not care, if you meet them and claim they would never milk enough cash. Why should they care then? Why should they risk?
The future of ClosedGL is same as codebase of ID Software' Commander Keen.
To be milked and then to be forgotten under huge pile of dust.
Either OpenCL will replace it, and very probably proprietary pigs will seek to encumber OpenCL as well. Or someone really writes open standard.
Perhaps letters to ISO/IEEE may push them to define the standard open 3D hardware access API; same as they did with ODF.
WUT? lol, openCL would have the same patent restrictions against it and has nothing to do if items like S3TC can be implemented in it. You could completely write an entirely different API and still have the patent restriction of not being able to provide it.
Originally Posted by crazycheese
So what do you suggest?
Originally Posted by deanjo
Not being totally clueless with a heart full of good intentions and a head full of nonsense might be a good start.
Originally Posted by crazycheese
Using terms like "ClosedGL" is just pure idiocy. If you remove the patented bits, it's not a useful GL anymore. It's just a piece of shit that nobody wants to use. S3TC you can live without, as it's merely a performance tool, but floating point textures are MANDATORY for modern rendering. If Khronos just removed them to be "more Open" it would basically kill OpenGL dead instantly.
If Khronos wants to do something useful, it needs to WRITE SOME FUCKING CODE.
Have you ever used the OpenGL drivers for anything besides an accelerated desktop and a few stupid Quake 3 clones? Even the proprietary drivers? They're utter shit. They're buggy to all hell. They break their own documentation. Their extensions change with various releases. Things that work perfectly in the Direct3D drivers work completely broken in the OpenGL drivers for the same hardware from the same driver vendor.
(1) Every vendor reimplement all of OpenGL from scratch, and so they introduce bugs and incompatibilities. Microsoft on the other hand provides the upper layers of DirectX, and hardware vendors supply only the low-level hardware interface and low-level shader compiler bits. There's less bugs and less incompatibilities when everyone is using the same core codebase. Linux has Gallium, but that's just for Linux; Khronos needs to provide an OpenGL implementation akin to Mesa (no hardware drivers, but all the upper/middle layers, shader parser, and a software reference implementation). And then it needs to mandate that implementations are only OpenGL certified if they are compatible 100% with that reference implementation (see point 2 below), and then further mandate that driver implementations are only OpenGL certified if they _do not replace the platform-provided libGL_.
(2) There is no OpenGL test suite, so there's no way to know if a driver change is going to break anything until after it's pushed out and users start to bitch. Direct3D has a very complete verification suite that Microsoft requires vendors to comply with. Direct3D drivers are broken much, much less often than OpenGL drivers are because of this.
(3) There are no official OpenGL examples. Learning how to write _correct_ OpenGL code is ridiculously difficult. There are a metric shitload of bad, bad, horribly articles online telling you all kinds of stupid stuff, and a million ancient articles for OpenGL 1/2 that people keep using for new code when half the APIs used in those articles are deprecated (with damn good reason) and removed in the newer Core profiles.
(4) There are no official OpenGL development tools. gDEBugger is okay, but it's not free, and it is (to quote our resident genius) "just like PIX was before PIX came out with the newer version that made it 10x better than it used to be." In other words, the best tools available to OpenGL developers are lightyears behind the best tools available to Direct3D developers. And those tools really matter.
(5) The OpenGL API (and all the other Khronos APIs) are fucking ridiculously stupid, error-prone, impossible to multi-thread correctly, rely on overloaded behavior between versions (the glTexture*D functions are crazy!), type unsafe, and basically require warpping up in a Direct3D-like API in order to make them actually usable in an application without incurring ridiculously heavy numbers of state changes. Rewrite them. Break compatibility with OpenGL 5, finally, for the love of God. Introduce a new shading language that has actually usable semantics and doesn't practically mandate the use of NVIDIA's Cg to get anything useful done.
Imagine that world. A world where the OpenGL implementations are as bug-free as the Direct3D implementation. A world where a new developer can actually figure out how to use OpenGL 3+ with minimal effort. A world where the Mesa developers have an official test suite to develop against. A world where OpenGL actually has a fighting chance of winning the minds and hearts of the throngs of developers who have already seen or used Direct3D 10. That is a beautiful world.
Innovate their own "cutting edge" technology replacement instead of trying to duplicate and get that to become the established standard which would then be protected by prior art. It is the only way one is going to become free of patent laden solutions as long as software patents are allowed or as I said before, fight to make software patents illegal in the first place. Nobody says it will be easy but greater have fallen.
Originally Posted by crazycheese