Журнал LinuxFormat - перейти на главную

LXF82:GIMP

Материал из Linuxformat
Перейти к: навигация, поиск

Есть много способов участвовать в разработке открытого проекта - например, помогать в написании документации или непосредственно создавать код. Почему бы не начать с Gimp? Майкл Дж. Хэммел проведет вас через весь процесс исправления ошибок, который он припас заранее...

GNU Image Manipulation Program – более известный как GIMP – дедушка настольных приложений в мире открытых программ. Он вступил в жизнь как Motif-приложение в 1995 г. и привел к созданию Gimp Toolkit (также известного как GTK) и рабочего стола Gnome.

Хотя существуют настольные приложения и постарше, чем Gimp, ни одно из них не привлекло столько новых пользователей в мир Open Source или так повлияло на настольные системы. Но даже и проекты-дедушки нуждаются в постоянной поддержке открытого сообщества: разработчиков, писателей, художников, журналистов и пользователей.

Содержание

Как помочь

Разработка Gimp – как и многих других открытых проектов – целиком зависит от информации от пользователей. Списки пожеланий и запросы на возможности посылаются через Bugzilla – это web-систе-ма, предназначенная для отслеживания статуса ошибок – и просматриваются командой разработчиков Gimp. Принятые пожелания, а также набор требуемых исправлений, перебираются в грядущий релиз. Пока разработчики вгрызаются в новые возможности, ошибки и изменения документации, пользователи тестируют выпущенные версии.

В конечном счете новый стабильный релиз становится доступным в виде исходных текстов. Поставщики Linux, такие, как Red Hat, Mandriva и Ubuntu, затем собирают новые версии и включают в свои дистрибутивы.

Разработка осуществляется двумя очень маленькими командами: основной командой и рядом участников. Основная команда фактически состоит всего из двух человек: Свена Ньюмена [Sven Neumann] и Митча Неттерера [Mitch Natterer]. Ньюмен де факто является лидером проекта, однако проект структурирован не жестко, поэтому важные решения часто принимаются только после серьезного изучения откликов остальных членов команды.

Активные участники – группа человек в 30, они работают над различными разделами проекта, включая исходный код, документацию и управление ресурсами типа репозитария CVS. Другие разработчики прошлого (включая автора этой статьи!) размещены на вкладке окна About.

Для помощи проекту вам не обязательно уметь кодировать, но вы должны быть хорошо знакомы с приложением Gimp с точки зрения конечного пользователя.

Ваша миссия

В этой статье мы продемонстрируем два лучших способа помочь проекту: охоту за ошибками и их исправление.

Охота за ошибками может быть случайной или целевой. Целевое тестирование ставит своей задачей изолировать проблему и описать ее более подробно – это особенно актуально для трудновоспроизводимых ошибок. Охотники за ошибками должны быть очень хорошо знакомы со стабильной версией Gimp, а целенаправленные охотники – уметь компилировать новые версии программы. Познакомьтесь также с Bugzilla, мы представим ее вам на стр. 50.

Что касается исправления ошибок, то ядро Gimp написано на С, но есть и много дополнительных модулей на различных языках скриптов: самые популярные – Perl, Python и Script-Fu (вариация Scheme). Вы должны быть знакомы с созданием заплаток; инструкции можно найти на странице http://www.gimp.org, но мы рассмотрим этот процесс более подробно на стр. 52.

Еще до начала...

Если вы собираетесь порыться в исходном коде, то прежде вам необходимо знать о нескольких инструментах.

CVS

Каждый участник Gimp знаком с CVS, программным обеспечением, которое управляет исходным кодом Gimp. Пользователи получают код из CVS, производят изменения, создают заплатку и отправляют ее команде разработчиков или участникам.

Bugzilla

Bugzilla – web-система, используемая для отслеживания изменений в проекте Gimp. Это могут быть сообщения об ошибках, запросы на новые возможности или изменения в документации. С первого раза Bugzilla немного ошеломляет, но команда Gimp усердно поработала, чтобы облегчить вхождение в свой мир. На странице Gimp вы найдете всю информацию об использовании Bugzilla для сообщений об ошибках и их поиске; а на странице разработчиков Gimp (см. врезку Ресурсы участника) содержатся более подробные указания для опытных пользователей Bugzilla, о том как отыскать уже имеющиеся сообщения.

C, Autoconf и другие инструменты

Исходный код ядра Gimp использует набор инструментов Autoconf (Autoconf, Automake, Libtool) для управления сборкой. Знание Autoconf желательно, но не обязательно. Зато важно умение программировать на С – оно требуется для работы с ядром Gimp и многими модулями. Для некоторых модулей необходимо знать Perl, Python и Script-Fu, но для работы с кодом ядра эти языки не потребуются. Пригодится знакомство с текстовым редактором и такими инструментами, как Cscope, Strace, GDB. Надо также вникнуть в стиль программирования Gimp (снова, см. врезку Ресурсы участника).

Не программист?

Прежде чем начать охоту за ошибками, кратко опишем другие способы помочь проекту Gimp.

Первый – поддержка пользователей. Команда разработчиков проводит большую часть своего свободного времени за работой над исходным кодом, поэтому у них мало времени на ответы новичкам. Достаточно освоившись с программой, вы можете обеспечивать поддержку конечных пользователей посредством списков рассы-лок, web-страниц и чатов.

Такая помощь очень важна: ваша поддержка – видимая часть проекта, обращенная к публике. Поэтому обязательно надо полностью понимать, как пользоваться программой, и вежливо реагировать даже на самую жесткую критику.

Также очень ценны переводы и документация. В переводе нуждается как документация, так и интерфейс программы. Это прекрасная возможность помочь проекту: работа над большей частью документации требует лишь знания какого-либо текстового редактора, а работа над web-сайта-ми – знания XML и формата DocBook.

Опытные программисты могут попробовать задуматься о расширении ключевых возможностей. Общеизвестный пример – поддержка 16-битовых цветовых каналов. Потребность в ней назрела давно, однако ее реализация потребовала неожиданно большого объема работ. В итоге запланирован пересмотр исходного кода Gimp: он будет использовать код вспомогательного проекта под названием GEGL (см. врезку внизу).

В какой форме ни выразится ваше участие, Gimp представляет собой отличный старт, и мы надеемся, что опыт этой захватывающей работы послужит вам хорошей наградой. Прежде чем нырнуть в исходный код, взгляните на врезку Ресурсы участника, расположенную вверху. Если мы вдохновили вас на поиск и исправление ошибок, можете начинать – просто переверните страничку!

Персональные инструменты
купить
подписаться
Яндекс.Метрика