21 ноября 1995 года студент Питер Маттис (Peter Mattis) объявил в трёх ньюс-группах Usenet о выпуске бета-версии свободного графического редактора GIMP (General Image Manipulation Program) с «интуитивным графическим интерфейсом для множества операций графического редактирования».
В 1997 году расшифровку аббревиатуры GIMP изменили на GNU Image Manipulation Program с целью соблюдения рекурсии.
Это была первая подобная программа под Linux. GIMP остаётся лучшим фоторедактором и спустя два десятилетия, даже в чём-то превосходя лидера на рынке проприетарного софта Adobe Photoshop.
GIMP создан в качестве дипломной работы двумя студентами Калифорнийского университета в Беркли: вышеупомянутым Питером Маттисом и Спенсером Кимбаллом (Spencer Kimball). Они работали над проектом с июня, то есть пять месяцев.
После публичного релиза программа бурно развивалась — её использовали как площадку для тестирования разных идей, поскольку GIMP уже в бета-версии поддерживал подключение плагинов. Таким образом, в огромном количестве появились плагины для обработки новых форматов файлов и применения эффектов.
В 2006-2012 годы разработчики сотрудничали с Питером Сиккингом (Peter Sikking) для формулировки сути проекта и улучшения интерфейса. В итоге, GUI стал гораздо более привычным для профессионалов, а различные инструменты — более мощными и простыми в использовании.
В последние несколько лет шла интенсивная работа по портированию GIMP на новый движок GEGL, говорят разработчики. Пришлось переписать заново или изменить практически весь исходный код. Сейчас работа близка к завершению.
Чтобы немного отпраздновать нынешний юбилей, разработчики выкатили апдейт GIMP 2.8.16 с несколькими улучшениями в поддержке файлов OpenRaster, PSD и системе автоматизации сборки под OS X и разнообразными улучшениями интерфейса.
Вскоре планируется выпустить нестабильные версии 2.9.x, где обкатают новый движок GEGL и многочисленные новые инструменты и функции. Это будет подготовка к выпуску GIMP 2.10 и самое значительное обновление за последние три года. Затем планируется закончить порт GTK+3 (он нужен, чтобы вернуть поддержку планшетов Wacom под Windows) и выпустить GIMP 3.0.
Кроме того, к юбилею обновлён интерфейс официального веб-сайта, появились пермалинки в новостях и RSS/Atom фиды. У сайта теперь резиновый дизайн и мобильная версия.
В общем, легендарный GIMP живёт и развивается, с чем любимую программу могут поздравить миллионы благодарных пользователей!
Комментарии (24)
amarao
23.11.2015 15:39+2Надо сказать, что на фоне остальных редакторов он с одной стороны выглядит как наиболее rich (с общими абстрактными универсальными примитивами), а с другой — почти не развивается последние несколько лет. Я понимаю, что GEGL нужен для поддержки хорошего цвета (больше 8 бит на канал), но многие вещи в гимпе просто ужасны. Например, регуляция яркости и контрастности реализована очень примитивно и не очень полезно. То же касается регуляции каналов.
encyclopedist
23.11.2015 16:34+2Проблема в том, что гимп разрабатывают полтора человека. Буквально. 3/5 коммитов за последние 4 года сделаны одним человеком. На такой огромный проект, как вы понимаете, этого явно недостаточно. Поэтому чтобы Гимп не загнулся, надо активно помогать и призывать помогать других.
amarao
23.11.2015 17:01+1Ткнулся в сырцы:
gimp_paint_core_class_init (GimpPaintCoreClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->finalize = gimp_paint_core_finalize; object_class->set_property = gimp_paint_core_set_property; object_class->get_property = gimp_paint_core_get_property; klass->start = gimp_paint_core_real_start; klass->pre_paint = gimp_paint_core_real_pre_paint; klass->paint = gimp_paint_core_real_paint; klass->post_paint = gimp_paint_core_real_post_paint; klass->interpolate = gimp_paint_core_real_interpolate; klass->get_paint_buffer = gimp_paint_core_real_get_paint_buffer; klass->push_undo = gimp_paint_core_real_push_undo; g_object_class_install_property (object_class, PROP_UNDO_DESC, g_param_spec_string ("undo-desc", NULL, NULL, _("Paint"), GIMP_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); }
Это си. С самодельными классами. Почему мне больно это читать?encyclopedist
23.11.2015 17:05+5Это си. С самодельными классами.
— да, именно так. Это Glib/Gtk стиль, так исторически сложилось. В таком стиле весь GNOME написан.amarao
23.11.2015 18:09+1И после этого они удивляются, что трудно привлечь программистов интересной идеей? Вот такой вот код теребить?
fsmoke
23.11.2015 17:57+1Я конечно крестовик, но все же.., что Вас смутило в этом куске — вроде си как си. Ну классы — ну и что такого-то, я подобный код встречал не только в gimp, в сотнях проектов(не только gtk). Вам не нравится запаковка указателей в структуры? Или Вам вообще сам объектно ориентированный подход не нравится? Тогда здесь альтернатив не много — стейт машина ещё хуже, имхо.
amarao
23.11.2015 18:08-1Мне не нравится, что пишут в таком стиле и на таком языке, который этого стиля не понимает.
fsmoke
23.11.2015 18:21+3Что именно вам не нравится в этом стиле? То-что потом можно будет писать аля klass->start(klass, arg1, arg2). Т.е Вам не нравиться, что можно писать почти как в языках со встроенной оо. Или Вам вообще оо не нравится? — я так и не услышал.
IRainman
23.11.2015 19:57-3Как минимум разумно было бы портировать проект на C++. Это не будет сложно, зато позволит просто выкинуть, буквально, тонны кода, которые будет генерироваться автоматически и без ошибок. Про безопасность работы с кодом, особенно про то, что в современном C++ в подавляющем большинстве случаев можно не опускаться на уровень сырых указателей я вообще молчу.
IRainman
23.11.2015 21:58+1Если так уж необходимо использовать _только C в прикладной программе_, то всё равно никто не мешает сделать человеко-читаемую кодогенерацию на макросах, которые пусть и будут специфичны для проекта но зато будут удобны, да и готовых библиотек полно для этих целей. Просто писать такую лапшу как приведена выше в ветке вредно ибо верифицировать и читать такой код очень и очень тяжело.
То что где-то до сих принято массово так оформлять код можно лишь посочувствовать. Самое странное, что ведь префиксы переменных уже написаны и стандартизированы, но никакая унификация, возможная благодаря им, при этом не применяется.
Возможно я в чём то сильно не прав, но тогда объясните, пожалуйста, в чём. Так же я прекрасно понимаю, что значит Legacy и поддержка старого кода, что там так сложилось и т.д., но это не значит, что надо продолжать писать также как писали раньше, что ничего не надо менять в подходах и что не надо вообще никогда делать рефакторинг.
Self_Perfection
23.11.2015 18:42Я так слышал, что в последнее время всё больше народу переходит Krita. Как-то вокруг ней очень много движухи.
Я графику практически не редактирую, так что не могу их сранивать по проработанности и функциональности, да и в код не смотрел. Но это я к тому, что, возможно, нет смысла призывать народ пилить GIMP, когда есть Krita.Meklon
23.11.2015 19:10+3Это разные абсолютно инструменты по идеологии. Крита для художников. Кисти, нажим, наброски и т.п. GIMP для редактирования. Это разные задачи. В *nix комбайны не приветствуются.
Self_Perfection
23.11.2015 20:15Я, похоже, чего-то не понимаю
- ЕМНИП, GIMP кисти и нажимы тоже умеет
- Я не понимаю, что останется от графического редактора, если изъять из него функциональность кистей. Crop да resize? Вы так себе основное использование GIMP представляете? Это в общем практически всё, что мне нужно от растрового графического редактора, но Krita и GIMP одинаково хорошо выполняют эти задачи на мой вкус.
Meklon
23.11.2015 20:35+2Фильтры, коррекция уровней, цвета, разбиение на каналы, всякие healing brush, математическое вычитание фона/шума… Один фоторедактор, другой заточен на создание с нуля картин и скетчей.
GlukKazan
23.11.2015 16:16+4В 1997 году расшифровку аббревиатуры GIMP изменили на GNU Image Manipulation Program с целью соблюдения рекурсии.
Соблюдать рекурсию безусловно важно, но, стесняюсь спросить, где здесь рекурсия?
susnake
Это яндекс так «пошутил» над гимпом при переводе страницы?
Mercury13
В обычном словаре «gimp» означает всего лишь «хромой». Но Urban Dictionary говорит ещё, что это также «пассивный садомазо» — из фильма «Криминальное чтиво». А также «ты что, инвалид?»
wholeman
В Яндекс-словаре предлагается 9 значений, я бы не назвал это «всего лишь „хромой“».
susnake
Надо же… Никогда не подозревал, что gimp это еще не аббревиатура, а полноценное слово.
Спасибо.
danaki
Некоторые вещи делать в GIMP — это садомазо.
sashabeep
*многие