GrabDuck

Сказка про Skype, free-speech, Балмера и Столлмана

:

Стив Балмер вышел на сцену, достал ноутбук и привычным энтузиастским тоном начал: «Сегодня я вам представлю наш замечательный продукт — Skype, мы его недавно купили». Ему не впервой, он уже который раз представляет очередной продукт с горящими глазами и размахивая руками. «Начнём с названия. Skype — это короткое, запоминающееся слово, которое ничего не означает, поэтому его невозможно перепутать ни с чем другим. Маркетологи потратили целый год, чтоб подобрать нужную комбинацию букв, которая была бы наиболее приятна для уха. А дизайнеры старательно рисовали логотип, подбирая цвет каждого пиксела, чтобы он радовал глаз. Но самое главное — это, конечно, сама программа. Она красива и удобна, всё делает в пару кликов».

С этими словами Стив начинает устанавливать Skype. Обычный процесс установки. Какой язык? Английский. Вы согласны с лицензионным соглашением? Да. Вы согласны, что вся информация, переданная через скайп, в том числе голос, принадлежит Microsoft и может быть использована в любых целях, в том числе передана спецслужбам? Конечно, да. Стив заметно нервничает. Кажется, кто-то из зала успел прочитать эту строчку в соглашении. Ладно, идём дальше. А куда ставить? В C:\Program files\Skype, конечно.

«Посмотрите на этот чудный интерфейс! Эргономисты подбирали правильное расположение кнопочек, чтоб вашим пальцам хотелось на них нажать».

Выступление кончилось. Вышел Ричард Столлман. «А я хочу вам продемонстрировать свободный аналог Skype под названием free-speech! Это наш high priority project. Начну я тоже с названия. Это игра слов. Вообще я очень люблю игры слов. Например, GNU = GNU's Not UNIX. Но больше всего мне нравится Hurd = Hird of UNIX-Replacing Daemons, Hird = Hurd of Interfaces Representing Depth. И плевать, что трудно запомнить и понять. Это ж наш хакерский юмор. Так, что-то я отвлёкся. Вообще, я большой любитель поговорить. Особенно, если речь идёт о свободном ПО». Тут Ричард улыбнулся и почесал свою бороду.

«Свободное ПО не значит бесплатное. Оно свободно как свобода слова, а не как бесплатное пиво». Тут он снова улыбнулся, он любит подобные фразы. «Так вот, именно поэтому наша программа называется free-speech, то есть свобода слова. Название состоит из маленьких букв и содержит чёрточку вместо пробела, потому что так удобно, когда работаешь из командной строки. И плевать, что по этому поводу думают маркетологи». Тут он нервно покосился на Балмера, который сидел в зале и отрешённо слушал.

«У free-speech нет никакого логотипа. А зачем он нужен? Это тоже выдумки маркетологов. Как мы покажем логотип в нашей программе, если у неё текстовый интерфейс? Можно, конечно, украсить логотипом сайт программы, но что если пользователь смотрит его через lynx?»

«Итак, наша программа имеет текстовый интерфейс. Зачем нам этот глючный, тормознутый графический интерфейс? Текстовый интерфейс — это гибко, вы можете поставить нашу программу хоть на тостер. Консольные программы проще в разработке. Консоль — это универсальный интерфейс. Вы знаете, почему Windows глючный и тормознутый?» Тут Столлман снова посмотрел на Стива. «Потому что графический интерфейс слишком глубоко проник в Windows, даже в его ядро».

«Что ж, давайте посмотрим на free-speech». Он достал свой ноутбук Lemote Yeelong с экраном 9''. На экране показался его любимый gNewSense. Иксов там не было. Сразу после запуска запустился Emacs. Фактически, на его компьютере основной операционной системой был Emacs, а gNewSense функционировал как ядро. Столлман набрал (прямо в Emacs'е):

free-spech

Затем Столлман достал другой такой же ноутбук и набрал:

free-spech 192.168.0.2

«Проверка, раз, два, три». Его голос стал эхом раздаваться из обоих ноутбуков. Столлман прибил обе программы с помощью Ctrl-C. «Видите, работает!»

«Давайте теперь взглянем в исходный код. Вообще, это свободная программа, у неё есть 4 свободы: 0. Использовать, 1. Изучать и изменять, 2. Копировать, 3. Копировать изменённые версии». Он снова улыбнулся. «Ну а для этого нужно видеть исходный код. Вообще, возможность посмотреть исходный код гарантирует, что в программе нет всяких backdoor'ов, что никто не хранит вашу конфиденциальную информацию без спроса». Тут он опять очень пристально посмотрел на Баллмера. «Проприетарные программы — абсолютное зло! Они могут делать с вашими данными всё, что захотят! Они могут передать их спецслужбам!» Тут он не выдержал, сел и начал есть какой-то мусор со своих ног, словно протестуя против засилия проприетарных программ. Все в шоке, а тем временем Столлман рассказывал дальше, одновременно продолжая свою странную трапезу: «Итак, смотрим код».

#!/bin/sh

set -e

if nc -h 2>&1 | grep -q OpenBSD; then
	OPTS="-l" # netcat-openbsd
else
	OPTS="-l -p" # netcat-traditional
fi

if [ $# = 0 ]; then
	while :; do
		arecord | nc $OPTS 5555 | aplay || :
	done
else
	arecord | nc "$1" 5555 | aplay
fi

«Посмотрите, какой замечательный код! Это ж просто жемчужина программирования! А всё благодаря текстовому интерфейсу и мощным возможностям командного интерпретатора. Обратите внимание, как сжато удалось записать код: всего 17 строк! А что Skype? Да это огроменная программа! С тысячами строк, если не миллионами. Этот никому не нужный графический интерфейс, с кнопочками, свистелками и перделками».

Тут Столлман наконец закончил кушать что-то со своих ног и ушёл со сцены.


Я не ставил целью никого обидеть. Просто написал весёлую сказку, высмеивающую разные взгляды. И вообще, хоть большую часть сказки я издевался над Столлманом по полной программе, я к нему отлично отношусь.

Теперь немного фактов, затронутых в тексте:

1. Выступление Балмера — это отсылка к его рекламе разных виндоусов, например, Windows 1.0 или Windows XP
2. Да, Microsoft действительно недавно купила Skype
3. Название Skype означает «Sky Peer-to-Peer». Источник: en.wikipedia.org/wiki/Skype
4. В лицензионном соглашении Skype написано, что они могут передавать сообщения в чате (про звонки не сказано) спецслужбам: www.skype.com/intl/ru/legal/privacy/general
5. GNU Hurd — это ядро операционной системы GNU
6. Столлман действительно использует Lemote Yeelong, gNewSense и Emacs и обычно использует текстовый интерфейс. Но, конечно, Emacs не является операционной системой. И иксы у Столлмана есть. Источник: интервью Столлмана richard.stallman.usesthis.com
7. Столлман ничего не имеет против графического интерфейса. Те места, где он сравнивает графический и текстовый интерфейс, наверное, самые слабые в моей сказке, т. к. не имеют к Столлману никакого отношения. Это обобщённый образ фанатика GNU/Linux'а.
8. «Сел и начал есть какой-то мусор со своих ног» — отсылка к этому видео: www.youtube.com/watch?v=I25UeVXrEHQ (1:50)
9. Написание замены Skype'у действительно является high priority project'ом FSF. Причём называется этот проект Free Call o_O (точнее, как я понял, он называется Telephony, а ПО для построения децентрализованной сети в рамках этого проекта — Free Call)

Ну а теперь самое интересное: что за код приведён в сказке? Что ж, никакой программы под названием free-speech нет (хотя мало ли, может быть программа с таким же названием где-нибудь да и лежит в интернете среди тысяч маленьких свободных проектов). Этот код написал я, он действительно работает, он предельно прост и демонстрирует всю мощь шелла, хотя он совершенно неудобен в использовании и нефункционален.