Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Больше того, Жизнь «изобретает» способы, ускоряющие процесс создания различных модификаций, ярчайший пример – появление двух полов. Благодаря постоянной рекомбинации (перекомбинированию) генетического материала каждый индивид даже одного вида становится уникален.
Представьте на минуту горе-человечество, размножающееся почкованием, где каждый человек несёт один и тот же набор генов и обладает одним и тем же набором форм иммунного ответа (защитных реакций). Такое человечество крайне нестабильно. Довольно быстро появится вирус (например), который истребит всех. К счастью, все люди разные, и человечество в целом продолжает здравствовать и по сей день.
Подобная ситуация наблюдается и в любой другой эволюционирующей системе большого числа элементов. Эволюция общественного строя, эволюция инструментов труда, эволюция языков (в том числе и языков программирования), эволюция системы частиц газа в вашей комнате – все они ведут к увеличению числа возможностей реализации системы, то есть к увеличению энтропии. (В обществе всё больше различных «вакансий» для человека, инструменты труда предоставляют всё больше возможностей для достижения целей, языки предлагают всё больше вариантов выражения мыслей...)
Но мы уже рискуем увлечься, вернёмся теперь в мир ПО.
Эволюция в мире ПО
В мире ПО царят те же самые законы, и эволюция неминуемо пойдёт по единственному возможному пути. ПО с закрытым исходным кодом, не допускающее модификацию, обречено, как и гипотетическое почкующееся человечество. Напротив, ПО с открытым кодом неминуемо восторжествует, так как каждая «пересобранная» из исходных кодов система уже является новой модификацией (не клоном, но новым индивидом того же вида), отличающейся от других возможно даже частью функциональных возможностей.
Акт заимствования фрагмента кода из другой системы в чём-то сродни актам создания новых комбинаций генетического материала и тоже повышает устойчивость всего информационного сообщества (конечно, не обходится и без ошибок, но «мутанты» не живут долго).
Представьте себе Интернет, на всех серверах
которого стоит один набор программ, скомпилированных одним компилятором с одним
набором параметров компиляции, установленных с одного диска одним касанием
клавиши Enter... Клоны, клоны, клоны... ни чем не отличающиеся друг от друга. В
конце концов, появится вирус, который воспользуется общей уязвимостью и
разрушит весь этот мир. Если же ядро ОС каждого сервера и программное
обеспечение хотя бы просто перекомпилированы, то атаки, направленные, скажем,
на переполнение буферов (наверное, наиболее опасные и эффективные атаки