Статья только в электронной версии журнала

Статья только в электронной версии журнала

Энтони Гонсалвес, Питер Коффи

Корпорация IBM присоединяется к триумфальному наступлению сторонников бесплатного распространения исходных текстов программ, открыв код своего Java-компилятора

Корпорация IBM (Армонк, шт. Нью-Йорк) присоединилась в начале декабря к ширящимся рядам разработчиков, распространяющих свои программы в исходных текстах. Представители IBM на прошедшей в Нью-Йорке выставке Java Business Expo объявили о том, что генератор Java байт-кода Jikes переводится на систему бесплатного распространения в исходных текстах.

Jikes - уже второй продукт корпорации, переведенный на модель “open source”. Первым стал синтаксический анализатор XML Parser for Java.

Руководство IBM решило прибегнуть к этой модели, стяжавшей заслуженную славу с успехом ОС Linux и Web-севера Apache, чтобы подтолкнуть внешнюю активность в области разработки приложений для платформы Java, которая считается крайне важной для выживания многих технологий этой корпорации.

“Мы идем по пути стимуляции развития рынков приложений для платформ, основанных на открытых стандартах. Нынешние усилия на данном направлении в будущем позволят каждому разработчику предлагать на эти рынки свои коммерческие продукты”, - пояснил старший менеджер IBM по технологии Java в Хауторне (шт. Нью-Йорк) Джим Расселл.

“Ясно, что деньги являются конечной целью всех усилий IBM, как и любой другой коммерческой организации, - продолжил Расселл. - Однако, в определенных случаях в стратегической перспективе оказывается выгодно перевести технологию из режима внутренней разработки в режим распространения в исходных текстах”.

IBM не планирует требовать платы за пользование исходными текстами этого компилятора от конечных пользователей, но каждому разработчику, решившему задействовать Jikes или его компоненты в своих продуктах, придется получить специальное разрешение. Кроме того, по словам Расселла, модифицированные исходные тексты должны быть одобрены IBM прежде чем получат право называться относящимися к технологии Jikes.

Представители IBM утверждают, что Jikes более строго следит за частотой Java-кода, чем собственные компиляторы фирмы Sun Microsystems, с которыми он конкурирует. Jikes не только полностью совместим со спецификациями Java, но и выдает разработчику специальное уведомление на этапе компиляции, если тот значительно уклонился от них в своем произведении.

Исследовательские лаборатории IBM проявляли большую активность в связанных с Java разработках, однако, Расселл полностью отрицал всякую возможность того, что руководство IBM сочло контролируемый Sun процесс развития этой технологии слишком медлительным: “Мы смотрим на дело не с той позиции, что нам некогда дожидаться, пока Sun выполнит свою часть работы, но с той, что наши ученые могут многое сделать на благо сообщества Java”.

Получить комментарий по поводу этих заявлений от Sun (Пало-Альто, шт. Калифорния) нам не удалось.

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

“Мы стремимся избежать размывания понятия Java, подобно тому, как к аналогичной цели стремится и группа разработчиков Apache, - пояснил Расселл. - Все заинтересованы в использовании преимуществ модели распространения ПО в исходных текстах, но хотя также избежать проблемы фрагментации”.

Рассматриваемый шаг был предпринят руководством IBM на фоне все более быстрого роста симпатий ИТ-специалистов к ОС Linux и других продуктов, распространяемых в исходных текстах. Ряды коммерческих организаций, ставших на этот путь, включают корпорацию Netscape Communications (Маунтин-Вью, шт. Калифорния) с ее проектом Mozilla и фирму Novell (Прово, шт. Юта), планирующую открыть для разработчиков и пользователей некоторые компоненты ПО службы каталогов Novell Directory Services.

Что выделяет Jikes в ряду других компиляторов?

Обработка исходных текстов Java-приложений компилятором Jikes отличается от того, что делает компилятор Sun в двух отношениях:

- Обработка лишних знаков “;”. Программа может содержать лишние разделители “;”. что нередко является признаком низкого качества кода. Большинство компиляторов просто игнорирует их, а Jikes выдает разработчику предупреждение.

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