Недавно, читая перед сном книжку Льва Новоженова "Антология сатиры и
юмора России XX века", которую я накануне отъезда купил в Харькове,
наткнулся на забавный авторский афоризм "Щедрость определяется не тем,
сколько человек дал, а сколько у него после этого осталось". Наверное,
именно поэтому деньгами я поддерживаю исключительно близких
родственников. Но как оказалось недавно, существуют люди, могущие
запросто предложить финансовую помощь небольшим проектам из разряда
свободного ПО, совершенно бескорыстно, от чистой души и только потому,
что им очень понравилась программа. Разумеется, с финансами у них при
этом должно быть получше.
Как известно, кроме глубокого удовлетворения и некоторого
"политического" капитала, разработка свободного ПО среднему программисту
особенно ничего не дает. Но бывают и исключения, когда можно отмутить
что-то более материальное. Если бы я писал это для старой доброй
телепередачи "Спасение 911", то начал бы описание так: "Это был обычный
рабочий день и ничто не предвещало.." :) Да, таки преспокойно я сидел
себе на работе, и тут мне в аську постучали.. На том конце был кто-то,
интересующийся такой редко запрашиваемой возможностью сервиса ICQ, как
random chat - поиск случайных партнеров для.. не поверите, просто чтобы
потрепаться. Есть такая вещь в клиенте под Windows, но я даже никогда ей
не пользовался. Моего собеседника интересовало, можно ли ожидать такую
вкусность в centericq. Я сказал, что вероятно когда-нибудь и появится,
но среди основных задач на сегодняшний день такого нет. Libicq2000 пока
такого не поддерживает, а самому разбираться и писать нет времени. Тем
не менее, я услышал много слов благодарности за продукт. Также было
сказано, что кроме благодарности вербальной, может без проблем еще быть
предложена и благодарность материальная, так как программа очень
понравилась. Одним из моих жизненных принципов является простое правило
"дают - бери". Именно таким образом в домашнем компьютере, который я
использую для всяческих разработок как, впрочем, и для написания заметок
и статей, у меня в 20 раз увеличился винчестер. Был 6Gb, стал 120Gb,
благодаря некоторому финансовому участию Норберто Наварро из испанского
города Валенсия. Теоретически, теперь я могу написать гораздо больше
текста и кода ;) Кстати, Норберто, наряду со своим основным бизнесом в
области промышленной химии, занимается всяческими веб-проектами,
последний из которых можно найти по адресу
intercheat.com. Цель у проекта
благородная - сбор данных о непорядочных партнерских программах
(affiliate programs), дабы хозяева веб-сайтов не ходили по одним и тем
же вымощенным граблями путям.
Делаем вывод, что полезный труд "на благо общества" может обернуться
вполне материальными наградами. Тем более, что и трудишься-то прежде
всего для собственного удовольствия, реализуя то, чем пользуешься сам.
Хорошо, когда другие находят результаты твоих хобби полезными. Так что
здесь дело не в конкретной вещи, а скорее, в прецеденте. В прошлый раз
со мной происходила аналогичная ситуация, когда я еще учился в школе и
писал программу для BBS Tornado, которая очень долгое время
распространялась freeware. Тогда один парень из Германии тоже решил
поощрить мою деятельность и прислал денежку - 100$, по тем временам
довольно неплохую.
Ну и разумеется, по такому поводу объявилось вдохновение, которое
вылилось в довольно серьезное расширение возможностей C++ библиотеки
libicq2000, в написании которой я принимаю участие с Нового года. В
последний раз дополнением с моей стороны стала встроенная реализация
SMTP протокола для отправки SMS сообщений через e-mail шлюзы, адреса
которых сообщаются ICQ сервером. В этот раз библиотека пополнилась
долгожданнейшей из всех возможных фич - сохранением списка контактов на
сервере. Боже мой, как меня задолбал вопрос "когда будет реализовано
сохранение контактов на сервере?".. Будучи задан несколько десятков раз,
разными людьми и на трех языках, он действительно начинает нервировать.
В добавок к тому, что я терпеть не могу вопрос "когда" в данном
контексте. Господа, но у нас же открытые исходники, у нас свободное ПО,
да к тому же еще и любительское. То есть, оно не является основным
занятием автора, у которого есть еще и работа, отдых и все остальное.
Речи о планах-графиках, пятилетках и дедлайнах здесь идти просто не
может. Тем не менее, именно "когда" я слышал в большинстве случаев.
Тем не менее, фича уже работает и через несколько дней тестирования
будет новый релиз centericq. Да и обновиться можно хоть сейчас - лежит
тепленькая в CVS. Плюс к этому, я не мог обойти вниманием random chat,
который, кстати, не очень-то присутствует в других клиентах под Linux.
Теперь centericq может и это.
Несмотря на всю свою хитропопость, протокол ICQ чертовски интересен.
Всегда приятно поковыряться, что же там мирабилисы понаписывали, и какой
логикой обладает их сервер. Было бы здорово написать и open-source
сервер нового ICQ протокола, с возможностью подключения локальной
подсети, с опциональным выходном на внешнюю, и прочими вкусными фичами.
Но что-то пока в таком продукте я лично необходимости не испытываю,
поэтому едва ла в ближайшее время возьмусь за такое. Хотя, конечно,
задача интересная. Но я отвлекся. В интернете есть отличный
ресурс,
посвященный протоколу v8, где описаны почти все пакеты и структуры
данных оного. Меня иногда спрашивают из чего состоит протокол, и что
такое SNAC, FLAP и TLV. Всем любопытствующим - туда, однозначно.