Самые первые компьютеры программировались таким образом. Но так как почти каждой программе нужно выполнять те же основные операции, этот метод провел бы к обширному дублированию усилий разработчиков.
Нет ничего более тупого для хакеров, чем дублирование усилий. Первая и наиболее важная умственная привычка, которую люди вырабатывают в себе, когда они узнают как писать компьютерные программы, это стремление обобщать, обобщать, обобщать. Чтобы делать их код настолько модульным и гибким, насколько это вообще возможно, большие проблемы разбиваются на небольшие процедуры, которые могут многократно использоваться в других контекстах. Следовательно, разработка операционных систем, несмотря на свою техническую необязательность, была неизбежной. Поскольку по сути своей, операционная система не что иное, как библиотека, содержащая наиболее часто используюемый код, написанный один раз (и надо надеяться написанный хорошо) и далее доступный для каждого разработчика, которому оно надо.
Таким макаром, частная, закрытая, секретная операционная система является противоречием. Она идет вразрез с самой идеей операционной системы. И в любом случае невозможно сделать ее секретной. Исходный код, как строки текста подлинника, написанного программистами — может содержаться в секрете. Но ОС в целом является набором небольших подпрограмм, которые выполняет очень специфические, очень четко определенные виды работ. Естественно эти подпрограммы должны быть опубликованы, явно и точно, иначе ОС полностью бесполезна для программистов; они не смогут использовать те подпрограммы, если не получат полного и четкого понимания, какого дьявола эти подпрограммы делают.
Единственная вещь, которая не публикуется — как именно подпрограммы делают то, что они делают. Но как только вы узнаете, что процедура делает, обычно совсем легко (если вы — хакер) написать вашу собственную рутинку, которая делает ровно то же самое. Это может занять время, и это скучная и неблагодарная работа, но в большинстве случаев не трудная.
Что трудно в хакерстве, как в сочинительстве, это не писанина сама по себе, а решить, что в натуре должно быт написано. И поставщики коммерческих «Осей» уже решили, и опубликовали свои решения.
Это в основном было понятно давно. MS-DOS дублировалась функционально конкурирующим продуктом, написанным заново, названным ProDOS, который делал все те же вещи совершенно таким же образом. Другими словами, другая компания смогла написать код, который делал ровно то же самое, что и MS-DOS, и получала за это прибыль. Если вы используете операционнуую систему Linux, вы можете получить свободную программу Wine которая является эмулятором Windows; то есть, вы можете открыть окошко в вашей настольной системе, в котором выполняются программы «Окон». Это означает, что полностью функциональная ОС Windows воссоздана в Unix, подобно модели корабля в бутылке. И сама Unix, которая является значительно более навороченной, чем MS-DOS, была воссоздана заново много раз. Ее версии продают компании Sun, Hewlett-Packard, AT&T, Silicon Graphics, IBM, и другие.
Иными словами, народ переписывал основной код операционной системы так долго, что вся технология, которая составляет «операционную систему» в традиционном (доГИПовом) значение этой фразы, теперь так дешева и настолько обобщена, что буквально свободна. Гейтс и Аллен не только могли бы не продавать MS-DOS сегодня, они могли даже не пускать ее в оборот, поскольку более мощные «оси» давно доступны. Даже исходники «Окошек» (тех, которые были единственными «Окошками» до 1995) перестали стоить что-либо, не имеет смысла вообще владеть чем-то, что может эмулироваться в Linux, которая сама по себе свободна.
Таким образом продажа операционных систем совсем не то, что продажа автомобилей. Даже старый рыдван чего-то да стоит. Вы можете использовать его, пока не развалится, или разобрать на запчасти. |