Константин Дмитриев о работе над Synfig Studio за деньги сообщества

Константин Дмитриев

Команда Synfig Studio выпустила новую версию этого открытого редактора 2D-анимации. В состав релиза вошли первые результаты работы проекта за деньги сообщества.

Подробнее о новшествах на русском можно почитать в блоге Тимура Азова, ссылки для скачивания доступны на сайте проекта. Мы же решили на этот раз сконцентрировать внимание на коммерческой стороне вопроса.

Итак, в мае Morevna Project получил грант размером в $5,000 от фонда Марка Шаттлворта (Shuttleworth Foundation Flash Grant) для работы над своими проектами. Деньги было решено пустить на создание обучающего курса по Synfig и улучшение самой программы.

Для последнего команда наняла российского разработчика Ивана Махонина. За два с половиной месяца работы Иван успел реализовать:

  • быстрое оконтурирование любой области и быстрая заливка любого контура, без ручной линковки;
  • исключение любого слоя из рендеринга;
  • поддержка упаковки всех данных в один файл для переноса проекта Synfig;
  • вставка внешнего файла sif/sifz в текущий проект;
  • улучшенная обработка клавиатурных модификаторов с инструментом преобразований;
  • история ревизий в проекте;
  • встраивание слинкованных изображений в файл Synfig и, наоборот, распаковку во внешний растровый файл с последующей линковкой.

В сентябре команда учла, что деньги фонда скоро кончатся, и оперативно провела сбор средств на дальнейшую разработку Synfig. В качестве бонуса участникам сбора средств было предложено выбрать цель дальнейшей работы.

По итогам голосования Иван занялся однооконным интерфейсом и буквально за пару недель сделал в этом направлении больше видимых шагов, чем вся команда за годы существования проекта.

Сейчас Иван по итогам голосования после очередного сбора средства занялся скелетной анимацией.

Synfig — далеко не первая команда, взявшаяся писать код за деньги пользователей. На регулярной основе это делают Blender Foundation и Krita, эпизодически отметился даже GIMP. Но в каждом случае есть своя специфика, поэтому мы задали несколько вопросов Константину Дмитриеву, который сейчас выполняет в проекте функции координатора.

Расскажи как ты вышел на программиста, которому платишь деньги из фонда Шаттлворта, а теперь — и собранные сообществом?

Я несколько лет преподавал анимацию детям, а Иван последние два года вёл занятия по программированию для детей в компьютерном классе по соседству с моим. Время от времени я забегал понаблюдать, чем они занимаются, да и просто перекинуться парой фраз.

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

На последней такой конференции я увидел очень классные работы у его учеников. Большинство из них были связаны с графикой, особенно с 3D. В одном проекте они даже написали собственную библиотеку для импорта моделей из Blender.

И тут у меня щёлкнуло: если человек зарабатывает этим на жизнь, да ещё в состоянии объяснять такие вещи детям и получать от них какой-то внятный результат, то велика вероятность, что от него будет толк для open source. Всё-таки для работы в открытом  проекте нужно иметь особые качества. Это не альтруизм, но своего рода комбинация личной ответственности и живого интереса к тому, чем занимаешься.

Ну и вообще, если у человека есть хобби заниматься с детьми (а Иван — фрилансер, пишущий на С++), значит ему не всё равно, что будет с этим миром. Всё это для меня было отличной рекомендацией, и я решил попробовать вложиться в него. Пока не жалею.

Почему ты не стал заниматься разработкой сам? Ведь ты в проекте не первый год.

Я всерьёз думал об этом. Когда мне пришли деньги от фонда Шаттлворта, я сначала хотел уйти в Synfig на полный рабочий день сам, но потом вспомнил про Ивана и решил, что от профессионального разработчика на C++ эффект будет больше, чем от меня.

Получается, что в опенсорсе всё-таки лучше каждому заниматься своим делом, а не пытаться личными штанами затыкать все пробоины в судне?

В любом проекте хорошо, когда каждый занимается своим делом. А если каждый при этом ещё и неравнодушен к тому, что делает — вообще прекрасно.

С другой стороны, я думаю что в любом более-менее сложном проекте должен быть мейнтейнер.  То есть, именно тот человек, который «затыкает пробоины» и занимается организационной работой.

Например, у моего коллеги Николая Мамашева есть опыт создания анимации в Synfig, а у Ивана Махонина — опыт программирования на C++. Оба — прекрасные специалисты в своих областях, но они разговаривают на разных языках. Для того чтобы сформулировать им задачу, необходимо иметь опыт в обеих областях: он не должен быть очень глубоким, но он необходим. И вот здесь мейнтейнер выступает как «гибридный специалист».

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

Этим ты теперь и занимаешься?

Да. А ещё — подготовкой еженедельных отчётов, регулярной сборкой тестовых бинарников для трёх операционных систем, поддержкой веб-инфраструктуры, тестированием новых функций, налаживанием внешних связей, оформлением заявок на гранты и финансирование. Всё это требует времени, но зато команда получает нормальные условия для работы и фундамент для дальнейшего роста.

Как остальная часть команды восприняла появление нового участника, работающего за деньги? И насколько это повлияло на их собственную активность?

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

Кстати, с появлением Ивана активность участников проекта заметно возросла. Когда прогресс становится заметнее, это само по себе очень мотивирует.  Кроме того, мы все связаны, у нас общие задачи — когда кто-то в проекте начинает двигаться быстрее, это неизменно заставляет шевелиться других.

Как планируете выстраивать дальнейшую работу? Запускать фандрейзер на каждый месяц и понемногу решать предлагаемые сообществу на выбор приоритетные задачи?

Именно так. С учётом текущей ситуации это, на мой взгляд, наиболее приемлемый вариант.

Можно было бы попробовать запустить большую кампанию по финансирванию сразу на длительный промежуток времени, но я практически уверен, что она бы провалилась.

У нас ещё не настолько большая армия «фанатов», готовых поддержать проект. Для многих состоятельность Synfig Studio как инструмента анимации пока что неочевидна. Нам ещё предстоит завоевать репутацию.

К тому же, такая ежемесячная модель финансирования позволяет людям «держать руку на пульсе». Одно дело — получить крупную сумму и «уйти в неконтролируемое плавание» (что, на самом деле, при определённых обстоятельствах неплохо), но некоторым нравится сохранять контроль над процессом и, мне кажется, нам удалось найти достаточно удачный вариант.

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

Ты видишь какие-то иные способы привлечения финансов в проект кроме пожертвований?

Да, конечно, вижу и довольно много. На одни пожертвования жить очень тяжело.

Например, один из вариантов — получение денег на разработку с коммерческих проектов (я имею в виду создание анимации на заказ). Собственно, мы с Николаем Мамашевым так и работаем последние два года. Благодаря одному из таких заказов у нас была возможность довести до конца Morevna Project Demo, а благодаря проекту, который мы сделали в январе этого года, у нас появился шаблон персонажей.

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

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

А как насчёт обучающих курсов? Например, Blender Foundation таким образом отбивает затраты на работу программистов…

Да, в этом направлении у нас сейчас тоже идут работы. В ноябре мы выпускаем первый видеокурс, посвящённый анимации перекладкой. Не факт, что мы получим большой доход с продажи этих курсов, потому что мы отказались от распространения на физическом носителе и решили распространять их по принципу «pay what you want», но всё равно некотороя вероятность всё-таки есть. В любом случае интересно попробовать эту модель.

На каких пользователей рассчитан курс?

Содержание будет соответствовать базовому мастер-классу, который я проводил в Питере и в Москве в апреле 2013 года. На мой взгляд, мастер-класс получился очень удачным — он оказался интересен как начинающим аниматорам, так и школьным учителям. Во время мастер-класса, кстати, несколько раз поднимался вопрос использования Synfig в рамках школьной программы как замены Flash.

А вы не рассматривали вариантов сотрудничества с анимационными студиями?

Такой вариант тоже есть. Для этого, с одной стороны, должна найтись какая-то достаточно смелая студия, готовая к экспериментам. С другой стороны, сам Synfig в плане человеческих ресурсов должен быть готов к расширению.

В конце прошлого года у нас уже был прецедент — студия Titmouse предложила вложиться в разработку Synfig. К сожалению, на тот момент нам не удалось прийти к чему-то конкретному. Честно говоря, Synfig был просто не готов — у нас не было даже минимальной рабочей силы, чтобы дать студии какие-то гарантии. Но в любом случае это был хороший знак:

  • нас, и именно нас, что особенно приятно, уже рассматривают как кандидатуру;
  • в крупных студиях уже начинают понимать преимущества open source, и в этом, я думаю, большая заслуга команды Blender, которая очень много сделала для этого.

В апреле этого года я посетил студию «Мельница» и посмотрел, как устроен их рабочий процесс. Внедрить Synfig туда в ближайшее время, конечно, пока нереально, но в любом случае визит был полезен для определения дальнейших перспектив развития.

На самом деле, кампания по сбору средств и затевалась как попытка найти заинтересованные организации и дать им инструмент для взаимодействия.

Если ты заметил, мы основной упор делаем на право выбирать направление разработки. Т.е. мы просто хотим показать, что готовы принять деньги, и за эти деньги действительно будем работать, чего раньше в Synfig не было. А взамен мы предлагаем пользователям рулить нашими приоритетами.

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

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


Дать проекту денег на очередной этап работы можно здесь.

Фото: Рамон Миранда

10 Комментарии

  1. было бы очень хорошо. если бы разработчики inkscape тоже восприняли такую модель и наконец-то запилили экспорт в cmyk. Без него этот отличный редактор жалкое подобие профессиональных пакетов.

  2. Пробовал его использовать для 2d графики (рекламный ролик) и понял что в blender сделать то же было бы в 10 раз (а то и более) быстрее. Главная проблема — низкая отзывчивость и сложность манипуляции когда слоев более 10-20

    • Самое смешное, что был такой проект, форк блендера, в котором развивалось именно 2D направление и анимация. Но заглох.
      А тормоза в Inkscape и Synfig, да, добивают. Большую часть приходится тупо ждать пока отрисует. Двинул мышкой объект — сиди жди пока перерисует. Даже Intel i-7 и перекомпилляция не ускоряет работы. А загони весь svg в блендер — и не тормозит и редактировать можно, одна проблема — нет экспорта в svg.

  3. Большое дело делают ребята. У программы огромный потенциал. Уверен! Отзывчивость, удобство, скорость, всё это приложится. Вспомните, как изменился Blender после 2,49 . Сейчас мало людей, использующих Синфиг, но их результаты при имеющемся функционале уже довольно приличные. В течении трёх лет количество пользователей будет расти и общий уровень работ снизится, при нарастающем уровне программы. Но уже где-то в 2016м это будет уже мощный инструмент с богатым деморилом. Однако, я думаю, что нужно искать способы ускорения этого процесса. И финансовая сторона вопроса тут далеко не последняя.

  4. Разработчики молодцы, нашли некий баланс между донейтами и краундфандингом. Получился некий мини-краудфандинг.

    Но проблем в таком подходе действительно хватает, прежде всего это ответственность, далеко не каждый разработчик готов свое хобби превратить в работу. Тут вопрос во взятии ответственности.

    Надеюсь, что такой положительный опыт предпримут и другие проекты, я бы например вложился лично во многие проекты. Анимация меня мало интересует, но, например, Scribus’у я бы дал денег за реализацию сносок. И GIMP’у за CMYK. А inkscape’у просто так :)

  5. Отличные новости, молодцы.
    А какие-то подвижки по работе со звуком есть/планируются, или пока все как и раньше?

  6. За пожертвование в 300 баксов даётся возможность выбрать приоритетную задачу на декабрь: реализацию поддержки звука или покадровой анимации. Так что, если сбор средств завершится удачно, есть шанс, что в этом напрвлении что-то сдвинется.

  7. «буквально за пару недель сделал в этом направлении больше видимых шагов, чем вся команда за годы существования проекта.»

    животворящая сила денег

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*


Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.