we do not yet have a platform-independent toolkit.
So you need to code at least a small portion speficially for each OS.
Of course you can address the device on HID level directly in Linux, too. But then you are not device independent. By using 3Dconnexion's driver (and SDK) you make your application work with all our supported devices and not just the one you have now (SpacePilot). Thus we do not recommend this. (And I am sure the workload is higher.)