Hacker News new | ask | show | jobs
by jordskott 3368 days ago
Open sourcing commercial products like hardware architecture and algorithms to the public is not exactly an easy thing to do.

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.

1 comments

Why has open source been so successful on the CPU then? Branch prediction, say, is no less a patent minefield than GPU framebuffer tiling. Yet gcc and LLVM have no trouble shopping optimizers.

This is an excuse, basically. They just don't want to because they fear revenue lost to compatible implementations.

Those are compilers. What open source CPU is there?
Uh... the GPU drivers we're talking about in this subthread are precisely "compilers" for the shader architecture (and configuration generators for the texture units and framebuffer layouts, etc...). In fact for architectures other than NVIDIA's the hardware-facing part of the linux driver already is open source.

The only secrets left are the bits responsible for turning OpenGL (or Vulkan now, I guess) calls into programs to run on the GPU.

Wouldn't it be fair to say that GPU architectures (at least thus far) tend to change a helluva faster than CPU ones?

I can think of AMD adopting and then ditching VLIW for one.

OpenSPARC T1 and T2 are open source and don't have out-of-order execution.
That's completely different, there is interest to expose your CPU architecture in order to help people write better compilers and better programs.

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.

And there is no interest in exposing your GPU architecture in order to help people write better compilers and programs?

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.