Grazie per aver risposto!
1) Ovviamente la libreria che ho usato è di terzi, ma è LGPL, non dovrebbero esserci problemi dunque...
2) alla fine dovrei fare il modello unico se guadagno più di 2000 e rotti euro l'anno, io ovviamente prendo molto meno di quella cifra per fare il programma
3) Non vorrei usare protezioni di terzi, obbligherei l'utente ad installare un programma di cui non ne ha bisogno. Avevo pensato anche io a quello che intendi tu (in particolare con il seriale di windows), ma così dovrei farmi dare prima il seriale dal cliente, inserire codice di controllo nelle mie classi java per effettuare il controllo vero e proprio della chiave a runtime e poi dargli le classi. Mi sembra macchinoso, volevo usare qualche altro metodo per evitare di farmi dare il seriale di win o hd prima di dargli le classi...