Мне кажется, достаточно умения разработчика контролировать результирующий исполняемый файл.
Например, он линкует свое ПО со статической библиотекой. Значит должен мочь пересобирать эту статическую библиотеку. Линкует с динамической - не обязательно уметь ее пересобирать, т.к. ее куски не копируются в результирующий исполняемый файл. Кладет динамическую библиотеку в состав своего ПО - должен мочь ее пересобрать, т.к. это компонент его ПО.
В Java похожая ситуация, там часто куски использованных "библиотек" попадают в результат сборки. Если товарищ разработчик ПО насосал из maven'a пачку блобов, куски которых попадают в его ПО, то он не контролирует результат должным образом, пусть задумается и научится пересобирать используемые библиотеки.
На проприетарных ОС реализовать умение контролировать бинарник полностью не получится, например, стандартная библиотека C++ будет линковаться статически, да и компилятор не является доверенным, такое стоит отнести к исключениям.
Например, он линкует свое ПО со статической библиотекой. Значит должен мочь пересобирать эту статическую библиотеку. Линкует с динамической - не обязательно уметь ее пересобирать, т.к. ее куски не копируются в результирующий исполняемый файл. Кладет динамическую библиотеку в состав своего ПО - должен мочь ее пересобрать, т.к. это компонент его ПО.
В Java похожая ситуация, там часто куски использованных "библиотек" попадают в результат сборки. Если товарищ разработчик ПО насосал из maven'a пачку блобов, куски которых попадают в его ПО, то он не контролирует результат должным образом, пусть задумается и научится пересобирать используемые библиотеки.
На проприетарных ОС реализовать умение контролировать бинарник полностью не получится, например, стандартная библиотека C++ будет линковаться статически, да и компилятор не является доверенным, такое стоит отнести к исключениям.