ASWF TAC Meeting - 19 April, 2023
Voting member attendance
Premier member representatives
- Bill Roberts - Adobe Inc.
- Brian Cipriano - Google LLC / OpenCue
- Cory Omand - The Walt Disney Studios
- Eric Enderton - NVIDIA / DPEL
- Eric Reinecke - Netflix
- Esteban Papp - Amazon Web Services
- Gordon Bradley - Autodesk
- Greg Denton - Microsoft
- Jean-Michel Dignard - Epic Games, Inc
- Kimball Thurston - Weta Digital Ltd / Chairperson / raw2aces
- Larry Gritz - Sony Pictures Imageworks
- Mark Visser - Unity Technologies
- Matthew Low - DreamWorks Animation
- Michael B. Johnson - Apple Inc
- Roy C Anthony - DNEG
- Sean C McDuffee - Intel Corporation
- Sean O’Connell - Advanced Micro Devices (AMD)
Project representatives
- Carol Payne - OpenColorIO
- Cary Phillips - OpenEXR
- Chris Kulla - Open Shading Language
- Jonathan Stone - MaterialX Representative
- Joshua Minor - OpenTimelineIO
- Ken Museth - OpenVDB
Industry representatives
- Jean-Francois Panisset - Visual Effects Society
Other Attendees
- David Morin, ASWF
- John Mertic, LF
- Yarille Kilborn, LF
- Emilly Olin, LF
- JT Nelson, Pasadena Open Source consortium / SoCal Blender group
- Stephen Mackenzie, NVIDIA/Rez
- Doug Walker, Autodesk
- Sergio Rojas, Different Dimensions
- Nick Porcino, Pixar
- Scott Wilson, Rust WG
- Robin Rowe, Cinepaint
- Gary Oberbrunner, OpenFX
- Jean-Christophe Morin
- Kerby Geffrard, Open Review Initiative
- Bill Ballew, Dreamworks
- Deke Kincaid, Digital Domain
- Lee Kerley, Sony Imageworks
Apologies
*
Agenda
- Open Source Days/SIGGRAPH FINAL plan review (Emily Olin)
- OpenImageIO Project Proposal (Larry Gritz)
- MaterialX / ASWF on Mastodon (Jonathan Stone)
Notes
- Open Source / SIGGRAPH (Emily Olin)
- Not a huge update from 2 weeks ago
- Open Source Days will be Sunday, at the JW Marriot, but outside SIGGRAPH, free and open
- Will be a CFP, and a program committee
- Series of virtual town halls for projects in weeks leading up to SIGGRAPH, will be recorded and put on YouTube. Can present to community, and can have bigger Q&A later on
- Flexible, can be scheduled based on availability
- BoFs at SIGGRAPH for projects who want it, will need registration
- If we do it Monday and Tuesday, can do it at Convention Center
- Meetup or Presentation style, will still be part of Open Source Days but separate
- Link to spreadsheet that projects need to fill if they are interested:
- Virtual Town Hall Y/N
- BoF Y/N
- Meetup or Presentation
- Session Description (3-4 sentences)/ Main Contact-Speaker
- Expected Attendance (booking room for 75 person)
- Targeting 1H, but can combine if you think you can’t fill 1H (two WGs for instance)
- Ken: we submitted a proposal for a course on OpenVDB, waiting to hear back, so we don’t know if we want a timeslot based on that. Don’t know when we find out, probably 1 or 2 weeks from now. Emily: probably worth filling the info so we can reserve the timeslot, can always forfeit it.
- Emily: will send link out to every project to fill, should be quick
- SIGGRAPH is technically allowing recording, we don’t think recording BoFs gives a good experience, which is why we prefer the virtual Town Halls. No “virtual” option. There will be a microphone and a project, but no plan on recording. But if someone from the TSC needs to join remotely, can put that up on a projector, but that’s not “official”
- Robin (chat): Do you want to add Cinepaint to your grid? I would host a session, but we’re not in your list. Carol: It’s only foundation projects on the list right now it looks like. I’d imagine you could submit a proposal for a talk at open source days! Will let Emily confirm of course. Emily: Thanks Carol! Yes, this is just for Foundation projects, but I’d encourage you to submit for the Open Source Day CFP once its live
- OpenImageIO ASWF Submission Proposal (Larry Gritz)
- What is it?
- Make it easy to read / write manipulate image files of any image file format relevant to VFX / animation via a format-agnostic API
- Core PAI
- ImageInput / ImageOutput: Generic API for reading / writing lots of image formats, hiding format-specific details
- Read individuals scanlines, tiles, or whole ile
- Metadata
- Data type conversions
- Implementations for all the formats important to VFX
- Some use native libraries
- Other from scratch
- ImageInput / ImageOutput: Generic API for reading / writing lots of image formats, hiding format-specific details
- Higher level APIs
- ImageBuf: whole-image, memory-managed, no explicit I/O
- Iterators to traverse pixels for low-level operations
- ImageBufAlgo: lots and lots of image processing functions
- Examples: crop, color convert, resize, image math, text overlay, channel shuffle
- ImageCache: full memory and file handle virtualization
- Handles tens of thousands of “open” files, multiple TB of pixel data
- TextureSystem: filtered texture lookup
- ImageBuf: whole-image, memory-managed, no explicit I/O
- And the rest
- Python bindings
- Several other specialized command line utilities
- Oiiotool…
- Ecosystem role
- Used by approximately every animation/VFX studio
- Command line and Python bindings for scripting image processing
- ingest/conform, format or data type conversion, color space conversion, make slates, simple command line compositing…
- C++/Python APIs for all basic image reading and writing in studio apps
- Used inside most large DCC apps, renderers…
- Dependency of OSL, MaterialX, OCIO, USD, Gaffer…
- Depends on OpenEXR, OCIO OpenVDB
- Included in most Linux distros, Homebrew, VcPkg
- Used by approximately every animation/VFX studio
- History / Popularity
- Open source since 2008 (BSD license)
- One of the oldest VFX-specific open source libraries
- Not officially sponsored by any company
- 190+ contributors
- 1600+ GitHub stars, 500+ forks
- This week is OIIO’s 15th birthday
- Open source since 2008 (BSD license)
- The problem
- Over the years, criticality to the industry has grown steadily
- Significant support by the industry has plateaued or shrunk
- Lots of varied small contributions, little steady involvement or ownership
- Understandable - it is great, production solid, and seems to run itself
- Too much is bottlenecked on one person
- Not my only code project; code projects are not my full time job; job is not my whole life
- It’s not a crisis yet, but it’s a risk I think about a lot
- It is already the case that things fall through the cracks
- What could OIIO do with real support?
- Better Windows support + pre-built binaries
- Python wheels / PyPI install
- Long overdue overhaul of camera raw and movie file support
- GPU port of TextureSystem (and other GPU acceleration)
- Rust and C bindings
- (each of those things could use an “owner”)
- The sky’s the limit - what else can we do together?
- Danger / Please for help
- Bad outcome:
- LG still does almost everything
- But now burdened with an additional meeting and organizational hoops
- And a TSC full of people asking for things
- Proposal acceptance MUST include:
- TSC that is a majority doers, not just advisors
- Vibrant steady contributor community
- “Owners” of several code areas / topics
- Major stakeholder companies to step up
- Role models: OpenColorIO, MaterialX
- Bad outcome:
- Discussion
- Jean-Christophe (chat): Python wheels were in progress last year, but I got stuck on licensing questions (OIIO has a LOT of dependencies and they all have different licenses)
- Scott (chat): For things like the GPU texture support, I feel like we should communicate with consumers of OIIO (such as Blender with Cycles, Autodesk with Arnold, Pixar with RenderMan, etc) to either put resources in, or get some of their contacts (for example, Nvidia, AMD, Apple) to help add support.
- Eric (chat); NVIDIA already talking about OIIO contributions … Don’t know yet how much resources I’ll be able to shake loose.
JT (chat): Blender, from my experience as an external community dev, shies away from contributing directly and extensively to almost all used libraries other than what they use it for and providing PRs for patches very specific to blender usage. They may consider something different but historically the focus on their “own way.” - JF: any volunteers yet? Larry: there are people I can think of, it’s been 1.5 weeks since I put out the application, posted also on OIIO list, but haven’t really heard anything concrete. Don’t want to say the project is not sustainable, but it can’t be all it can be. Need people to think about what resources they can put in. Not quite the “building on fire” call, but not sure the project is secure going forward.
- Robin: how could I help? Larry: I need several people to come forward. I have 4-5-6 different areas that could use someone with expertise in that area and take responsibility and can put some time into it. And maybe a few more people who can help part time, issue triage, answering questions, learning enough to spread expertise around. Which would help free me up for other issues, since I have to coordinate every release, track down issues, deal with CVEs… If someone could come forward and say “I’ll take care of Windows”, or “I’ll take care of PyPI”… But I don’t want to be too prescriptive. Robin: I can take care of Windows C++
- Carol: really good to see, from a perspective of being honest, from outside perspective, people don’t understand all that’s needed to keep OIIO running. ASWF brings to light a lot of things happening in those projects, making it more public. I think that getting accepted in foundation is good first step regardless. It might take a bit of time, from OCIO perspective, we talk how we can support other projects, where we can bring expertise. Bringing light within OCIO channels. LG: we’ve had really good collaboration with OCIO, a lot of what OIIO does is wrap OCIO, the OCIO project is very responsive to OIIO user requests. New functionality appears in OCIO which is awesome. Would love to have a color expert make smart choices. Carol: yes, we can talk about that, we have resources, we can move some resources to OIIO for a bit / long term.
- Jonathan: so many of concerns you bring up resonate with other projects. OIIO has a really good chance of receiving net benefit from joining ASWF, has a large code surface, and people who aren’t deep in an area of expertise may be able to contribute, whereas people might be more scared of contributing to OSL due to lack of knowledge about PBR. I can volunteer to try to encourage people at ILM to work on OIIO. LG: I need to do that at Imageworks as well, where it is used a lot. I also need to make people more comfortable to contribute.
- Wave: I could recruit people at Apple as well. GPU accelerated paths make it interesting to engineers, but if you have a TSC with a bunch of people with a bunch of engineers… There might be some staged movement through the process, “toss it over the fence” to ASWF, get a temporary group of TSC people who may not be able to write code but at least advocate for it and try to recruit contributors. Also on the vendor side.
- LG: I’m OK with that plan of “tossing it over the fence”
- Wave: I wasn’t clear that “OIIO is just Larry!”. LG: it’s not just me! Wave: but it’s not in ASWF, and not a Sony project.
- Gordon: if you look at industry challenges when we set up ASWF, feels like a poster child for this purpose, this shouldn’t be Larry’s problem, it should be our (the TAC)’s problem. Larry shouldn’t have to be rattling cages. I support bringing it in, as a TAC we should be reaching out to our organizations, findS the people who would benefit from new features. I love that you bring this up, and thanks for the overview of the project.
- Sean: Intel would like to get involved, especially in GPU support, and can get resources
- Kimball: is there anything we need to know? What is the phase we would accept at? Is there a motion for a vote? Wave: if Larry can share those slates, I would be happy to take that back to some people at Apple, and try to get some resources. LG: I trust that you have all gotten the point and that this is not a “hollow” vote. I trust the TAC to follow through, but it can’t stop with the vote.
- David: it is a good move for everyone to talk about OpenImageIO within our companies, having the slide deck is good, we should do it now, as we look to bring in OIIO. There will be marketing when it’s adopted, but we need to make sure people don’t think just because it’s adopted, “it’s taken care of”. LG: will send out the link. Kimball: will reach out to people at WETA. Larry: I know people at Animal Logic are working on.
- LG: I have a semi-optional CLA, but I can decide for small things to wave it, that has helped, sometimes the CLA can stand in the way. Having the same CLA as ASWF administered through EasyCLA should take care of that. Open question for the TSC / TAC, should the question keep the CLA, some people who would contribute see it as a hindrance, on the other hand, someone else told me recently that some organizations might be more comfortable if everyone contributing uses the same CLA. Not sure if it helps or hurts, I put it in place 15 years ago, but it’s not come up since. Changing to ASWF CLA is a time to revisit this, consult with the stakeholders. There can always be bureaucratic headaches, and we lose contributions due to that, not unique to this project. Part of the work of ASWF is to normalize contributions from our companies, people should have wide latitude to improve the projects our companies rely upon.
- Kimball: Larry to circulate slide deck, we will look at it, reconvene in 2 weeks to complete.
- Link to email containing slide deck PDF
- What is it?
- Hackathon (Carol)
- Put a document together
- Calling it “Dev Day” (working title), got some feedback about some possible stigma around “hackathon”, competition aspect that we’re not aiming for.
- The doc lays out what this event tries to solve, important to keep at a scale we can manage as a relatively small foundation. Make it beneficial to the people who participate in it, not put too much burden on our projects to do, since it will be a bunch of work.
- Some thoughts around time commitment
- List of questions we need feedback on, haven’t done something like that before, can we make something like this happen
- I need people to reach out to your companies, people who run software depts, pipeline depts, is this something you would be interested in.
- A couple of initial outreach to companies, pretty positive responses so far, but we want to make it a first, good experiment. Would like to get opinions from member companies as to whether they would want to participate and put resources in.
- You may not be the ones making those decisions, and is this what you thought a “hackathon” would be
- David: “Dev Days” sounds better than hackathon
- Kimball: do we have a short statement of goal for dev days?
- Carol: no, since I think it should come out of this group. Have a hard time to come up with a single thing since it’s multi faceted. A goal is specifically not to get great code contributions for our project, at least not initially.
- Kimball: it’s one thing to say “do we want to do a bug squash day”, but if we are looking for new ideas, that’s different? Larry: may want to find juniors who haven’t made contributions before, and show them that it’s not that scary. And cut red tape in organizations by having a bunch of people working at once. Also as career benefits, it’s the same people on the TSCs, most senior people in 20 years. Where’s the next generation coming from? There’s a lot of younger engineers who haven’t contributed to these projects.
- Carol: I’ll put a TL;DR at top of document to summarize this.
- Eric: the mission statement is there: get junior people in the industry to contribute for the first time.
- Larry: being involved in these ASWF projects is touching something that’s used in all projects in all studios, gives you a skill in demand, networking with senior people, there are so many benefits career wise. How many people have won Sci-Tech awards for these projects. Junior people are perfectly able to get involved.
- Carol: there is a large, steep learning curve for these projects, and requires a general idea of how these projects are used, you have to have been exposed to how these projects are used in the industry, instead of “coming in cold”. (contrast with Google GSoC). Hopefully can find some longer contributors with a baseline knowledge of how pipeline / animation / … works. Every member company doesn’t have the same types of resources, but if you have junior engineers, they could participate. Won’t target as much companies on the DCC side that might have junior engineers.
- Carol: Please comment on the document, if this is interesting, the entire TAC will need to participate, this is not a D&I initiative, it is a TAC initiative. Larry: there is a diversity component to expand the tiny core working on these projects. Carol: D&I WG can help with that component, but cannot run the whole project.
- Deadline for comments / TAC member feedback is 2 weeks (not necessarily commitment from your company yet, that’s a bit too short timeframe).
- Robin: decision on Cinepaint presentation?
- Carol: we thought we would try to find a slot in an upcoming meeting? But we haven’t decided yet.