RE: "And if one day, MySQL or Ingres people explicitly ask for being removed from DbLinq support, again then fine, but it's probably never going to happen."
Agreed it is never going to happen. However they will go after the distributor of your library because any use of DbLinq is effectively under the GPL (and not the BSD/MIT). You can license your code any way you want to, as long as you only distribute source, but there is no way that a programmer can use DbLinq in unmodified form without being subjected to the GPL, A user does NOT gain the MIT rights by using DbLinq: <quote from"http://www.mysql.com/about/legal/licensing/foss-exception/"> Distributors of commercial products that combine GPL-licensed MySQL software with commercially licensed software (i.e., software not licensed under a FOSS license) must comply with the terms of the GPL. This includes use and distribution of the GPL-licensed MySQL database server and MySQL Client Libraries. The FOSS License Exception does not apply with respect to products licensed under any license other than the FOSS licenses listed in the section above titled “FOSS License List.” </quote> the operative quote here is "This includes use" and DbLinq does in fact use the MySQL client libraries. The MIT label on DbLinq is more like "false advertising" but not "legally false" if that makes it more clear. RE: "Yet .NET *itself* is most certainly NOT GPL-compatible (unless you take the "system-supplied software" route, in which case you can ponder the equivalent Java case), yet you can load both .NET AND the MySQL data providers into the same address space (in fact, you must do so unless you use Mono)." First there is the question of who is calling who. .NET will work perfectly well without the MySQL provider loaded. We can therefore conclude that the MySQL provider is extending the .NET base libraries (not the other way around). This is legal because the .NET standard libraries are "System Libraries" and therefore an exception to the GPL requirements. DbLinq is explicitly designed to support MySQL (as a plug in) and therefore it calls and extends the MySQL provider, therefore DbLinq is a program designed to load a GPL licensed plug in and hence DbLinq must therefore in its current form be considered GPL (not MIT). Second there is the question of who is calling what. DbLinq is calling interfaces on the MySQL provider that will only work if it is in fact the MySQL Data Provider that is loaded, this is not necessarily a problem. You are allowed to do exactly this through the ODBC interfaces for example without being subjected to the GPL. However in this case DbLinq is not calling through ODBC but through loading of a specific GPL licensed component and this means distribution is not legal without licensing under GPL. RE: "That said, PostgreSQL would ~always be a wiser choice ;-)" Except for the few cases where Firebird is the wiser choice, but generally I agree. Finally the question of is it legal to redistribute an unmodified version of DbLinq if your application is not designed to work with MySQL or Ingres but will in fact only work with Oracle (or something not GPL). This is a gray-zone for sure, since it depends on how is the potential MySQL usage "disabled". Is it through "not tested with" or is the program actively disabling loading of MySQL and Ingres providers. The problem as I see it is that if your program "Might" work with MySQL you must be under the GPL. So again a lot of legal traps is set up for an unsuspecting programmer, so it is much better to remove the Ingres and MySQL support in DbLinq mainline and possibly create a fork that contains everything + MySQL and Ingres (you can call it GPLinq if you want to :-). This way there is no "false advertising" and everything is above board. Regards Jens --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "DbLinq" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/dblinq?hl=en -~----------~----~----~----~------~----~------~--~---
