As far as I can tell, if you want to expose SQL Server to an non-MS external process [...]
FTFY. When I (at home (sick today), on my oldish (2008 R2) SQL Server install here) fire up the Import/Export Wizard (from SSMS) for example, I see (source and) destination data sources of (from the bottom up) native client, OLE DB provider for a ton of things, Excel, Access, flat file, and then .NET Framework data providers for SQL Server, Oracle, and ODBC. If I select that last one, it wants what I recall ODBC needing, a DSN. No idea WTF an SPN is, but whatever exotic thing you're trying to connect to, I personally would look for an OLE DB provider for it.
Update: Holy crap MS is weird. Even tho OLE DB came out later than ODBC, and has better performance than ODBC, it looks from the Intertubes that MS is deprecating OLE DB, in favor of the older, slower ODBC. Well slap my ass and call me Sally. Maybe something to do with the cloud focus these days and wanting to be more cross-platform (as far as enabling orgs not running Windows to still be potential Azure customers).
Microsoft is Aligning with ODBC for Native Relational Data Access