The biggest reason NVIDIA began providing GPL-licensed kernel modules is that its driver architecture evolved to the point where Linux integration, distribution, and maintenance could be greatly simplified while keeping the GPU's critical intellectual property in firmware and user-space components.
To be precise, NVIDIA did not open-source its entire driver stack. The components that became open are primarily the following Linux kernel modules:
nvidia.ko
nvidia-drm.ko
nvidia-uvm.ko









