вторник, 5 октября 2021 г.

Дистрибутив Linux, он умеет сам себя пересобирать

Дистрибутив Linux, он умеет сам себя пересобирать, то есть может сначала собрать компилятор, а потом этим компилятором собрать ПО. Но подобное требовать от разработчиков проприетарного ПО нереально.
Мне кажется, достаточно умения разработчика контролировать результирующий исполняемый файл.


Например, он линкует свое ПО со статической библиотекой. Значит должен мочь пересобирать эту статическую библиотеку. Линкует с динамической - не обязательно уметь ее пересобирать, т.к. ее куски не копируются в результирующий исполняемый файл. Кладет динамическую библиотеку в состав своего ПО - должен мочь ее пересобрать, т.к. это компонент его ПО.

В Java похожая ситуация, там часто куски использованных "библиотек" попадают в результат сборки. Если товарищ разработчик ПО насосал из maven'a пачку блобов, куски которых попадают в его ПО, то он не контролирует результат должным образом, пусть задумается и научится пересобирать используемые библиотеки.


На проприетарных ОС реализовать умение контролировать бинарник полностью не получится, например, стандартная библиотека C++ будет линковаться статически, да и компилятор не является доверенным, такое стоит отнести к исключениям.

Сочи официальный сайт