
На этой неделе компания Google опубликовала список проектов, принятых в программу Summer of Code 2013.
Давайте посмотрим, над чем студентам предстоит трудиться за стипендию в $5000 от Корпорации Добра.
Редактирование изображений
В этом году GIMP снова балансирует между улучшением имеющегося набора функций, ускорением обработки и добавлением интересных новшеств.
Объединённый инструмент выделения сократит количество похожих инструментов до более разумного и, согласно задумке, ускорит процесс создания сложных выделений. Первичный план работы с набросками интерфейса уже опубликован.
Ещё одним проектом, призванным улучшить имеющиеся наработки, является доделка импортировщика и экспортировщика файлов в формате PSD. Хотя в GIMP пока нет корректирующих слоёв и фильтров слоёв (а значит и не к чему привязывать соответствующие функции Photoshop), пользователям явно пригодится возможность читать текстовые слои как текстовые, корректно экспортировать маски и т.д.
Работа над ускорением в этом году снова связана с OpenCL: ещё один студент портирует на модный API часть уже имеющихся фильтров GEGL. Руководителем студента является Виктор Оливейра, которому мы как раз обязаны возможностью выполнять на GPU часть операций в GEGL и GIMP.
Наконец, к концу лета в GIMP должен появиться ещё один инструмент деформации, с помощью которого изолированные объекты можно будет менять как объекты в реальном мире (но в 2D). Проще всего проиллюстрировать это видеороликом, снятым самим студентом:
Этот инструмент будет основан на научной работе “As-Rigid-As-Possible Image Registration for Hand-drawn Cartoon Animations” Дэниэля Сикоры с некоторыми дополнениями. На представленном выше видео демонстрируется уже готовый прототип на Java.
Но GIMP — не единственный графический редактор, представленный в программе. Давайте не забывать о Krita, где ожидается появление средств анимации (с таймлайном — всё как у взрослых).
Ещё один студент организации Krita займётся приведением в порядок растровых фильтров: эта часть программы, как признаются сами разработчики, в последние годы была изрядно подзапущена.
То, что у Krita всего два студента — на самом деле, совершенно нормально. Именно столько слотов команда и попросила у Google. Переживать на этот счёт не стоит, тем более что программа Outreach for Women дала им ещё несколько участниц, которые займутся, в частности, онлайновым магазином проекта.
Фотография
В этом году darktable не стали подавать заявку на участие в GSoC, так что на повестке дня лишь digiKam и F-Spot.
DigiKam побили собственный рекорд и заполучили на сей раз восемь проектов. Из них, пожалуй, наиболее интересным является возможность локализованной обработки за счёт создания растушёванных выделений, а также совмещение в HDR снимков, сделанных с вилкой экспозиции.
Единственный проект изрядно подзабытого каталогизатора фотографий F-Spot состоит в интеграции третьесторонних приложений для обработки RAW. Среди таковых в заявке перечисляются Rawstudio, UFRaw и darktable. Предполагается, что эти программы должны научиться добавлять обработанные снимки (JPEG, PNG, TIFF) в базу данных каталогизатора как версии оригинала в RAW.
Странным здесь является то, что UFRaw давным-давно умеет это делать, а соответствующий патч для Rawstudio студент успел отправить в апстрим ещё до того, как был формально принят в программу GSoC. Поэтому объём и содержание дальнейших работ пока что вызывает вопросы.
Если говорить не о софте для конечных пользователей, а о средствах разработки, стоит отметить проект по реализации HDR в OpenCV. В его рамках планируется написать функции сведения брэкетов в HDR, загрузку файлов OpenEXR, RGBE и пр., а также добавить разные операторы проекции тонов (tonemapping).
Неспецифичным для фотографов, но от того не менее важным является проект GNOME по написанию шейдера для Wayland/Weston, который будет выполнять на GPU преобразования между цветовыми пространствами. Студентом будет руководить Ричард Хьюс.
Векторная графика
В этом году Inkscape остался в гордом одиночестве: в программе не участвуют ни LibreOffice Draw, ни Karbon из Calligra Suite. Что, кстати, ставит под вопрос сроки готовности библиотеки для чтения файлов Adobe/Macromedia Freehand.
Все пять проектов Inkscape достаточно важны, а реализация пары из них, пожалуй, даже подзатянулась. Речь идёт о приведении в порядок механизма работы с единицами измерения и о более простом создании новых документов из шаблонов (вместо пролистывания вложенного меню размером во весь экран по вертикали).
Внешне более заметными будут два других проекта: перекрашивание заливок и обводок при помощи цветовых гармоний и новый алгоритм векторизации на основе научной публикации, представленной на SIGGRAPH 2011.
Последний из пяти проектов Inkscape, “Electronics CAD support”, на самом деле, не так уж и безумен. Абсолютное большинство изменений выльется в улучшение существующего инструмента Соединительные линии и улучшение работы с символами (новшество пока ещё не выпущенной версии 0.49).
Электронные книги
Что любопытно, на этот раз есть целых четыре проекта, связанных с созданием, чтением и аннотацией электронных книг.
В Okular и Evince (приложения KDE и GNOME для чтения документов) появятся различные доработки. Студент организации KDE улучшит чтение файлов EPUB в Okular (в частности, добавит поддержку внутренних ссылок), в то время как двое студентов GNOME добавят в Evince режим просмотра «книжной полки» и вставку графических аннотаций в PDF.
Один из трёх студентов LyX займётся улучшением имеющегося экспортировщика в XHTML, а на его основе подготовит экспортировщик в EPUB. Кстати, если вы ещё не знакомы с LyX, настоятельно рекомендуем попробовать в деле этот толковый гибрид вордоподобного текстового процессора с возможностями TeX по созданию формул.
3D
Вряд ли кого-то удивит, что разработчики Blender получили 15 студентов: команда неплохо отработала вливание нового кода в официальные релизы и в ходе программы теряет предельно мало студентов. Словом, всё к тому и шло.
Кроме обычной пары проектов по доработке встроенного игрового движка и двух проектов Cycles нас ждут интересные вещи вроде редактирования мешей эскизами (на основе научной работы “Sketch-Based Interface for Detail-Preserving Mesh Editing” Эндрю Нилена, представленной на SIGGRAPH 2005).
Невозможно не отметить и реализацию записи и воспроизведения макросов. Полный список проектов как раз обновляется в вики Blender.
У 3D-движка Crystal Space тоже есть разные интересные проекты вроде имитации планетных систем, интерактивной имитации воды, а также эффектов пост-обработки — DoF, размывание в движении и пр.
Что касается Ogre 3D, самым важным среди проектов, пожалуй, является приведение проекта в состояние готовности к релизу версии 2.0. Что подразумевает, например, добавление многопоточности и улучшенную работу с кэшем.
САПР
Из всех существующих свободных систем автоматического проектирования в GSoC пробился только проект BRL-CAD (OSGeo и QGIS давайте всё-таки не считать). Планы на летнюю разработку силами студентов у команды внушительные, особенно интересны два проекта:
- Веб-интерфейс, заточенный под применение с мобильных устройств. Команда не замахивается больше чем на реализацию базовой функциональности, но даже это уже хорошо. Потому что глядя на недавние разработки Autodesk и Dassault Systems, становится очевидно: без поддержки мобильных платформ СПО не сможет откусить от рыночного пирога вообще ничего.
- Новый экранный менеджер на базе Qt и OGRE для работы с геометрией в 3D.
Наконец, в BRL-CAD появится свой аналог чайника (или, если хотите, Сюзанны): примитив сердца.
Видеоредакторы
Как ни странно, команда Kdenlive не стала претендовать на участие в GSoC под флагом KDE, предпочтя этому завершение начатого год назад рефакторинга. Так что остаётся PiTiVi.
Матьё Дюпоншель постарается к августу привести порт программы на GStreamer Editing Services в релизное состояние. Студент уже активно включился в работу и буквально вчера доделал микширование видеодорожек:
У проекта, как выясняется, есть ещё три студента:
- Антон Белка добавит реализацию работы с прокси-клипами;
- Йорис Валетт будет работать над растягиванием/сжатием клипов с плавной интерполяцией;
- Симон Корсан реализует управление слоями в дорожках и отрисовку волновой форму сигнала.
На самом деле, к числу видеопроектов можно отнести и работу Александра Кузнецова над видеосеквенсером в Blender. Александр вплотную займётся более плотной интеграцией VSE в остальные компоненты приложения и не исключает добавление динамического slow-mo.
Весомая часть работы будет посвящена улучшению производительности при воспроизведении (многопоточность + задел на применение GPU) и применению нод композитинга для эффектов и переходов. Среди прочих планов упоминается предпросмотр видео в файловом браузере и полосках на таймлайне.
Музыка
MuseScore наконец-то улыбнулась удача. Если в прошлый раз команда получила слот, но не нашла для него исполнителя, то в этот раз у команды двое студентов. Первый из них, Андрей Токарев, займётся приведением в порядок импорта файлов MIDI — это не такая простая задача, как может показаться.
Другой студент будет работать над базовой реализацией MuseScore как веб-приложения. Для этого придётся внести изменения в библиотеку libmscore, задействовав Emscripten, и написать простое тестовое приложение на HTML5, которое позволит выполнять совсем простые операции вроде транспонирования нот.
Организация Mixxx, которую можно считать ветераном GSoC, работает в это году с четырьмя студентами. Они займутся давно ожидаемыми функциями вроде записи лупов, неблокирующим доступом к базе фонотеки и улучшенной привязкой по MIDI. Диджеить со свободным софтом определённо станет удобнее!
В завершение
Уже по одному этому краткому обзору «мультимедийных» проектов GSoC2013 вырисовывается несколько настораживающий тренд, прямо по Марксу: богатые становятся богаче, бедные — беднее.
По мере развития программы ключевые мультимедийные проекты имеют тенденцию к наращиванию количества слотов. При этом разнообразие организаций, которое мы могли наблюдать каких-то 3—4 года назад, по факту потеряно. Обвинять в этом Google было бы слишком просто. Вероятнее всего, не виноват никто. И вот почему.
Возьмём, к примеру, софт для создания музыки, который действительно с каждым годом всё хуже представлен в программе. Так, организации вроде Audacity или Ardour не участвуют в GSoC уже несколько лет. Но в обоих случаях это решение самих организаций, а не Google. Можно выделить несколько основных причин для принятия подобного решения.
Во-первых, взаимодействие со студентами и поиск руководителей для них часто становится серьёзной головной болью. Участвовать в GSoC — значит взять на себя дополнительные обязательства. Нужно постоянно следить за ходом работы студента, направлять его, подсказывать решения и, в целом, быть всегда готовым придти на помощь.
Глупо отрицать очевидное: летняя программа Google благотворно влияет на преемственность в проектах, стимулирует их развитие и связь с академическим миром. Но у всего есть своя цена. Работая со студентами, участники проекта не могут столь же активно выполнять прежние функции. А для проектов, состоящих из лишь одного ключевого разработчика (для звукового софта в Linux это скорее норма), такое просто неприемлемо.
Другая причина — несогласовки между расписанием GSoC и внутренними циклами разработки. Команда Audacity как минимум один раз воздержалась от подачи заявки из-за желания поскорее выпустить версию 2.0 (эта эпопея, как мы знаем, растянулась на несколько лет и закончилась лишь в марте 2012 года). Участие в GSoC только отвлекло бы разработчиков от решения главной на тот момент задачи.
Наконец, немалое значение имеет способность проекта своевременно делать результаты работы студентов доступными для конечных пользователей. К примеру, MIDI-дорожки, появившиеся в составе Ardour 3, — не такая уж и новая разработка. Солидная часть кода была написана Давидом Робилляром в рамках двух проектов GSoC — в 2006 и 2007 годах. Т.е. до пользователя возможность писать MIDI в Ardour добиралась ни много ни мало семь лет. Именно отсутствием релиза с MIDI-дорожками и амбисоником (ещё один давний проект GSoC) Пол Дэвис в прошлые годы объяснял нежелание повторно подавать заявку.
Иными словами, участие в GSoC неспособно волшебным образом решить все проблемы проектов по созданию свободного софта. У программы, несомненно, есть серьёзные преимущества, но она — далеко не единственный способ обеспечить самодостаточность СПО. Впрочем, это уже совсем другая история.
А в git наконец-то появился warp tool :)