Exactly 10 years ago (more or less -- 21 April 2008) was the very first checkin
to the OIIO code base, consisting of two BSD-licensed public headers from
NVIDIA's defunct Gelato renderer. Both rapidly diverged and have long since
been completely rewritten, but in Gelato's imageio.h you could see the first
bones of what OIIO grew up to be. (The second file was "paramtype.h", a
conceptual forerunner to our typedesc.h.)
A lot has happened since then! OIIO is more or less ubiquitous in VFX and
animation pipelines, used by every large facility for command-line scripted
image processing, embedded into proprietary C++ and Python apps, as a
dependency in other large open source projects (OSL, USD, and Blender, among
others), embedded directly or transitively in quite a few commercial products
(including nearly all of the major renderers). It's probably not an
exaggeration to claim that scarcely any motion picture is made without a lot of
its pixel data passing through OIIO. And it's used increasingly in many other
fields as well.
OIIO has had contributions from around 140 authors (`git shortlog -sn` reports
158, but I see ~15 that I recognize as duplicate logins). Contributions range
from one-time one-line fixes to full support for new file formats or other
important features. By all measures -- contributors, longevity, ubiquity of use
-- it's a model of successful open source development in VFX and is frequently
cited as such.
Thank you all -- users, contributors, and cheerleaders -- this has been one of
the most enjoyable and rewarding projects of my career, and it would be nothing
without all of you.
All that said, now I have a big ask.
I'm very proud of OIIO's stability and performance, but you know how software
is -- as long as people are leaning on it hard, it's never really "done." Its
extensive adoption as critical infrastructure causes new, worthy tasks to get
added much much faster than I can possibly complete them. That would be true
even if OIIO was the only thing I worked on, but it's not, by far.
There will always be tasks where complexity or efficiency demand that I have to
do it myself. But we should try to minimize those areas, put in the extra work
to make other people become experts on the code. Not just so we can handle more
total tasks than I can tackle alone, but also to minimize risk and ensure that
the project doesn't come to a halt every time I get sick, go on vacation, get
extra busy in other aspects of my day job, or, sheesh, get hit by a bus or
something. Too many people and places depend on this project for me to be on so
many critical paths.
I need more people to step up, for users and integrators to become
contributors, and for casual contributors to become sustained experts and
maintainers. For more people to see a GH Issue and say, "I can fix that." And
for more companies who depend critically on OIIO to assign engineers to work on
a package that their facility uses so heavily, whether it be in big chunks to
implement features, or just the standing permission to send the occasional fix
when they come across something they know they can improve. The number of
companies using OIIO is vast; even small contributions from each would add up
quickly.
Let's make the next 10 years even more successful together.
-- lg
--
Larry Gritz
[email protected]
_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org