DNN is already broken out to a distinct data access layer which does allow anyone to swap out the default data providers (aka MSSQL) and replace it with whatever data provider they create (VistaDB, Oracle, MySQL, Firebird, etc)...
As Sebastian pointed out, you don't need the source code for a module in order to convert it to Firebird, etc... If the module is written correctly (which most of them are), then chances are that you'll be able to create the data provider for the module without the source (I've personally done this myself for over a dozen module - KMod, Articles, etc to name a few)...
The effort required to create a new data provider is dependent (IMHO) on
a) the # of users out there who will use it - 1, 2 or even 10 does NOT constitute a reasonable # of users.
b) the # of people who will spend their time and effort to keep it up to date.
Since DNN is constantly evovling, unless you have the manpower or skills to keep track of the changes and make sure you implement them in your dataprovider (which in itself is NOT a trivial effort), it quickly becomes outdated (a good example is the MySQL provider)...
As some others have pointed out, there is an Express (aka free ) version of MSSQL that might be an option for some of you, while for others, you might be able to create the data provider for Firebird, VistaDB etc but just realize that it's not something easy or trivial... - I will throw this in that you do NOT need to modify ANYTHING in the core in order to get your custom data provider to work (at least as of version 4.8.4). The core has done a terrific job thus far of ensuring that the data access layers are abstracted correctly and all you should have to do is swap out the web.config entries...
Sanjay