I apologize for being offensive or immature, but responding to what FuturePilot said:
This is the kind of thinking that is hurting us as a community. I believe that instead we need to strive for what we believe in. We need to remind ourselves of what our goals are and what our principles are, and strive for them.
We need to fight against patents, binary blobs and educate hardware manufacturers to play nicely with the Linux community. If they won't cooperate, well, we have the choice not to buy from them and the choice to buy from hardware manufacturers that respect our freedom and our community. But make sure that when you are buying from a hardware vendor that respects you, you also explain the hardware vendor why you are not buying from them, so that they get educated.
Compromises like what FuturePilot is suggesting won't take us anywhere, but to a world of discontrol and pain where we (and the Linux developers) don't have the control of our computing anymore. This is not good.
Never surrender. YOU have the control of everything.
Agree, but if you want it your way, you need to take more marketshare.
You need to be more competitive in the desktop.
Linus himself has stated here "Why is Linux not competitive on the desktop front?":
Open drivers which only have a closed source client are not accepted into the kernel. No one can test them if the only client is not available.
Unless they go the way that was suggested on the mailing list, that is share the kernel module with nouveau, and replaces userspace-parts (i.e. the mesa DRI-part) with their closed-source blob.
That way the kernel module still have a open-source user-space client (nouveau), and the nvidia-parts only need to hook-up to that one instead of re-implement their own kernel module for i2c/hwmon/"DRI"/KMS.
Release FULL hardware documentation and specifications AND be willing to respond to Linux developers requests for anything in a timely manner way.
Invest resources and developers in FOSS components (Linux, Wayland, Nouveau, Mesa, X.Org, etc): I.e. BE PART OF THE LINUX COMMUNITY.
Help nouveau AND mesa developers to speed up development. (I.e. catch up in speed/performance with the blob and eventually surpass/exceed the blob in performance.)
Help development of Wayland and X.Org.
Help invalidate patents such as the ST3C one. So Mesa could be fixed and provide an out-of-the-box experience for users. (I.e. nothing to install after doing a clean install of a distro, so things like games and apps will "Just Work" for everyone).
Drop your fear. Challenge yourself and show the world how brave and great Nvidia is as a company.
If you do this not only Nvidia will get a great reputation, but with a great reputation great things will start happening for Nvidia. Also, not only the Linux world will be extremely thankful to Nvidia, but the Linux world will also help Nvidia to succeed even further. All parties will be benefited and win with this.
OpenGL Quad buffer support on Geforce cards. Therefore supporting 3D vision in Linux on Geforce.
Either basically do what we ask and need as users with the drivers or supply all the documentation required for the community to construct drivers that do what we need.
I really do not care about Tegra. I am not ever going to buy a device that has some kind of proprietary application platform around it. I am expected to re-buy a version of a game on Android if I have the THD (Tegra HD) version and I want the non tegra version or vice versa, this is rediculous. The point of OpenGL and open standards is that this should never happen.
The point about hardware is that we buy a specific piece of hardware because it is better than another piece of hardware or because it fits our price range better. Not because of "this manufacture produces better drivers than this one".
I do not think nVidia need to be contributing to the kernel from a desktop stand point unless they want to... if they contribute but their drivers are either not supported or closed then they still suck regardless. It's not a this good deed redeems this one. It is this is the thing you need to do (open source your drivers) and if you do not do it then we'll buy elsewhere. The Linux engineers should not be taking it personally at all, it is not their fault but the fault of the managers for being so close minded and stuck looking through Windows when the rest of us are walking out the door.
One way for NVIDIA to get their foot into the door could be to release documentation for some older cards first.
Let's say releasing documentation for the GeForce 6000 series to test the new grounds and how to collaborate with the community.
If this turns into a success - I'm perfectly positive on this - they can decide on how to proceed with the newer stuff.
This post is not about doing the best thing, it is about doing something.
First of all, the generally considered ideas:
1. Open up some documentation.
It doesn't have to be new, it doesn't have to be alot. It has to be a start.
2. Sponsor one or more of the Nouveau developers.
It doesn't have to be money, it doesn't have to be alot. It has to be a start.
Three ideas on the 'not getting sued' factor:
1. If opening up some software today is thought of as being too revealing about the hardware,
try thinking about why AMD and Intel doesn't seem to think so.
2. If opening up some software today is thought of as being too revealing about the hardware,
try thinking about if hardware in the future can be made in a way where this is not as likely.
3. A different approach, try reducing the risk of getting sued to begin with.
Maybe work with the Open Invention Network or establish something similar for graphics hardware.
Some variants could be thought of, such as limiting the scope to only include 5 years back,
or 10, or 15, or what it takes to make it feel like the sacrifice is smaller than the reward of
gaining something positive.
Some other approaches:
1. Sponsor some open graphics card project, just to be nice.
You know it will never be anything high end and will never compete.
Still it's just a nice thing to do.
2. Open up some patents for graphics hardware that would be nice to not have to steer away from
for an open graphics project, but at the same time is not exactly competitive for you any more.
3. Release a low end graphics card designed from the start to have an open driver.
If just one of these eight things were done, you would start growing in the eyes of atleast this Linux user.
So start atleast trying the water, you don't have to get in over your head just because you dip your toes.