Карта сайта Хакер в RSS Энциклопедия Хакера PDA версия сайта Почтовые рассылки Хакера    Хакер в Twitter
Журналы Новости Форум Видео Life Xakep Live (блоги)
Bugtrack Статьи Блог Поиск English
$1000 на Android: зарабатываем на приложениях для мобильной платформы от Google $1000 НА ANDROID: ЗАРАБАТЫВАЕМ НА ПРИЛОЖЕНИЯХ ДЛЯ МОБИЛЬНОЙ ПЛАТФОРМЫ ОТ GOOGLE
27.07.2010

Пара вечеров экспериментов и неожиданно удачная идея позволили за 2 месяца заработать более $1000. Это гораздо больше, чем я мог ожидать...
Фабрика сплоитов ФАБРИКА СПЛОИТОВ
26.07.2010

Откуда берутся сплоиты? Задумывался ли ты, каким образом тусклая новость из багтрака превращается в реально работающую отмычку...

Вселенная UNIX. Эту историю должен знать каждый!

Xakep, номер #049, стр. 049-078-1


TanaT (TanaT@hotmail.ru)

UNIX – это целый мир. Как и во всяком другом, в нем царит разнообразие – десятки различных лицензий, дистрибутивов и версий. UNIX – это лабиринт. Разобраться в хитросплетении программного обеспечения и операционных систем сложнее, чем найти верный курс посреди океана. Благо морякам помогают навигационные приборы и карты, а юниксоид может рассчитывать только на себя. И на одноименную рубрику. Сегодня мы научимся ориентироваться в различных лицензиях и дистрибутивах, узнаем, откуда взялось все это многообразие, и зачем оно нужно.

Взгляд в прошлое

История UNIX началась в 1969 году с работы Кена Томпсона и Денниса Ритчи на позабытом всеми компьютере PDP-7. Тогда была разработана первая версия ОС UNIX. Она называлась Multics. Этот экспериментальный проект открыл новые перспективы развития в области разработки ОС. Он был своего рода мамонтом – древним и неповоротливым. Поэтому Multics быстро погиб. Уже через год после его создания все те же два сотрудника AT&T Bell Laboratories целенаправленно приступили к разработке новой ОС. Так появилась первая нормальная UNIX.

Но время не стояло на месте – уже через три года судьба преподнесла подарок новорожденной. Денис Ритчи переписал ее на языке С, который он сам и придумал. С этого времени UNIX могла работать на компьютерах различной архитектуры. Первое время она использовалась только внутри Bell Labs, но довольно быстро вышла за ее рамки. Благодаря стабильности, переносимости и открытому коду, UNIX почти сразу стала весьма популярной.

GPL vs. BSD

Начнем мы с самого главного – лицензии. Когда ты покупаешь CD с какой-нибудь ОС и пытаешься ее проинсталлировать, то первое же диалоговое окно будет содержать лицензионное соглашение. Эта ситуация характерна для любого ПО. Ибо лицензия - это документ, регулирующий взаимоотношения между разработчиками и пользователями. Он регламентирует все их права и обязанности. Лицензия – своего рода аналог обычного закона, где государство заменено производителем, а граждане - пользователями. Когда впервые появился UNIX, его основной идеей была переносимость. В то время существовало великое множество всевозможных архитектур, и новая ОС начала быстро распространяться, стала своего рода стандартом. Но добиться переносимости можно лишь одним путем – открытым исходным кодом. Получается, что основной козырь UNIX был бы невозможен без такого привычного для нас open source. Все было бы идеально, если бы UNIX не стал коммерческим продуктом и не имел сторонних разработчиков. Благодаря его открытости, любой программист мог написать свои утилиты под него. Но тогда он должен был предъявить исходники своих новых программ. В таком случае другой человек мог делать с чужими творениями все, что захочет, и выдавать за свое, а первоначальный создатель от этого никак не мог защититься. То есть открытость исходного кода явилась палкой о двух концах: она выгодна пользователям, но не выгодна разработчикам и в то же время является основным козырем UNIX. Таким образом возникла потребность ограничить потребителей и защитить разработчиков. Ведь если этого не сделать, программисты просто перестанут развивать ОС в целом, и все снова вернется к первобытному компьютерному строю. Но вакцина нашлась – ею явилась лицензия. Первой появилась лицензия GPL (General Pubic License). Точнее будет сказать, что GPL - это не сама лицензия, а целый их вид. Итак, она стала определенным стандартом, объявив следующие принципы: все программы должны поставляться с исходными кодами, все изменения к любым программам также должны распространяться с исходным кодом, каждая программа должна содержать информацию об ее разработчиках. На самом деле принципов и положений в самой лицензии намного больше, но разбирать их все не имеет смысла. Таким образом GPL защитила разработчиков ПО от пользователей и модификации кода. Наиболее известной лицензией этого типа является GNU GPL. Под ней распространяются такие ОС, как LINUX, и такое ПО, как GCC (GNU C++ COMPILER). Однако в современном мире нет ничего идеального. Появившаяся лицензия устраивала далеко не всех, что привело к возникновению еще одного типа лицензий. Он не имеет определенного названия, поэтому мы его будем именовать BSD (так как это самый яркий его представитель). Хотя в этих лицензиях очень много общего, кое-чем они все же отличаются. Основное различие состоит в следующем: лицензия BSD (Berkeley Software Distribution) позволяет модифицировать программу (это легко сделать, имея ее исходник) и распространять свое новшество без предоставления исходного кода. Можно сказать, что GPL по сравнению с BSD - более строгая лицензия (ведь она обязывает предоставлять исходники всегда и везде, то есть ограничивает свободу). Следует отметить, что BSD в силу своей мягкости породила огромное число других лицензий, которые являются почти полными ее копиями с незначительными изменениями. В частности к BSD-типу можно отнести: X10, X11/XFree86, FreeBSD…

Содержание  Вперед на стр. 049-078-2





Предыдущие номера


    Rambler's Top100