Um es ganz genau auszudrücken:
Wenn du ein Programm vertreibst, dass in der Lage ist auf das MySQL RDBMS zuzugreifen, sprich da ist ein Treiber eingebaut, dann musst du die Lizenskosten zahlen. Auch wenn du sagst, dass du deine Anwendung nicht direkt auf MySQL auslegst und dem Kunden nur eine Empfehlung gibst MySQL einzusetzen, aber selbst damit nichts zu tun hast, musst du oder dein Kunde die Lizenskosten zahlen. Wenn du deine Anwendung über einen JDBC Treiber (Class 3) an ein anderes RDBMS bindest, wobei der Kunde ohne dein Zutun das DBMS gegen MySQL austauscht, muss dein Kunde die Lizenskosten tragen.
Ich habe mich einige Zeit damit beschäftig und muss sagen, die Rechtslage ist da eindeutig, und MySQL AB hat da keine Lücke offen gelassen.
Letztens habe ich noch stolz von jemandem in d/c/l/j gelesen, der meinte, dass er ja nur das Programm vertreibt und nicht das DBMS und der Kunde selbstständig MySQL installiert. Auch in diesem Fall ist die Rechtslage eindeutig. Dieser Mensch verkauft seine Software offensichtlich unter falschen Angaben, somit wäre der Kunde eigentlich im Recht sich von dem Vertrag zu lösen und der Programmierer hätte dann im Rechtstreit die Lizenskosten zu tragen. Ohne Rechtstreit würde MySQL vermutlich dem Kunden eine Rechnung schicken.