There is always legal risk in open sourcing code. Infact there is legal risk from pretty much any action whatsoever. Good, responsible companies don't let that become a barrier to doing the right thing.
If ARM really cared, GPU stuff would be open source. The fact it isn't pretty strong indication they don't. Don't just accept it when lawyers say no.
After all AMD and Intel both have full open source graphics stacks, and the world hasnt exploded yet.
Should also be noted, keeping stuff closed source is not very strong protection against reverse engineering, if it was DRM would actually work, and it never really has, dispite decades of effort. So its doubtful that keeping stuff closed is much protection against patent lawsuits.
Put simply, the GPU vendors do not actually own all the rights to their own driver software. AMD had a project to improve the state of their drivers on Linux, but the approach they took was to try and rewrite and open source the code implementing the public API to the closed binary blobs inside the drivers, to make it easier to maintain the stability of the drivers across kernel versions. Open sourcing the blobs wasn't possible for AMD because the code in them just doesn't belong to AMD.
>Don't just accept it when lawyers say no.
Which lawyers though? It's not necessarily ARM lawyers that are the problem. You'd need to get agreement from the dozens of patent holders of various bits of the technology, most of whom are unknown as their identities are confidential.
Despite what Stallman would have you believe, open sourcing your own code is neither right nor wrong. It's just a choice.
There are millions of registered patents and the chances that your clean-slate ideas were already invented and patented are really high.
Open sourcing means exposing patent infringements to the public (even if you are not really aware that you are infringing anything), which means that you need to invest on a strong legal team in order to go through all possible patents and to deal with all possible litigations you might face.
In order words, open source requires much more than ideals, it also requires butt loads of money.
This is an excuse, basically. They just don't want to because they fear revenue lost to compatible implementations.
The only secrets left are the bits responsible for turning OpenGL (or Vulkan now, I guess) calls into programs to run on the GPU.
I can think of AMD adopting and then ditching VLIW for one.
But on a GPU, the whole interaction between the GPU and the application is abstracted by APIs like OpenGL and Vulkan and you own the driver, you own the compiler, you own the implementation and you own the architecture. So companies tend to protect their "secrets" since they own the whole product.
If you are asking me why is it different... Ask these patent trolls instead:
- https://techcrunch.com/2014/09/04/nvidia-sues-samsung-and-qu...
- http://www.anandtech.com/show/11101/amd-files-patent-complai...
It's not an excuse, it's the sad reality.
Just as on a GPU, the whole interaction between the CPU and the application is abstracted by APIs[1] like C and Python.
[1] Yeah, we don't call them APIs. But then we don't call GLSL a "API" either. They're all languages.
Easy for you to say, harder when millions to hundreds of millions are at stake.
Especially when this crap is at the root of why virtually every embedded linux product has serious security flaws that never get fixed. You cant update the kernel if you cant update the drivers.
If you want to blame someone, starting by blaming the OEM.
Hyperbole much? 7 billion people on the planet, and "more than hundreds of millions" of them are waiting with bated breath for the "de-crappification of the embedded ARM driver ecosystem"?!?
There was another big smoking gun recently, at linaros conference in budapest. Here finally some truth was spoken at 9:40 into the video: https://www.youtube.com/watch?v=dPjSm_98rgo&t=580s
Like IMG, ARM is not selling just the hardware design, it is also selling driver development services. When the driver is open source, and competitive, everyone can sell such services, and there's a lot less of those services to sell. ARM has revenue depending on this.
This is one good thing about the IMG revenue coming from Apple, it was mostly licensing costs, not services. If IMG had been selling services on top, their revenue would've been reduced by 75%+ instead of "just" ~50%.
How about this for a litmus test. Present a problem to new 4 year college graduates that they haven't heard the answer before. If x% of come back with a solution, that solution is obvious enough to be consider invalidating the patent.
Or let validity be judged by independent groups of practioners who weigh the novelty and also the impediment of a patent to world progress.
As those who've written patents already know, they are not even decent scientific or technical documentation. They're mostly a bunch of jargon and phrases meant to tic off legal checkboxes. No one would ever write a document that way if the sole purpose was to explain something.
The story from last year was that Apple's price for IMG acquisition weren't high enough, and Apple asked if they could buy ONLY the graphics portion. Which resulted in a NO from IMG.
Compared to ARM, some estimate Apple is paying $10M for the ISA and roughly $0.1 for each Ax SoC. So that is ~30M per year, ( There will be other cost for processor other then Ax, such as the Motion Processor etc ) Compared to paying roughly $80M USD for the Graphics alone, which Apple doesn't even use their design, nor their services ( Software Drivers ) they provide. So what likely happen was Apple wanted to pay far less, ( $20M? ), but their New CEO wanted them to pay for more.
My guess is that in the end Img will relent and license whatever Apple wanted for a price. If not, I am not sure how Apple will deal with old games that wont work with their new GPU which does support PVRTC.
Perhaps ARM would license their GPU patents to Apple and provide some IP protection.
Apple could also license patents from AMD. They don't compete directly.
It's high time to reform the corrupted and broken patent system. Yes, I know, like having non-corrupted politicians, this is not going to happen.
In fact it is the major reason GPU vendors give for not having an open source driver. I have spoken to the CTO (Jem Davies) of ARM about the GPU drivers and open sourcing them more than once. And every time I've gotten the reply: "No, we can't, it opens us up to IP infringement suits."
Full disclosure: I used to work in the ARM GPU division.