Настоящая угроза для свободы ПО - это N-уровневые виртуальные машины :-)
Раньше как софт развивался - делает какая-то коммерческая контора софтину, потом васян в гараже её реверсит, понимает как это работает, и пишет всё то же самое (но например на другом языке программирования) в опенсорц под лицензией GNU GPL. Что реверсить не нужно, где товар лицом типа рабочего стола Windows - копируем как есть, получаем кеды и гнумы.
Представьте джаву, поверх неё грааль, поверх неё какое-то мерзкое полиморфное говно, и так еще в несколько слоёв, слои могут проваливаться друг в друга. Код нижележащего слоя изменяется со временем (со временем в секундах, или в операциях, или в эффектах, итп), но каждый раз означает примерно одно и то же относительно результирующей составной виртуалки. (Грубо говоря, изначальное 4, можно с деоптимизацией записать и как 2+2, и как 1+3, для неточных и вероятностных операций мы можем получать разные результаты). Плюс часть кода произвольным образом перебрасывается в облако (экономически невыгодно перебрасывать всё). Ну и всё это обмазано криптографией, толстенным таким слоем, который падает исключительно маслом вниз (на сессию токен, на операцию токен, на таблицу вызовов токен, всё это под онлайн авторизацию, код такой же полиморфный, итп)
Неприятность для другой стороны баррикады в том, что нужно для каждого такого уровня наслоения говна писать свой дизассемблер, свой отладчик, плюс рассмотреть все fullstack проблемы и сочетания уровней между собой. Само написание отладчика становится алгоритмически сложно, и выполнение этой сложности ложится на деньги создателя отладчика. Наверняка Microsoft/IBM/etc не будут таким заниматься, значит отладчики нового времени будут писаться всем миром - опенсорцем и краудсорсингом.
+ предположение: сейчас люди спят и видят, когда системные программисты исчезнут благодаря высокоуровневым языкам и «ИИ которые сами будут писать программы». Но хотя бы для войны, описанной выше, для всех сторон баррикады, нужно будет еще больше системных программистов =)