Synfig team started working for community’s money this year. But is the community actually ready to sponsor development of a free 2D vector animation tool on a regular basis?

At a certain point every ambitious project like Synfig reaches the point where it's barely possible to continue development at the same pace without changing the way the project is organized. Increased lines of code amount, growing complexity of further development work, and more aspects all contribute to this.

Some projects stagnate and die, some manage to get by, but the Synfig team decided that it's now or never, and started developing financial bond with its community.

Here's how it started. In May 2013, Morevna Project received $5,000 as a Shuttleworth Foundation Flash Grant to work on their projects. The team, however, decided to use the money to create a training course on Synfig and improve the program itself.

The former was released this November and is currently available as a both Udemy course (with user support) and a pay-what-you-want digital download (w/o support). For improving Synfig the team hired a developer, Ivan Makhonin.

In September, the team saw that the Fund's money would soon run out and took action by starting to collects funds from the Synfig community. As a bonus, fundraising participants were suggested to steer development by deciding which tasks Ivan would attack next.

So far his track record includes, but isn't limited to:

single-window interface mode;

GTK+3 port;

exclusion of any layer from rendering;

GUI support for revision history;

improved handling of keyboard modifiers.

A lot of attention has been paid to getting data in and out of Synfig as well. Ivan designed a new container format to collect all linked data into one file for sharing and implemented support for it. He also made it possible to embed linked files and, vice versa, unpack and link embedded data. On top of that he also implemented merging projects.

Since November, Ivan has been working on user interaction in the bones system (the back-end already was part of the 0.64.1 release). Here's a video from the most recent weekly progress report:

Synfig is not the first team to rely on its community to ensure the continuity of development. Both Blender Foundation and Krita do it on regular basis, and projects like Inkscape and GIMP are cautiously approaching the subject, currently — in terms of occasional personal crowdfunding campaigns started by developers. There are some specifics with Synfig though, so we spoke to Konstantin Dmitriev who coordinates the crowdfunding effort in the project.

Konstantin Dmitriev at Libre Graphics Meeting 2013, photo by Ramon Miranda

First of all, how and why did you pick Ivan to improve Synfig?

I've been teaching animation to children for several years now, and Ivan was teaching them programming in a computer lab next to mine. So we knew each other.

At the end of each school year we hold a conference where all our students demonstrate what they have achieved over the year. In my case that would be an animation project, and in case of Ivan's class that would be software. It was really impressive how much progress his students demonstrated at the last such conference.

And here's an important thing: most of their projects had something to do with graphics, especially with 3D. In one project, they even wrote their own library to import models from Blender.

So I figured: if this guy earns a living by programming (I knew he was doing freelance work too) and is capable of teaching kids this kind of complicated things, he might be of use in a free software project. Because being involved with a free software project means you need a combination of responsibility and a vivid interest in what you do. And a person who works with children by choice presumably cares about the future. All of that was the reason I decided to invest into him, and I do not regret it.

Why didn't you do the development work yourself? After all, it's not your first year in the project, and you already know your way around Synfig's source code.

I seriously thought about it. When I got the grant from the Shuttleworth Foundation, I really considered working on Synfig full-time myself, but then I decided that a professional C++ developer would achieve a lot more than I could.

So you think it's better to do what you do best in a free software project, and not try to solve every single problem out there? Because a lot of users seriously expect that developers are supposed to be awesome at graphic design and marketing as well :)

Yes, and not just in free software project—in any project. And even better, if you really care about what you do.

On the other hand, I think any more or less complex project needs a maintainer. That is, the kind of person who is engaged in organizational work and, therefore, in a way, tries to solve every single problem.

For example, Nikolai Mamashev (Morevna Project) has a lot of experience doing animation with Synfig, and Ivan Makhonin is awesome at C++ programming. Both of them are professionals in their own fields, but they speak different languages​​. If you need to get them to work together efficiently, you need to have some experience in both areas of expertise. Thus a maintainer acts as a kind of hybrid expert.

Such a person looks for resources, acquires and distributes them. (S)he is always aware of the situation, can examine the current issues and prioritize work on solving them.

So that's what you do?

Yes, as well as preparing weekly progress reports, providing regular test builds for three operating systems, managing the website, testing new features, all the public relation work and external communication, grants applications etc. All this takes time, but as the result the whole team can focus on what they do best.

There seems to be a popular concern about morale of a team—that once someone works for money in a free software project, the rest of the team would go sulking. How did other developers in the project accept the news? Has it somehow affected their own productivity?

They received it very well. I think this is also due to the fact that before bringing an "outsider" into the project, I respectfully considered candidates among those already working in the project.

As a matter of fact, long-time contributors actually increased their involvement with the project. I guess, once they saw that the overall progress in the project rapidly increased, they were motivated to spend more time on it. Besides, we are a team, we share the goals. If someone is suddenly more active, this invariably stirs others.

What are your further plans? Running fundraising campaigns every month and accomplishing tasks proposed by the community one by one?

Exactly. Given the current situation, in my opinion, it's the most viable option.

Of course we could try a big fundraiser to secure funds for a long period of time. But I'm pretty sure that would fail. We don't have such a huge army of fans who are ready to support the project. For many the inherent worth of Synfig Studio is not obvious yet. We are still to gain reputation.

Besides, monthly fundraisers are helpful in getting people to stay tuned to the progress. In some cases it's a good idea to somewhat loosen control over people you supported financially, and in other cases it's best to keep a close control over the process. I think we've managed to find a compromise that really works for both sides.

Do you see any other ways of raising money for the project except for donations?

Yes, of course. Quite a lot, in fact. It's hard to get by with just donations.

For example, one option is to make commercial animation projects. Actually, it's how Nikolai Mamashev and me have been working for the past two years. Thanks to one of these commissions we were able to complete Morevna Project Demo. And thanks to another project that we did in January this year there are character templates in Synfig now.

Another reason why contracts are helpful is that they get us to improve Synfig and polish various new features to work really well in a real-life scenario.

The problem here is that large commissions are rare and irregular, and it's not always possible to allocate a budget for development. But I think we'll see positive dynamics here over time.

What about the cutout animation training course that you released in November? E.g. for Blender Foundation it's a substantial source of income that helps paying developers.

Well, we do not expect to gain a huge income from that as we decided against distributing on physical media and made a pay-what-you-want option. Still, it is interesting to try this model.

Did you consider collaborating with animation studios?

That's another option indeed. But this means there needs to be a courageous enough studio that's ready to experiment. At the same time, in terms of human resource Synfig as a project has to be capable of expanding.

E.g. last year we were in conversation with Titmouse studio about investing into the development of Synfig. Unfortunately, at that time we could not agree on anything particular. As a project we weren't ready as we had no resources to allocate to full-time programming and give any guarantees. Still, it was a good sign:

the fact that we were considered worthy speaks volumes;

major studios are already beginning to realize the benefits of open source and free software, and this is where Blender Foundation should get credit.

In April this year, I visited the Melnitsa studio in Saint-Petersburg and studied their workflow. Getting them to switch to Synfig would be quite unrealistic at this point. But the visit helped me to better understand what we should be working on.

In fact, the fundraiser was started as an attempt to find interested organizations and give them means for communication.

If you have noticed, we mainly focus on the right of users to choose the direction of development. I.e. we show that we are ready to accept the money from users, and that the money is really being put into improving Synfig. In return, we offer users to steer our priorities.

At the same time, I have to admit I love the fact that while some users exercise their right to choose the direction of development, others go for traditional donations. I'm very grateful for that.

In general, these monthly fundraising campaigns are part of a bigger picture. There are many other things we do to make the project sustainable. We just need to buy some time to let results of all our efforts give the desired effect.

You can support Synfig Studio team on IndieGoGo. This month's campaign is currently at the risk of not being funded.