Normalerweise kann der Autor eines Werks es unter mehr als einer der von Ihnen genannten Open Source-Lizenzen lizenzieren (sogenannte Doppellizenzierung). Es scheint jedoch ein Problem damit zu geben, wenn Sie dies unter der referenzierten ACM-Redaktionsrichtlinie tun, die besagt, dass Sie verpflichtet wären, das Urheberrecht an veröffentlichten "Algorithmen" zu übertragen:
Autoren urheberrechtlich geschützter Algorithmen (oder deren Arbeitgeber) müssen das Urheberrecht nach Annahme des Algorithmus zur Veröffentlichung gemäß der ACM-Richtlinie auf ACM übertragen, um das Urheberrecht an von ACM veröffentlichtem Material zu besitzen.
In der Richtlinie (und der ACM-Software- und Urheberrechts- und Lizenzvereinbarung) heißt es weiter, dass sie "den Autoren das Recht einräumt, ihr Material wiederzuverwenden, und auch die liberale Erlaubnis zur Wiederverwendung der zugehörigen Software für nichtkommerzielle Zwecke erteilt". Diese Beschränkung auf nichtkommerzielle Zwecke würde dann verhindern, dass der Autor (IMHO, IANAL) unter den in Ihrer Frage genannten Open Source-Lizenzen erneut lizenziert, da diese keine Unterscheidung zwischen kommerzieller und nichtkommerzieller Nutzung zulassen.
Eine mögliche Lösung finden Sie in der ausführlichen Diskussion der ACM-Urheberrechtsrichtlinie :
In besonderen Fällen, in denen ein Autor oder der Arbeitgeber des Autors das Urheberrecht behalten muss oder wenn ACM einem bestimmten Werk keine Imprimatur verleihen möchte, kann ACM eine Freigabe des Eigentümers akzeptieren, die ACM die Erlaubnis erteilt, das Werk zu veröffentlichen.
Ich habe keine Ahnung, wie oft solche Ausnahmen zur Veröffentlichung gewährt werden könnten. Wenn ich versuchen würde, eine solche Ausnahme zu suchen, würde ich wahrscheinlich argumentieren, dass ich die Software bereits unter einer dieser Open-Source-Lizenzen lizenziert habe und dass das ACM stattdessen das Urheberrecht an den durch Veröffentlichung des Artikels erstellten abgeleiteten Werken haben könnte.
Ich habe IANAL erwähnt (ich bin kein Anwalt)?