Рекламные объявления

cURL 27 лет. История создания и его автора.

Сегодня исполняется 27 лет с момента создания cURL — это инструмент командной строки на основе библиотеки libcurl для передачи данных с сервера и на сервер при помощи различных протоколов, в том числе HTTP, HTTPS, FTP, FTPS, IMAP, IMAPS, POP3, POP3S, SMTP и SMTPS. Он очень популярен в сфере автоматизации и скриптов благодаря широкому диапазону функций и поддерживаемых протоколов.

Немного истории

  • Создателем cURL является Даниэль Стенберг, который создал данный инструмент в 1998 году и поддерживает его до сих пор. По сути, Стенберг — человек одной программы. Очень мало что известно о других его проектах или юношеских разработках.
  • Как и многие сверстники, Даниэль познакомился с компьютерами в средней школе, когда в середине 80-х другу купили Commodore 64. Ребята покупали много компьютерных журналов, по которым учились программировать. В те времена код программ (например, игр) печатали прямо в журнале. Несколько страниц кода, который нужно было вручную и без ошибок ввести в компьютер, а потом запустить.
  • В 1985 году парень разжился собственным компьютером и начал программировать как маньяк, изучил ассемблер и присоединился к демосцене. В общем, это пример ещё одного талантливого программиста-самоучки, который полностью погрузился в свою страсть, не имея формального образования. После службы в шведской армии в 1991 году молодой человек решил не поступать в колледж, а нашёл первую работу, связанную с обслуживанием компьютерной техники в IBM (конфигурация мейнфреймов перед отправкой заказчикам). Там он познакомился и хорошо изучил Unix и экосистему опенсорсных инструментов. А в свободное время начал программировать… что и делает до сих пор.
  • Даниэль готовил к поставке для клиентов мейнфреймы и магнитные ленты. Но стало понятно, что весь софт с магнитных лент можно скопировать, скомпилировать, посмотреть, как он работает, и изменить на своё усмотрение. Это была концепция «свободного кода» (термин «опенсорс» появился позже).
  • После 1993 года все официальные работы Даниэля были связаны непосредственно с программированием, а знания консольных утилит пригодились в дальнейшем. Это были как раз годы бурного распространения интернета среди энтузиастов, годы первых BBS и т. д. Тогда же формировалось сообщество энтузиастов опенсорса.
  • В 1996 году Даниэль Стенберг нашёл бразильского коллегу Рафаэля Сагула, который написал консольную утилиту HttpGet (простенькая программка в 100 строчек кода). Даниэль взял её как вспомогательный инструмент к IRC-боту для автоматического расчёта курсов конвертации валют (шведские кроны в доллары). Курсы нужно было скачивать из интернета. Дальнейшим развитием программы он уже занимался самостоятельно. С каждой версией утилита расширяла функциональность: сначала появилась поддержка HTTP-прокси, потом протокола Gopher и FTP и так далее. В 1997 году она переименовалась в urlget, а 20 марта 1998 года впервые вышла версия под названием curl, сокращение от «client URL». Размер программы к тому времени вырос аж до 2200 строк кода. По итогу curl превратился в мощный универсальный инструмент, позволяющий взаимодействовать по множеству различных протоколов с синтаксисом URL.
  • Сам Стенберг считает это не своей особой заслугой, а скорее выигрышем в лотерею. Но его дальнейшая четвертьвековая приверженность проекту и общему делу опенсорса всё-таки заслуживает уважения. Если посмотреть статистику, за всю историю Даниэлю принадлежит примерно 56% из общего числа коммитов, так что его роль по-прежнему важна, тем более в последние несколько лет эта роль стала его основной оплачиваемой работой. Есть ещё несколько официальных спонсоров.
  • Конечно, всё это делается и в рамках стандартной опенсорсной разработки, но если компания желает заплатить деньги мейнтейнерам, то это только приветствуется. Сейчас сайт curl.se обслуживает 17 ТБ трафика в месяц, выполняя более 470 млн запросов, а официальный образ для Docker был запрошен более четырёх миллиардов раз.