Respondendo a sua pergunta real:
Pode usar o Firebird, é bem bacana, e REALMENTE gratuito.
Pode também usar o PostgreSQL, que também é REALMENTE livre.
Tem também o HSQLDB, que pode inclusive ser embutido na sua aplicação
Com relação ao MySQL, você vai ter de pagar a licença dele pra este caso. Me lembro que alguns anos atrás procurei o pessoal da MySQL AB e não era cara. Na realidade, acho que era uma porcentagem em cima do lucro e mesmo isto era negociável.
Tem de por o pé no chão com relação a isto, o que rola é o seguinte: quando você começa a desenvolver sua aplicação, acaba usando uma ou outra especificidade do banco de dados destino. E a tal independência do SQL acaba indo por terra. Sendo assim, é importante saber fazer a sua escolha. Optando pela licença paga, você não precisa fornecer código fonte algum. Caso contrário, vai ter de se adequar à licença GPL mesmo.
Outro ponto a pensar: vale à pena pagar a licença? Resposta: MUITO pelas seguintes razões:
- O suporte que você irá receber é fantástico (os caras vivem disto)
- Você vai estar ajudando a crescer quem está te ajudando a fazer dinheiro (é justo)
Li um comentário aqui dizendo que se você programa usando determinadas IDEs você precisa abrir código fonte. Bobagem: não precisa, porque você não está embutindo o código fonte da IDE no seu projeto, está apenas usando o editor e, em teoria, poderia ter o mesmo resultado usando o bloco de notas, por exemplo.
E outra: não há como provar que seu código foi escrito no Netbeans, no Eclipse ou no Idea.