Pixar open sources production animation code, patents
theregister.co.uk
theregister.co.uk
Oh man, that would be awesome. When I went to the legendary SIGGRAPH 2001 Physically Based Modeling course with David Baraff and the late Andy Witkin, they discussed all the ways we could avoid having our numeric solvers "blow up" (basically, when numerical values change too quickly to figure out how to reasonably estimate them). Then Andy somewhat sheepishly mentioned that they don't actually deal with these problems, since their team at Pixar created a direct solver they actually used instead, which solved the many necessary equations symbolically instead of numerically.
This was 2001, so few in attendance had the ability to go off and write an effective direct solver for their project even if they had the right background to do it. So we made do with numeric solvers and patched over occasional blow-ups. That's a picture of how things go. It's not surprising that the pipeline in Emeryville was far more advanced, seeing how Witkin and Baraff created the Maya physics engine as a warm-up for their Pixar system. By now, there are better solvers in many physics systems... yet how much more insanely awesome must Pixar's simulation software be by now?
It's easy to see that this kind of software is highly strategic — Pixar hired world experts to work on this and it must be extremely well-seasoned code, with countless tricky "gotchas" compensated for. It's not hard to see how that gives them a clear competitive advantage.
On the other hand, the potential is enormous. This system is the masterwork, even the life's work, of unbelievably talented people. Erin Catto's work and generosity with Box2D has shown the massive innovation and even cultural value of code like this. How many more amazing things could be created with a simulation engine of the quality Pixar is sitting on?
So although I'm not holding my breath, it would be amazing to see even a small part of their physics simulation in a future open source release. Is that realistic? I have no idea.
So this has been a long-time coming, and while the quality of Pixar's implementation is undoubtedly welcome, the main advantage to studios is relaxation of the patent requirement - something Pixar should have done years ago, since all anybody wanted to do with those patents was better utilize the tools they had licensed from Pixar in the first place.
So now they're using Maya, Modo, Mari and Nuke internally, and these apps need to have support for subd to match what PRMan will output.
Arnold and VRay use this and Shake (compositor) had it as well. Interestingly, I heard a story from an ex-Nothing Real employee where Pixar were going to sue Nothing Real over it, but then Apple bought Shake and the issue went away :)
Side question: If Jobs were still alive, do you think this would have happened?
Instead of that, how about ... do the research, do the engineering, patent the correct approach, open source a reference implementation, license it properly, and thereby force the industry's hand to "do it the right way" so that Pixar can take advantage of 3rd party tools that implement those particular technologies correctly.
+1 to Manuel, who's been working on this stuff for a while. Cool to see this happen.
1. He certainly could have had his hand in the pot but Pixar is under the control of Disney/Catmull & Lasseter. Jobs/His family are the largest single individual share holder in Disney but its not like he had/has majority say. If they needed to do this to keep making quality films, even if he was in a particularly bad mood towards OSS (say, Linus decided to say something cheery about OS X), they could tell him to go run his own company.
2. Apple, where Steve was clearly king, would open source or give away software at times, likely when it made business sense and not for the sake of brotherly FOSS love. For example: Contributions to KHTML (Webkit) and Clang, and wholly contributed things like libdispatch, Apple Lossless codec, etc[1].
I'm pretty sure Pixar's move here would be considered a good business move.
http://www.disneyanimation.com/technology/index.html
http://www.openexr.com/ (ILM)
http://opensource.imageworks.com/
http://www.openvdb.org/ (dreamworks)
there are other examples, but I don't have links on this laptop now.
So it's a nice gesture, Pixar, but, well ... muh.
[I am curious what Pixar were they thinking when they decided to use the Ms-PL... Or was it just ignorance about Open Source?]
Ms-PL allows you to distribute derived works freely under any license but only if it is in binary form. If you distribute code in source form, then the license change style and requires that all code to be under the Ms-PL, and only under the Ms-PL. Since practically all free and open source project distribute code in source format, this makes code under Ms-PL incompatible with most projects.
Project will use the technology described in the now open patents, but the source code will likely never see any use beyond as a reference manual.
The Ms-PL, on the other hand, seems to be a license which is gratuitously incompatible with the GPL, simply to be incompatible.
I've seen projects where the README essentially stated "We hate the FSF, so we're using this roughly equivalent and yet incompatible copyleft license to piss them off," but I don't think Pixar are jerks, so I'll put this choice down to simple ignorance.
The whole thing which defines MS-PL is that you can take MS-PL licenced code and use it in a proprietary project without supplying source code (like with MIT/BSD), however if you DO supply the source code it must remain under MS-PL (thus viral, unlike MIT/BSD), in other words it was designed to be useful for proprietary projects (which is ground BSD/MIT already cover by being permissive) while preventing it to be used in conjunction with code licenced under GPL by having incompatible terms.
which (I believe) has received some official support from Pixar. More information:
http://en.wikipedia.org/wiki/Pixie_(renderer)
EDIT: Wikipedia link
This is purely subjective and opinion, but it's hard to qualify something as Pixar-quality based on looks alone. Supplemental to the aesthetics and animation of a Pixar movie are the stories, characters, themes and tones woven into the aesthetics.
Just my opinion, though.
http://en.wikipedia.org/wiki/Subdivision_surface
This library is mostly of interest to users of Renderman who need to match the Renderman subd implementation so they can create tools which position geometry on a subd rendered in Renderman.
Rango was done by ILM and demonstrates what they can do when trying to out-do their quasi-sibling company.
If anyone is interested and didn't already know, ILM & Sony made a splash into open source last year with Alembic http://www.alembic.io/
have to say im pretty impressed with the state of the code.
love it when i see ++index in for loops! props.
Obviously Pixar is still using this library, and would love to get fixes and features to fold back into the upstream project, however they are also actively managing and responding to issues being raised. This speaks volumes to how serious they are about supporting this software in its open-source form. I hope this becomes another successful case study of how to do open source, and provides useful feedback and additions for Pixar.