tu revend du code java, tu dois payer pour ça.
quand tu achètes les licenses pour les tools java, tu as le droit de developper des softs avec, pour un usage au sein de ton entreprise par exemple.
revendre le produit de ton développement ce n'est pas la même chose, puisque dans le produit que tu vends (et qui devient propriétés de la personne qui l'achetes) tu revends aussi du code dont tu n'avais qu'une license d'utilisation, et non de revente.
l'exemple de Windows est typique, tu n'achètes jamais le logiciel, tu achètes le droit de l'utiliser, en aucun cas tu as le droits de le revendre dans un but commercial (à moins d'être officiellement revendeur et reconnu comme tel par MS).
Idem pour la licenses Java qui a permis à Google de développer Android.