DreamWorks makes the TeamWork

Open Source Software Development Animation

It was back in 2001 that I entered a philosophical debate with a very smart colleague (Simon Papworth) about why, eventually, Linux will surpass Microsoft in every aspect of OS and OS provision.

Of course, I am still waiting for the fabled ‘Year of the Linux Desktop’ and it is possible that it might be such a rare event that the Chinese may even alter their astrological calendar to celebrate it when it happens.

Yesterday there was an announcement from DreamWorks that further supports my argument that no single corporation can ever have a development team as good as the free open source software (FOSS) developers.

Over the past few years, more and more companies are partially embracing FOSS, whether it’s Microsoft, Google, Facebook or anyone else. There are countless projects in this commercial FOSS category now.

Of course, they’re doing this out of the goodness of their heart, but I’ll talk about this later.

DreamWorks is the latest company to join this trend. They’re planning to release their MoonRay software. MoonRay is their in-house renderer, to be released under an open source license along with Arras.

Arras is a distributed computation framework to make it so you could realistically render a DreamWorks type movie. The reason is, while you can render individual models or individual scenes on a single system when you’re trying to render an entire movie, you’re not doing that on one computer. Both these projects are going to be licensed under Apache Version 2.

Remember, their in-house renderer this isn’t something they just knocked up for good P.R. They have used this for some really serious projects things like: How to Train Your Dragon; The Hidden World Trolls—World Tour; The Bad Guys; and the upcoming Puss In Boots—The Last Wish. They’re not planning to drop this renderer soon, so this is probably going to be used for future movies as well.

They’re not releasing their entire animation stack from model to master, so you’re not recreating the entire DreamWorks movie with the click of a button, but it makes this incredibly powerful tool available to the average person.

MoonRay will soon be available on GitHub for anybody to download. At the moment, you can sign up to get early access and join the mailing list. It probably won’t be that long until a Blender plugin is available so that anybody can start using it to render animations with it.

MoonRay going open source was announced with this press release. This is a quote from Andrew Pearce, (VP of Global Technology): “We are thrilled to share with the industry over 10 years of innovation and development on MoonRay’s vectorised threaded parallel and distributed code base. The appetite for rendering at scale grows each year and MoonRay is set to meet that need. We expect to see the code base grow stronger with community involvement as DreamWorks continues to demonstrate our commitment to open source.”

This quote from Bill Ballew (CTO): “MoonRay has been a game changer for our productions. We have over a billion hours of use at DreamWorks. As the open source community continues to embrace and enhance it, we’ll see significant benefits in the animation and visual effects industry as well as academia.”

You might think that they’ve released this under an open source license out of the goodness of their heart, that they just want to see more creations being made, better visual effects being done, letting artists spread their wings and be as creative as possible with the best tools available in the industry—and that wouldn’t be a complete misunderstanding.

This isn’t the first time that DreamWorks has been involved with FOSS. DreamWorks has presented at the RedHat summit; they’ve partnered with RedHat helped to develop Linux and they’ve been involved in the FOSS space for many years now.

While a lot of the artists just want really cool things to be made, and the developers may share that perspective, when we’re talking about the people who actually decide the strategy, this is more about an investment into the future. They are telling you that they hope the open source community embraces and enhances it so that they will see significant benefits.

DreamWorks has realised that being involved in FOSS is more than just good P.R.

When you have a renderer like this, making this open source even though you’re going to have the overhead of public issues, public pull requests and needing people are trying to make good commits to the repo, it’s good commits that are actually going to improve it.

Even though you have to deal with all that, you get enormous benefit. You get a lot of volunteer/free input from really really smart open source developers—and there’s another subtle but still likely factor, academia.

Let’s say that you’re a really young animator. You’re just getting started. You want to know what tools are actually available. Professional grade animation tools are expensive, most times prohibitively so—so as an animator, you’re probably going to want to use FOSS tools like Blender, MoonRay and Arras.

Now you have access to them—you use these tools and you really like animation. At some point you decide “I actually want to study animation”, so you go to university, enroll on a course, using of course, the same tools, because just like a fledgling animator, Universities suffer budget constraints.

Courses can now be based around MoonRay because it doesn’t make it a barrier to entry for any of the students or the faculty. When that happens, then we will see a lot of smaller (and even potentially large) studios adopting this tooling because they know that many people they’re trying to hire actually have experience using these tools.

This is great for DreamWorks because now they also know that there’s going to be many people out there who have some experience with the animation stack, even if it’s not the entire thing. They’re going to have extra plugins for the workflows that they are doing. You still have some experience and this makes it much easier to teach you the rest of the things you need to know.

This isn’t just true for MoonRay. There is a reason so many companies make use of Blender. Blender is an absolutely incredible tool, but it’s also a tool that people they are trying to hire have experience with or moving away from 3D modeling and animation and looking at game development.

It’s not a surprise that Unity and Unreal are by far the most popular game engines—the reason they are fantastic tools, but they are also tools so many people getting started with game development can make use of, and gain experience with before they even think about joining a company.

Artificial Intelligence (and if you read some of my other posts, you know I keep the bar quite high for the definition of this) might get there someday, but right now, it’s still at least a little lacking. If you look at some of the mid journey stuff for 2D art, maybe not that lacking now my experience in 3D modeling animation rendering and things like that are quite limited.

Ultimately, the crux is this: You can be the biggest company in the World, you can hire the largest development team ever—but you will never approach the size of the FOSS community. Even if theoretically you could hire everyone, half your people are FOSS developers in their spare time anyway.

If you make your code publicly available, the public will enhance it in ways you have never even dreamed of. This provides benefit all round.

Of course, it is unlikely that Microsoft would make the code for Windows available, and we know the security implications of doing so… but it makes you think what we could achieve if it were.

Still hoping to be born in the year of the Linux Desktop.