Як Лінус Торвальдс зробив розробку ПЗ вільнішою
«Я роблю вільне ПЗ, тому що вважаю це єдиним правильним способом розробки»
Деякі вважають Лінуса Торвальдса, творця операційної системи Linux і репозиторія Git, просто везучою людиною. Комусь він, навпаки, здається цілеспрямованим ентузіастом своєї справи. Однак ніхто не буде сперечатися з тим, що завдяки винятковій обдарованості Торвальдса з'явилася операційна система, яка поширилася по всьому світу.
Більш того, принципово важливим для її творця було безкоштовне використання і вільне редагування вихідного коду ОС. Навколо Linux утворилася величезна opensource-спільнота, завдяки якій система розвивається і донині: постійно з'являються нові збірки і нові операційні системи на базі ядра Linux.
Умови поширення Linux були розроблені ще на початковій стадії. Linux поширюється вільно, при цьому не може бути виставлена на продаж. У разі якщо користувач вносив якісь зміни або поліпшення в систему, він повинен був зробити їх загальним надбанням у вигляді вихідників.
Лінус писав свою ОС, спираючись на безліч вільно поширюваних по інтернету інструментів. Найважливішим з них був компілятор GCC, авторські права якого були обумовлені в General Public License. Згодом, вся операційна система Linux була зареєстрована під ліцензією GPL.
Гра в Linux
Лінус Торвальдс не думав про славу, і взагалі не припускав, що історія з Linux так далеко зайде. Він захоплювався комп'ютерами і програмуванням зі шкільних років і продовжував займатися улюбленою справою, навчаючись в Університеті Гельсінкі. Він сам часто зазначає, що програмуванням потрібно займатися в задоволення. Тому точно так само, як у дитинстві, він просто «грав» у розробку Linux. Рухомий спочатку азартом, а пізніше позитивними відгуками, Торвальдс в один прекрасний момент виявив, що створив операційну систему.
Linux 0.01
«Ніхто насправді не створює прекрасний код з першого разу, за винятком мене, але я такий один».
Поступово «грати» в Linux разом з його творцем стали інші розробники. Розкривши всі карти і виклавши вихідці свого дітища у відкритий доступ, Торвальдс якоюсь мірою ризикував втратити статус провідного розробника в проекті. Однак він, судячи з усього, здогадувався, що його професійний рівень був значно вище більшості розробників. Крім того, далеко не всі вміють працювати багато, якісно і при цьому безкоштовно. А у Лінуса Торвальдса якраз була така «унікальна» здатність.
А наступна цитата ілюструє термін «розвага» в уявленні Торвальдса:
Отже, більшість з вас, швидше за все, буде нестерпно маятися від нудьги в Різдво, і ось вам ідеальна розвага. Протестуйте 2.6.15-rc7. Всі магазини будуть закриті, і насправді не буде кращого заняття між поїданням їжі.
Загалом, до того, як Лінус одружився зі своєю студенткою, програмування було чи не єдиним заняттям, яким він займався між «поїданням їжі». Після одруження 1996 року Торвальдс влаштувався на роботу в каліфорнійський стартап Transmeta, який розробляв енергоефективні CPU. Але тим не менш, він залишався провідним розробником Linux і при цьому продовжував отримувати задоволення.
А в 2003 році він пішов з компанії, щоб цілком зосередитися на розробці своєї ОС. Відхід став можливим завдяки новоутвореній громадській організації The Linux Foundation (в той час вона називалася Open Source Development Labs), яка забезпечила Торвальдса медичною страховкою і зарплатою.
Нечайдушний успіх
Спільнота Linux перетворилася на якийсь саморегулівний організм, яким ніхто не керував централізовано. Відповідно, не було ніякого сенсу влаштовувати боротьбу за владу в проекті. Втім, Торвальдсу все-таки приписують неформальне лідерство. Згідно з відомою цитатою, керувати програмістами - все одно що пащі стадо кішок. Можливо, Лінус зміг знайти баланс між загальним напрямком розвитку проекту і одночасно не став заважати розробникам гуляти самим по собі. Тим більше, що в рамках даного проекту, будь-який учасник може вести власну розробку на базі ядра Linux, нікому не заважаючи.
Можна також згадати, що подібне притягує подібне: будучи адекватним і самокритичним професіоналом без завищеного ЧСВ, Торвальдс природним чином «притягнув» до себе тих, хто володів схожими якостями. У якийсь момент Linux став найуспішнішим opensource-проектом. А як відомо, команда найчастіше досягає серйозних успіхів, коли її учасники дивляться приблизно в одному напрямку.
Подібні результати не могли залишити байдужими комерційних виробників операційних систем... і просто заздрісних людей, що залишилися осторонь. Однак Лінус Торвальдс не прагнув перейти їм дорогу або змусити когось заздрити. ОС Linux почала поширюватися за межами спільноти тому, що була дійсно якісним продуктом. Особливо широкі можливості відкрилися перед нею, коли навесні 1992 року хакер Орест Збровскі успішно адаптував X Window для Linux. Таким чином, у Linux з'явився графічний інтерфейс.
Git
Крім розробки операційних систем, Торвальдса мало що цікавило. Хоча ця тема включає в себе безліч аспектів, якими можна займатися все життя. Найбільш нудними напрямками Лінус вважав розробку систем контролю версій і роботу з базами даних. Однак, за іронією долі, в 2005 році він був змушений створити свою систему управління вихідним кодом.
У 2005 році Торвальдс випустив реліз Linux 2.6.12-rc2 і заявив, що не продовжить розробку операційної системи, поки не буде заміни репозитарію BitKeeper, яким спільнота Linux користувалася до 2005 року. Від BitKeeper довелося відмовитися в силу розбіжностей з її розробниками з питань його безкоштовного використання в opensource-розробці. А інші системи управління вихідним кодом Торальдсу категорично не подобалися.
«В результаті, я вирішив, що сам за два тижні зможу написати щось краще, і не помилився».
Торвальдс створив розподілену систему управління вихідним кодом Git за два тижні. Він не раз говорив, що терпіти не може централізовані репозиторії за типом SVN. При створенні Git Лінус чітко уявляв, що йому потрібно: децентралізація, можливість незалежної офлайн-розробки, зручність і надійність при гілюванні та злитті. Більш того, він створював систему управління вихідним кодом спеціально для потреб розробників ядра Linux.
Але Git була уготована «велика» доля, чого Торвальдс, знову ж таки, ніяк не очікував. Репозиторій став популярним за межами Linux-спільноти. Git використовували розробники таких продуктів, як KVM, Qt, Drupal, Puppet, Wine.
Гік з характером
На хвилі популярності Git Лінус навіть виступив з доповіддю в Google 2007 року. Ознайомившись з доповіддю, можна зробити висновок, що Торвальдс ставився до себе і ситуації, що склалася, з достатньою часткою іронії і самокритики:
Я повинен трохи застерегти вас, що я не дуже хороший оратор, частково тому, що я не люблю виступати, а частково тому, що за останні кілька років все тільки і хотіли від мене доповідей про туманне майбутнє Лінукса в наступному столітті, а я - взагалі гік і вважаю за краще говорити про технології.
Ще в дитинстві Лінус Торвальдс був сором'язливою і маловідомою людиною. У школі він вважався типовим «ботаніком», що цілком відповідало його зовнішності (щуплий і низькорослий) і захопленням. Він вважав себе «негарним» - в тому числі, через великий нос.
У юності він продовжував страждати від усіляких комплексів, пов'язаних із соціалізацією. Правда, страждав він виключно у вільний від програмування час - тобто, досить рідко.
Його невдачі в соціумі з лишком компенсувалися успіхами в комп'ютерних науках, де Торвальдс отримував задоволення від власної «всемогутності». Але подібні протиріччя характерні для видатних людей і з віком компенсуються. В даному випадку, можна простежити, який відбиток це наклало на його манеру спілкування.
Ви можете не погоджуватися зі мною скільки хочете, але протягом цієї доповіді всі, хто не згоден зі мною, за визначенням - тупі виродки. Пам'ятайте про це! Ви будете вільні робити і думати все що захочете, коли я закінчу доповідь. А зараз я розповідаю свою єдино правильну думку, так що користувачі CVS, якщо ви дійсно його так любите, підіть з очей моїх геть. Вам треба звернутися в психушку або кудись ще.
Та тема, в якій Торвальдс відчуває себе впевнено, стає полем для імпровізації, самоіронії, кокетства та інших форм загравання з публікою.
Я запустив проект, розробив архітектуру і початковий код, протягом останніх півтора років його підтримує набагато більш славний хлопець, японець Junio Hamano, і саме він зробив Git більш доступним для простих смертних. Ранні версії Git дійсно вимагали деяку кількість «ментальних пунктів» мозгосіли. Відтоді він став набагато простішим.
Загалом, це мій звичайний підхід - всі інші роблять все можливе, а я сам можу просто сидіти і потягувати П Коладу.
Не чужі Лінусу Торвальдсу і такі якості, як відверта прямота, що межує з демонстративною непристойністю. Це ілюструє історія співпраці з компанією NVidia в 2012 році.
Одна зі студенток вишу попросила творця Linux прокоментувати відносини opensource-спільноти з одним з найбільших у світі розробників графічних прискорювачів і процесорів - NVidia.
Лінус Торвальдс заявив, що NVidia є однією з найгірших компаній, з якими йому доводилося мати справу. За його словами, представники NVidia абсолютно не мають бажання співпрацювати зі спільнотою розробників Linux і продовжує тримати закритим код своїх графічних драйверів для Linux.
Завершуючи свою відповідь, Лінус Торвальдс підсумував вищесказане щодо NVidia, зробив непристойний жест рукою на камеру і заявив: «NVidia, fuck you!»
Цінності, які відстоював (можливо, часом надто демонстративно) Лінус Торвальдс, змінили уявлення про те, яким може бути opensource-спільнота. Його приклад надихнув, та й зараз продовжує надихати, «на подвиги» інших розробників.
20 квітня 2012 року Лінус Торвальдс (разом з японським медиком Синьою Яманакою) став лауреатом премії «Технологія тисячоліття» (Фінляндія).
У 2014 році Лінус Торвальдс отримав нагороду Computer Pioneer від організації IEEE Computer Society.