Sometimes people ask me why do we keep Morevna’s repositories private? Why not have them out in the open the way free-software projects do? I decided to write this post to clarify the situation.
We are successfully applying the principles of free software development to animation production, and for that reason some people used to think that those processes should be followed completely, but I think this is not correct. Let me point to some differences between the two activities.
The result of the software development process is a software package. Any software package is a tool, which helps a person to produce something – to do it faster, better, or even just to make it possible. Though it is the result of someone’s work, software is still a means to achieve some other result. So, to fill its purpose, software must be easy to use. It’s usage should be intuitive, or, to put it another way – predictable. Predictable behavior of software is good, unpredictable behavior (caused by bugs, crashes, non-intuitive UI, etc) is bad. That’s the key point.
Developers decide when to release a new version of software based on how stable (read “predictable”) the software is at the moment. The user can always try the unstable development version if he wants. He risks getting unpredictable (bad) behavior, but he doesn’t loose anything by trying, because later he will get his better (predictable) version anyway.
On the the other hand, an animated movie is a product of the entertainment industry. Entertainment is a way for a person to fight the daily routine. People watch movies to kill their boredom. To defeat boredom, to kindle interest, to attract viewers, a movie should be unpredictable. Unpredictable is good, predictable is bad. Do you see the difference?
Now, let me go a little further. In a good movie every little piece, every little detail works to build the final impression. Nothing is meaningless, everything is important. If a person stumbles onto the unfinished, “development” version before the author’s conception is implemented, his impression could be spoiled just because he watches something that hasn’t reached its climax yet. And that can’t be fixed. Because even if he watches the finished version, there is some chance that it will strike him as uninteresting, because he has already got his “dose of unpredictability.” That’s why the “release early, release often” rule doesn’t work for animation production. And it never will. Because of the different purposes of software and animation products.
Imagine if someone will render raw data one month earlier before the release, publish it, and spoil the impression for many watchers who will think that they are watching finished work. By keeping repositories in private mode we are leaving for ourselves the right to decide when the movie is in its finished state, which is critical for an animation project.
At the same time, the private mode of the repositories is kind of fictional. Anyone can get access to the sources at first request – just read “Contributor’s Guide”. Why such a weird scheme?
Well, the production of animation is quite a specific process and understanding the workflow and policies is necessary to be able to contribute. From that point of view, the “Contributor’s Guide” plays the role of some kind of bootcamp for a newbie contributor. Instead of rushing into the repository, he gets familiar with the structure, rules, and workflow first. I think that’s a good strategy.
So, that’s my thoughts and reasons. I hope I have explained the situation. Also, I would like to know what is the opinion of my readers on that question.