(c) KDV, www.ibase.ru
Иногда полезно сделать большой перерыв. Или ничего не делать. Читали "Основание" Азимова? Вот-вот. Некоторые вещи происходят сами собой, и лучше не суетиться, чтобы не ускорить или отдалить их.
В прошлом выпуске я приводил "новость" от Открытых Систем. Ее можно перефразировать и как "Компания Borland отказалась передать какой-то неизвестной компании не более известный сервер баз данных Interbase". Согласен, не все следят за компьютерной прессой или пресс-релизами компаний. Да и наша компьютерная пресса не совсем такая, как за рубежом. Может быть я не в курсе, но пока еще в русскоязычном интернете нет технологических новостных сайтов, публикующих "жареные" и скандальные новости вперемешку с обычными. Да и куда там технологическим новостям, если в нашей стране и так постоянно происходят какие-нибудь катаклизмы, совершенно не связанные ни с технологиями, ни с программным обеспечением.
Если раньше все было нормально, в том смысле что обычный покупатель
софта (легального или митинско-горбушкинского) видел - вот Borland, вот Interbase,
продажи идут, все нормально, то сейчас это не так. "IB бесплатный? Не может
быть! И что делать?" - вот самый частый вопрос последних месяцев. Хотя,
уверяю вас, не все еще знают что IB6 бесплатен.
Соответственно, к бесплатному продукту отношение другое. Кто то считает, что
таким вообще нельзя пользоваться. Другие вздохнули свободно, и предпочитают
или вообще ничего не платить, или заплатить за техподдержку. Кстати, большинство
компаний, которые готовы платить деньги, с большей охотой платят именно за техподдержку,
чем за продукт. Вполне понятно, почему.
Перефразируя известное выражение, можно сказать, что "программный продукт без истории - не продукт". Давайте пройдемся по событиям с самого начала.
Также обзор событий, изложенных ниже, можно прочитать в статье на www.technocrat.net.
17 декабря 1999 года трое менеджеров подразделения Interbase
(Paul Beach, Bill Karwin и ...) уволились. Фактически это означало остановку
работ над Interbase 6. К этому моменту уже почти была готова окончательная версия.
Причины увольнения - не сошлись во мнениях с директором Borland о дальнейшей
судьбе IB.
Сообщество пользователей в interbase@mers.com взорвалось. Тысячами (если не больше) в Borland отправлялись письма в поддержку IB. Borland сохранял молчание. (кстати, с начала 2000 года предполагалось закрыть interbase@mers.com. Но после этих событий было решено его оставить. До сих пор этот листсервер является самым основным источником знаний для разработчиков).
3 января 2000 года появляется сообщение о выпуске IB 6 в OpenSource. Кроме объявления больше ничего не происходит. Версии 5.x остаются платными (с теми же ценами и по настоящий момент).
4 января 2000 публикуется интервью с CEO Borland Дэйлом Фуллером в LinuxJournal о будущем IB 6.
Где-то в это время формируется Interbase Developers Initiative (IBDI), и организуется сайт www.interbase2000.org. Инициатор этого движения - Helen Borrie.
14 февраля 2000 года. Borland объявляет о создании новой компании (ISC), которая будет заниматься сопровождением OpenSource Interbase. Во главе компании должны встать Ann Harrison (одна из основателей Interbase) и Paul Beach. Часть разработчиков IB переходит в эту компанию, часть остается в Borland (точная цифра неизвестна, но около 5-ти), часть увольняется вообще. Всего разработчиков было около 50-ти.
8 марта 2000 года выкладывается бета IB 6 for Linux (только binaries). (пресс-релиз ISC)
23 марта 2000 года выкладываются беты IB6 для Windows, Linux, Solaris. (пресс-релиз ISC)
28 июня 2000 года. Совместное обращение Харрисон и Фуллера к сообществу пользователей IB. Общий смысл - "Все хорошо, выпуск 6.0 задерживается, потерпите".
25 июля 2000 года объявляется о выходе релиза IB 6.0 Open Source, т.е. полностью с исходными текстами. В этот же день Borland объявляет об отказе от создания отдельной компании для сопровождения IB 6. И оставляет себе права на исходные тексты
В этот момент та группа, которая занималась сопровождением IB и ведением сайта www.interbase.com, взаимно разрывает отношения с Borland. Сайт www.interbase.com перестает обновляться.
27 июля 2000 года. Соглашение с Cobalt Networks о распространении устройств Cobalt с предустановленным IB 5.6 (а не 6.0). Насколько мне известно, основным "двигателем" в заключении этого соглашения изначально был Paul Beach, который с декабря в Borland не работает.
17 августа 2000 года. Открывается сайт www.ibphoenix.com. Теперь здесь те, кто вел www.interbase.com.
23 августа 2000 года. Открытое письмо Ann Harrison пользователям Interbase.
31 августа 2000. Borland выпускает обновление дистрибутива IB 6.01. Реально там нового - IBConsole 315 и обновленная msvcrt.dll. Ничего больше не поменялось. Заметьте, что для такого элементарного исправления потребовался почти месяц. Хотя работающая версия IBConsole (309) появилась практически сразу после 25 июля, а о старом msvcrt.dll было известно еще со времен пре-релиза IB6.
8 сентября 2000. Открытое письмо пользователям Interbase от Borland. В письме говорится, что Borland будет дальше продолжать разработку Interbase. Будут выпускаться сертифицированные релизы (платные). Организовано 4 проекта на sourceforge.net - interbase, ibconsole, ibx и interclient. Готовится к выпуску документация, инструментарий для тестирования (ib-tests).
Кстати, инструментарий для тестирования Borland выложил практически под нажимом сообщества. Последовательность событий была именно такова - проект на sourceforge был создан только после того, как люди из interbase@mers.com написали множество писем в Borland с требованием опубликовать тестовую систему. Как говорится, инициатива утеряна.
Теперь еще раз перечитайте даты указанных выше событий. Практически можно сказать, что по отношению к релизу IB 6 за 10 месяцев ничего не изменилось.
Что же дальше? Вопрос непростой. Сейчас уже точно известно, что полгода (с января по июль) для разработки время было потеряно. После объявления IB OpenSource и отказа сотрудничать с ISC Borland опять замолчал. ISC бросила www.interbase.com, и переименовалась в www.ibphoenix.com, одновременно организовав проект firebird.
В общем даже такая "активность" - уже хорошо. С другой
стороны, фраза насчет того, что Borland несколько недель работал над хостингом
проектов на SourceForge и их лучшей организации, меня убила. Собственно, в эту
кучу попадает и проект FireBird на том же sourceforge.net, но в меньшей степени.
Так вот, никакого толку с этой "лучшей организации", кроме тупого
скачивания исходников cvs-ом, нет! На всех четырех "проектах" ни новостей,
ни релизов, ни путной документации - ни-че-го! "Позабыт, позаброшен..."
- именно такое впечатление создается.
Вывод - некому этим заниматься. Среди 8-ми участников проекта interbase в Borland
работают только 2 или 3. А впроекте firebird уже давно зарегистрировано 29 человек
(сколько из них бывших разработчиков Interbase я не знаю). К проекту interbase
за 233 дня было всего 821 обращение, а к проекту firebird - около 9-ти тысяч
(!) за 46 дней!
Когда в сообществе пользователей началось обсуждение плюсов и минусов, которые дает OpenSource, то основные опасения были в том, что возникнет две версии IB от разных компаний (или больше). Сейчас эти опасения полностью подтверждаются. Например, Borland до сих пор считает релиз IB6 не сертифицированным (т.е. не оттестированным), и не предоставляет технической поддержки. У IBPhoenix по крайней мере цены на техподдержку определены уже давно. Обе компании намерены выпускать сертифицированные билды, которые будут поставляться за деньги.
Таким образом, в силу неповоротливости Borland компания IBPhoenix просто вынуждена выпускать собственную версию, что уже и делается - на sourceforge.net/projects/firebird доступна бета инсталлятора Firebird. Кроме того, Харрисон обещает в новой версии сделать несколько косметических изменений, включая SELECT TOP и другие вещи, которые не требуют больших затрат на реализацию и будут с удовольствием приняты пользователями IB. Не объявляется, но видно по исходникам, что в Firebird добавляется условная компиляция для новых операционных систем (например NetBSD).
Для большей убедительности сказанного приведу даты создания проектов:
firebird
- 30 июля
interbase - 2 февраля,
хотя файлы были залиты только 3 месяца назад. С тех пор они и не менялись.
ibx и ibconsole
- 3 августа. Обновления крайне редки.
ib-tests - 5 сентября.
До сих пор нет даже project description.
Совсем недавно открылся community.borland.com/interbase.
Статьи с названием Almanac можете не читать - они никакого отношения к IB не
имеют, и вообще пока никаких статей по IB там нет. Удивляет и надпись "Welcome
to Interbase Community!". Community, т.е. сообщество пользователей, совсем
не здесь. Оно на interbase@mers.com, www.interbase2000.org, www.ibphoenix.com,
и на www.ibase.ru.
Также появился и www.borland.com/devsupport/interbase.
Но там все только по 5.6, а про 6.0 ни слова. white papers и faq - сплошное
старье.
А насколько успешным будет развитие IBPhoenix? Скорее всего это зависит от того, будут ли пользователи платить им за техподдержку. От нас (российских пользователей) это вряд ли зависит, т.к. цены там по нашим меркам запредельные. Другой плюс - Анна Харрисон. Ее имени вполне достаточно, чтобы пользователи предпочли IBPhoenix всему остальному.
Кстати, вы не поверите, но лицензии для IB 5.6 покупают до сих
пор. Причем мы раз по десять предупреждаем покупателей, что версия 6.0 бесплатна.
Очевидно, расчет здесь простой, как и в случае многих других программ (например
Office 2000 или Windows 2000) - пусть выйдет 6.1 или 6.2, тогда посмотрим. А
пока - работать надо! А за это время будут наработаны документы, инструментарий
и т.п.
Чтож, подход вполне прагматичный. Хотя уже достаточно много компаний (и российские
в том числе) перешли на 6.0. Некоторые даже работают на 6.0 со времен выхода
пре-релиза. И возвращаться на 5.6 или переходить на другой SQL-сервер не собираются.
Ситуация с исходниками Interbase повторяется и для IBConsole.
Исторически сложилось так, что разработкой IBConsole и IBX после упомянутых
выше событий стал заниматься один человек - Jeff Overcash. Все бы ничего, поскольку
версии IBX и IBConsole выходили достаточно периодично, но в последнее время
ситуация резко ухудшилась. Начну с того, что не смотря на то, что оба проекта
находятся на sourceforge.net, обновляются они весьма необычно - сначала Jeff
правит исходники, затем отправляет их в CVS Borland, и только после этого дает
"команду" на выкладывание их на sourceforge.net другому человеку.
"Благодаря" такой схеме исходники IBX на sourceforge.net "застряли".
Другие разработчики фактически не могут подключиться нормально к работе над
новыми версиями, потому что Jeff объединяет изменения вручную! Т.е. новый вариант
исходных текстов надо прислать ему, он оттуда возьмет новое, и поместит в новый
билд.
С 320-ой версии IBConsole началось вообще странное. Над исходниками
этой версии в основном работали 2 человека - Jeff и Сергей Гаврильев (именно
он ввел в IBConsole возможность выбора charset при коннекте). Далее, для 321
версии, я предложил Сергею изменить поведение IBConsole на более логичное для
работы с несколькими окнами Interactive SQL. Результат оказался очень удачным.
Но Jeff, вместо того чтобы принять эти изменения, выкинул их, одновременно удалив
указание charset и добавив массу багов.
Поскольку дальше так продолжаться не могло, Сергей предложил отказаться от сотрудничества
с Jeff, и выпускать собственный вариант IBConsole. Кстати, в новой версии уже
практически доделана цветовая подстветка синтаксиса. (вариант IBConsole (см.
321a) от Сергея Гаврильева признан основным
для www.ibase.ru).
А оригинальная версия IBConsole находится здесь. Для скачивания нужен логин на community.borland.com.
История ODBC для IB 6 тоже весьма оригинальна. Когда Borland еще хотел создать ISC как компанию для сопровождения IB 6, "отец" Interbase James Starkey решил написать ODBC драйвер. Да не простой, а базирующися на библиотеках классов C++ с интерфейсами аналогичными JDBC. И все это в исходниках.
Однако, предполагалось что Borland будет оплачивать эту работу. А пока работу
оплачивало еще официально не созданная ISC. Когда Borland отказался от создания
ISC и порвал отношения с ее будущими сотрудниками, Starkey решил вообще прикрыть
этот ODBC, убрав из публичного доступа его исходники.
Согласитесь, решение тяжелое, но мне кажется, по другому Starkey поступить не
мог. В противном случае Borland получил бы ODBC-драйвер "на халяву".
Таким образом, при выкладывании исходников IB6 получилось, что ODBC драйвер
отсутствует. Надо заметить, что Borland до сих пор так и не собирается создать
свой ODBC-драйвер или купить его у другой компании.
В это время сотрудник компании EasySoft
(которая в основном занимается ODBC-драйверами и подобными вещами) Nick Gorman
решил самостоятельно, в свободное от основной работы время, написать ODBC для
IB6.
В сумме у него на это ушел месяц - полтора. Как результат - 4 октября выпущен
полноценный драйвер,
и не только для Windows
но и для Linux.
Однако драйвер является платным (если я правильно понял лицензию,
это $100 за использование на любом компьютере предприятия).
Еще один драйвер создан Алексеем Карякиным. Драйвер тоже не бесплатный, но пока ценовая схема не определена - возможно, это будет shareware.
А что же с драйвером от Starkey? При существующей ситуации бесплатным он быть не может.
Чуть не забыл про старые драйвера, которые шли с IB 5.5 и 5.6. Они делались компанией Visigenic (ныне куплена Merant), и за их сопровождение Borland должен был платить около 100 тысяч долларов в год. Но потом Фуллер отказался платить деньги Merant, и соответственно, Merant прекратил развитие своего ODBC-драйвера. Собственно, Merant делал драйвер именно для Borland, поэтому даже старого драйвера нет в списке серверов DataDirect и SequeLink.
Пока все. Возможно, я зарядил вас некоей долей пессимизма. Поверьте, он есть, но оптимизма больше. Даже после объявления IB в OpenSource и столь длительного "ничегонеделанья" появилось несколько платных (!) инструментов для разработчиков. Раз это делается, то спрос есть. И не только на платные инструменты для IB, но и на бесплатный IB. Исходники IB доступны, они пусть медленно, но обновляются. И Borland и IBPhoenix потихоньку обустраивают "окружение" на web (и sourceforge.net). Все будет нормально, плохое уже позади!
p.s. кстати, совсем скоро Epsylon Technologies объявит цены на платную техподдержку по IB (5.x и 6.x). И с оплатой сертифицированных билдов тоже что-нибудь придумаем.