The Future

Давним-давно, далеко-далекій галактиці…

Коли з’явилися перші персональні комп’ютери, я думаю, що мало хто міг припустити, яка їхня роль у початку третього тисячоліття! Мало хто думав, що Microsoft стане такою відомою компанією, як IBM в той час! А хто міг припустити зростання програмних продуктів з відкритим вихідним кодом? І те, що ці продукти будуть на рівних боротися з Microsoft за частку ринку? Можна було запропонувати, що в 2001 році IBM буде підтримувати розвиток Linux? Але і сьогодні, контури майбутнього аж ніяк не простіше, дуже вже швидко розвиваються технології. Передбачити, продукція, яких компаній буде використовуватися через 20 років, — дуже важко! Тим не менш, легко здогадатися, що Internet буде розвиватися. Ясно і те, що рідше сервера будуть працювати на комерційних операційних системах. У найближчі роки переважна більшість серверів буде працювати під управлінням операційних систем сімейства UNIX з відкритим вихідним кодом. Навіть недавні спроби Microsoft уявити Linux найлютішим ворогом інтелектуальної власності сприяло зростанню його популярності! Як би там не було, але програмні засоби з відкритим вихідним кодом впевнено відвойовують собі місце під сонцем.

Давайте зануримося трохи в минуле. Операційна система Unix народилася випадково. В середині 60-их років AT&T Laboratories спільно з іншими компаніями прикладала чимале зусилля для розробки нової операційної системи під назвою Multics. Її передбачалося використовувати для великих обчислювальних систем. Навесні 1969 року Bell Labs вийшла з проекту, і програмісти Computing Science Research Centry залишилися без обчислювальної середовища. До цього часу вони розробили свою файлову систему, яка згодом перетворилася в файлову систему UNIX. Перші версії UNIX були написані мовою асемблер. В 1973 році, UNIX була переписана на З — абсолютно новому мовою програмування, розробленому Рітчі. Створення мови програмування С та системи UNIX — дві найважливіші віхи в історії комп’ютерної індустрії. AT&T запропонувала UNIX у вигляді вихідних кодів урядовим установам і університетам за порівняно невелику плату. Ось так Unix потрапив у 80% університетів. Одна з перших організацій, які зайнялися впритул роботою над UNIX, стала група з Каліфорнійського університету в Берклі — Computer Systems Research Group. Цьому сприяв той факт, що в 1975 році Кен Томпсон заснував Bell Labs і перейшов у відділ комп’ютерних досліджень в Берклі. У роботі над розширенням системи йому активно допомагав студент-випускник Білл Джой. Каліфорнійські студенти і викладачі внесли значний внесок у систему UINX. Змінена і скоригована в університеті версія була випущена під назвою Berkeley Software Distribution, або BSD. В кінці 70-х років відбулася важлива подія: Міністерство оборони США оголосило, що її підрозділ Advaced Research Project Agency буде використовувати BSD. Так завдяки військовим UNIX став просуватися вперед по шляху вдосконалення. Велика частина коду BSD була доступна безкоштовно. У 1991 році BSD була портована на платформу Intel x86. Ця версія операційної системи була названа 386/BSD. А в Каліфорнійському університеті була утворена нова комерційна група, яка почала продавати комерційну версію BSD для платформи x86.

Однак часто залишається непоміченим той факт, що Linux — це не UNIX; це, радше, різновид UNIX. Так, ця система виконує ті ж функції, що і комерційні версії UNIX, але на відміну від них, вона цілком і повністю розроблена співтовариством її користувачів. Основні принципи цього проекту відображені в загальнодоступній ліцензії GPL, GNU General Public License, де сказано, що будь-код, створений за даною ліцензії, повинен бути безкоштовним і доступним усім бажаючим. Цей додаток поширюється і на комерційне програмне забезпечення, розроблене на базі відкритого коду. Головна ідея GPL така: програми придумані людьми і для людей, а значить, вони нікому не належать і не можуть використовуватися для отримання комерційної вигоди. Однак деякі компанії, користуючись відкритим, не хочуть дотримуватися умов GPL. На їхню думку, поширення розробленого ними вихідного коду рівносильно публікації комерційних секретів. програмного забезпечення з відкритим кодом протистоїть комерційне з закритим кодом, що постачається виключно у вигляді виконуваних програм. Звичайно, комерційні підприємства не в захваті від відсутності альтернативи, але загальнодоступна ліцензія, їх теж лякає, оскільки безкоштовне З асоціюється з ненадійним. Трохи інша розмова про *BSD (Berkeley Software Design) системах. BSD заснована на більш ліберальної ліцензії для відкритих програмних засобів, яка дозволяє застосовувати код, розроблений в Каліфорнійському університеті в Берклі, при розробці власних програм, не вимагаючи обов’язкової публікації знову розробленого коду. Ліцензія BSD більш дружелюбна до фахівців, які розробляють комерційне, ніж GPL. Ось чому Apple обрала ядро BSD в якості основи для своєї платформи NeXTSTEP, яка пізніше перетворилася в Mac OS X! Ось чому Microsoft вирішила систему FreeBSD операційній системі Linux, анонсувавши плани портування середовища програмування C# на платформу FreeBSD. Ліцензія BSD підтримує внесок безлічі користувачів і в теж час не створює комерційних перешкод компаніям, які вкладають кошти в розробку BSD-програм.

Природно, можна припустити, що Linux і FreeBSD є конкурентами. На думку користувачів, так воно і є. Одним з найбільш істотних розходжень між Linux і FreeBSD є методи їх просування. Систему FreeBSD практично не рекламують. А ось агресивна підтримка Linux не має аналогів у світі UNIX. В якійсь мірі в цьому є свій сенс: Linux — приклад «екстремальної» системи з відкритим ПЗ, а FreeBSD — компроміс між ентузіазмом і корпоративної рутиною. Резонанс, викликаний воістину всенародним внеском у Linux, сприяє популярності цієї операційної системи. Разом з тим безліч самодіяльних розробників створює біліше хаотичну платформу. FreeBSD — це більш традиційна система, тому навколо неї менше шуму, але в багатьох відношеннях вона більш потужна і більш передбачувана. Це правильний UNIX, з комерційним кодом, таким же стабільним, як і традиційні версії UNIX, від відомих виробників «заліза». З середини 80-их відбулися значні зміни. Влучена компонування системи; механізм захисту укріплений і вдосконалений. Воістину революційний набір портованих для FreeBSD виявився дуже успішним і був перенесений в NetBSD, OpenBSD і Mac OS Х; а модуль бінарної сумісності з Linux дає можливість запускати під FreeBSD програми для Linux. Що стосується відкритих операційних систем, то Linux в найближчому майбутньому, залишиться в центрі уваги. FreeBSD, тим не менш, теж просувається вперед — завдяки компаніям, що бажають вийти з тіні Microsoft. Досі вони не наважувалися перейти на Linux з-за жорсткої за вимогами ліцензії GPL, і заплутаності в дистрибутивах Linux. Інші системи, що випускаються за ліцензією BSD, теж мають свою нішу на ринку: OpenBSD сфокусована на тому, щоб залишатися самою безпечною операційною системою, а NetBSD функціонує практично на будь-яких апаратних засобах, навіть Sega Dreamcast.

Давайте розглянемо найбільш істотні залишилися чинники відмінності операційних систем Linux і FreeBSD. У FreeBSD тільки один дистрибутив, а у Linux з понад 100. FreeBSD буде однаково працювати на будь-якій платформі. У випадку з Linux це не так. У кожного дистрибутива Linux свій підхід. Наприклад, Slackware Linux використовує керуючі сценарії типу BSD. Debian Linux — керуючі сценарії V Sys, а Red Hat Linux не просто використовує сценарій V Sys, але ще і зберігає їх не там, де цього вимагає стандарт Sys V. Це вводить користувачів в оману, коли вони переходять з одного дистрибутива Linux на інший. FreeBSD є повноцінною операційною системою, підтримуваної основним складом; Linux — це лише ядро, підтримуване Лінусом Торвальдсом. Компанії, які займаються розповсюдженням Linux, комплектують свої дистрибутиви цілим рядом програм, спеціально розроблених для Linux. Оскільки кожен дистриб’ютор має власне думка щодо того. що повинно бути включено в дистрибутив, цілком можливо, що однією програми не опиниться в іншому дистрибутиві. Це часто викликає проблеми при модернізації Linux. Наприклад, можна оновити Linux і виявити, що необхідні ще деякі пакети. Оскільки FreeBSD є повноцінною системою, її модернізація здійснюється набагато легше. Оскільки в FreeBSD підтримується одне дерево вихідного коду, вона стабільніша Linux і більшою мірою відповідає виробничим цілям. Основний недолік FreeBSD, викликаним таким підходом, є те, що нововведення допускаються в систему повільніше, ніж в Linux.

Важко сказати, що чекає комп’ютерну індустрію через десять чи дванадцять років. Тим не менше, є всі підстави припускати, що FreeBSD буде з нами до тих пір, поки будуть розвиватися відкриті програмні засоби. І не виключено, що одного разу компроміс між відкритими і комерційними засобами, який втілює FreeBSD, стане єдиним можливим рішенням.

Давним-давно, далеко-далекій галактиці…

Стаття заснована на книгах і рецензіях
чудового технічного аналітика
та системного адміністратора — Майкла Ебена.