Свою первую программу - игру "Звездные войны" - я написал для программируемого калькулятора HP67, причем чужого. Машинка принадлежала моему другу Эду Гарасси.

Наша совместная работа больше походила на сражение. Эд всегда предлагал что-то, по моим понятиям, неосуществимое. Мы спорили до хрипоты, потом надолго замолкали, и я все-таки делал по-своему. В результате появилась на удивление сложная игра, в которую мы сами же играли с азартом.

Однако хватит воспоминаний. Недавно я долго беседовал с президентом O'Reilly & Associates Тимом О'Рейли. Мало-помалу от Web-серверов мы перешли к бесплатному программному обеспечению. Тим убежден, что именно здесь рождается масса новых идей, хотя пресса почему-то игнорирует их, уделяя внимание менее значимым, но более коммерческим разработкам.

Когда Microsoft заявила, что посредством созданного ею Internet Server API Web-приложения можно будет писать быстрее, чем при помощи CGI, пресса с энтузиазмом подхватила новость, подробно осветив каждый этап борьбы API Microsoft и Netscape. Тем временем программисты, не связанные маркетинговыми обязательствами, создали FastCGI.

FastCGI - это малоизвестный набор CGI-библиотек, позволяющий не перезагружать программы, написанные средствами обычного CGI. Иными словами, FastCGI дает возможность повысить скорость их работы при сохранении совместимости с привычным API. Кроме того, FastCGI совместим с тремя наиболее популярными Web-серверами. (Более подробную информацию об этом продукте можно получить по адресу http://www.fastcgi.com.)

Что же это за Web-серверы? Около 45% всех узлов Internet работают под управлением Web-сервера Apache, распространяемого бесплатно. Затем идет Microsoft Internet Information Server (22%) и, наконец, с 10% - Netscape (данные Netcraft, http://www.netcraft.co.uk.survey). Теперь вспомните, когда в последний раз вы читали о каких-либо серьезных разработках для Apache?

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

Большая часть так называемого "бесплатного" ПО распространяется по открытой лицензии GNU или ее разновидности. Такая лицензия дает всем желающим право на модификацию исходного текста и последующую продажу получаемого продукта. При этом, однако, распространять последний обязательно вместе с модифицированным исходным текстом.

На данном принципе основаны превосходные программные продукты, в частности Linux и Apache. При всей кажущейся неорганизованности этого процесса программы совершенствуются фантастическими темпами. (Hапример, средства коррекции ошибки F00F были выпущены для ОС Linux и FreeBSD буквально через пару дней после ее обнаружения.) Существует распространяемый по лицензии GNU рабочий стол для Windows 95 (KDE desktop, http://www.kde.org), где реализована большая часть функций Microsoft Active Desktop и IE 4.0.

Сама World Wide Web создана на основе бесплатного ПО. Таков, например, популярнейший язык CGI-скриптов Perl, разработанный Ларри Уоллом. Чтобы понять феномен, стоящий за разработкой бесплатного ПО, стоит прочитать его доклад на первой конференции по Perl (http://conference.perl.com/pub/talks/wall/keynote.html).

Тезисы Уолла зачастую спорны и вполне могут вызвать возражения. Лично мне очень понравились его богословские взгляды. Вас, возможно, заинтересует и его научный подход к творчеству, противоречащий, на первый взгляд, идеям богословия. Hа протяжение всего дальнейшего текста Уолл красноречиво рассказывает о том, сколь богатую пищу для творчества может дать столкновение культур и философий. Hе будь тех яростных споров с Эдом Гарасси, я, возможно, и не смог бы понять всего этого. Hас с ним вдохновляли вовсе не деньги и не сроки сдачи проектов. Мы увлеклись самой возможностью отстаивать собственную точку зрения. Вероятно, это и есть секрет создания лучших программ. И я бы советовал использовать его чаще.


Hиколас Петрили - программист, консультант и главный редактор NC World, http://www.ncworldmag.com. Ему можно написать по адресу nicholas_petreley@infoworld.com.