Academy Software Foundation - Technical Advisory Council (TAC) Meeting - September 6, 2023

Join the meeting at https://zoom-lfx.platform.linuxfoundation.org/meeting/97880950229?password=81d2940e-c055-43b9-9b5a-6cd7d7090feb

Voting member attendance

Premier member Representatives

  • Bill Roberts - Adobe Inc.
  • Brian Cipriano - Google LLC
  • Cory Omand - The Walt Disney Studios
  • Eric Enderton - NVIDIA Corporation
  • Eric Reinecke - Netflix, Inc.
  • Erik Niemeyer - Intel Corporation
  • Esteban Papp - Amazon Web Services, Inc.
  • Gordon Bradley - Autodesk
  • Greg Denton - Microsoft Corporation
  • Jean-Michel Dignard - Epic Games, Inc
  • Kimball Thurston - Weta Digital Limited
  • Larry Gritz - Sony Pictures Imageworks
  • Mark Visser - Unity Technologies
  • Matthew Low - DreamWorks Animation
  • Michael B Johnson - Apple Inc.
  • Scott Dyer - Academy of Motion Picture Arts and Sciences
  • Sean O’Connell - Advanced Micro Devices (AMD)
  • Tony Micilotta - DNEG

Project Representatives

  • Carol Payne - OpenColorIO Representative
  • Cary Phillips - OpenEXR Representative
  • Chris Kulla - Open Shading Language (OSL) Representative
  • Jonathan Stone - MaterialX Representative
  • Joshua Minor - OpenTimelineIO Representative
  • Ken Museth - OpenVDB Representative

Industry Representatives

  • Jean-Francois Panisset - Visual Effects Society

Non Voting Project, Working Groups, Linux Foundation

  • Alexander Forsythe - RAW to ACES Utility Representative
  • Alexander Schwank - USD Working Group Representative
  • Daniel Greenstein - OpenImageIO Representative
  • Erik Strauss - Open Review Initiative Representative
  • Gary Oberbrunner - OpenFX Representative
  • Jean-Christophe Morin - Rez Representative
  • Nick Porcino - USD Working Group Representative
  • Rachel Rose - D&I Working Group Representative
  • Scott Wilson - Rust WG Representative
  • Stephen Mackenzie - Rez Representative
  • Tom Cowland - OpenAssetIO Representative
  • David Morin - Academy Software Foundation
  • Emily Olin - Academy Software Foundation
  • John Mertic - The Linux Foundation
  • Yarille Kilborn - The Linux Foundation

Other Attendees

  • Ben Schofield
  • Nikola Popravka
  • Deke Kincaid, Digital Domain
  • Daniel Heckenberg, Netflix
  • Bill Ballew, Dreamworks

Antitrust Policy Notice

Linux Foundation meetings involve participation by industry competitors, and it is the intention of the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws.

Examples of types of actions that are prohibited at Linux Foundation meetings and in connection with Linux Foundation activities are described in the Linux Foundation Antitrust Policy available at linuxfoundation.org/antitrust-policy. If you have questions about these matters, please contact your company counsel, or if you are a member of the Linux Foundation, feel free to contact Andrew Updegrove of the firm of Gesmer Updegrove LLP, which provides legal counsel to the Linux Foundation.

Agenda

  • Annual Review - Open Shading Language #437
  • Transition to LFX Meeting Management #460
  • New Agenda Building System #449
  • Project Proposal - OpenQMC #434

Notes

  • Transition ti FX Meeting Management
    • About half the projects have transitioned, some small, some larger
    • TODO
      • OpenCue
      • OpenEXR
      • MaterialX
      • OSL
      • OTIO
      • RAW to ACES
      • D&I Working Group
      • Rust WG
    • Would be good to get more volunteers
    • Fix for Daylight Savings Time coming in this week
  • New Agenda Building System (John Mertic)
    • We used a spreadsheet, we noticed some limitations we would run into.
    • From other projects, using GitHub Issues to track agenda items.
    • All Agenda Items submitted as an issue against the TAC repo, with pre-formatted issues for standard agenda items, including how much time is required.
    • When submitted, they get put in to bucket of “future agenda items”, then we do triage to plan meetings. Trying to look 2 meeting ahead, using Kanban board to represent upcoming vs future meetings.
    • Gives visibility since board is publicly visible.
    • Can provide more context, for instance Chris Kulla had added link to slide deck for OSL review.
    • Made it easy to build notes, there’s an auto generated template, and a list of attendees. Easy to cut-n-paste the Markdown code into hackmd.io which is like a Google Docs for Markdown. Helps with the meeting minutes.
    • From experience with other projects, seems to go pretty well. Next meeting we’ll fully shift over.
    • Erik: seems like too much mechanism, a shared doc is adequate? Kimball: if it helps JF to automate the creation of things? JF: I don’t have a strong opinion, I’ll do whatever works. Kimball: I don’t have a bookmark set. John: we can tweak this over this, it’s not a fixed / complex thing, but seems to help with scalability over time on other projects. It seems like a good infrastructure to have in place, but we can revisit. Cary: OpenEXR moved minutes out of repo into Confluence a year ago, submitting minutes through PR, distributed with project, enjoyed not having the minutes stuff mixed with the repo. John: the TAC repo doesn’t really get distributed. Carol: we did the same thing, it was cluttering our GitHub Slack as well.
  • Annual Review - Open Shading Language (Chris Kulla)
    • Presentation Slide Deck
    • Open Shading Language - What is it?
      • Shading Language spec for modern production renderers
      • A compiler and efficient runtime for the language
      • leverages LLVM for CPU and GPU
      • Started 15 years ago
    • Adoption
      • Software supporting OSL:
        • 3DS, Arnold, Blender/Cycle/…
      • Ties to other ASWF projects:
        • Dependencies: OIIO, OCIO, OpenEXR, OpenVDB
        • Used by: MaterialX
        • Collaborate with: OIIO, MaterialX, OCIO
      • At least 190 films (that we know of … please tell us!)
    • Agenda
      • Present OSL TSC
      • Updates on recent release
      • Roadmap
      • State of the project
    • OSL TSC
      • Meets every other week
        • Chair: Chris Kulla
        • Architect: Larry Gritz
      • 11 Voting Members
      • Usually 5-10 more non-voting attendees
    • Key Developments since ASWF membership
      • Batch shading mode using SIMD ops on Intel AVX / AVX-512
        • Contributed by Intel and Pixar
      • GPU back-end for NVIDIA OptiX/Cuda
        • NVIDIA
        • Sony Imageworks
        • Used by several shipping renderers
      • Overhaul of material closures
        • Collaboration with MaterialX
        • Epic & Autodesk
    • Recent Releases in the last year
      • Shipping 8 patch releases of 1.12 (monthly)
        • Bug fixes
        • Build improvements
          • Support for LLVM 15
          • OptiX library no longer a dependency of OSL runtime
        • Improvements to testrender for MaterialX testsuite
      • Release 1.13 (expected September 2023)
        • New Alternative APIs for renderer callbacks
          • LLVM bitcode based, allows renderer code to be inlined into JITed shaders
        • New APIs for streamlined data access
    • Roadmap
      • Intel actively designing / contributing on SPIR-V backend
      • Support for LLVM 16+ (Help wanted!)
      • Expand usage of new LLVM bitcode API
        • Shout-outs: Intel, Animal Logic, Pixar
      • Improve support for MaterialX closures in testrender
      • Support for triangle geometry in testrender
      • Evolutions to language syntax
        • New datatypes matching MaterialX
        • Ability to re-evaluate connected nodes in material graph
        • Other shader-writer improvements we’ve been putting off
    • Help Wanted
      • Good news: active development by Sony, Intel, Animal Logic, Autodesk, Pixar
      • Areas where we could use help:
        • Windows CI and improve Windows build experience
        • GPU CI
        • LLVM 16+ overhaul
        • More people working on GPU and related overhauls
        • Documentation, especially renderer integration
        • Ordinary small daily tasks
          • Core developers are spread thin on major features, but still get sucked into basic tasks
    • State of the Project
      • Incubation since 2020
      • OpenSSF best practices
        • Passing 100%
        • Silver 87%
        • Gold 70% (some may not apply)
      • Top contributors by surviving lines of code (git-fame)
        • Sony Imageworks (69%)
        • Intel (23%)
        • NVIDIA (2%)
        • Community (6%)
      • Ready for graduation?
    • Questions?
      • Carol: don’t have any question, but get presentation, and seems like you are ready for graduation.
      • Larry: not sure the Intel contribution is overstated, recently we’ve been increasing variety of sources. Also NVIDIA contribution may be understated. Thrilled that Animal Logic is contributing some deep patches and got merged.
      • Larry: something I like about the TSC meetings is that on top of discussing the code and project, it has become a forum for renderer designers to discuss and share issues they are running into, techniques that people find interesting. People have previewed talks that eventually became conference talks. So it’s become a forum that didn’t exist before to talk about the shading problem in general. A place for learning and knowledge sharing, I find that one of the more valuable parts of the meeting.
      • Chris: some of the companies that initially adopted OSL did this by forking and then improving their own fork, in the past year of so, both Animal Logic and Pixar are working to contributing everything back and getting back onto the main version. Good discussions about the changes they made, where it helps, where it doesn’t.
      • Chris: 6% of miscellaneous community contributions, for instance good PRs from Blender, OSL is shipped with Blender and hits corner cases we wouldn’t hit otherwise.
      • Larry: it’s become the main shading language exposed to 3DS Max users, a huge user base, and uses different parts of the language.
      • JF: are you asking for a vote on project graduation? Larry: yes, and would save us having to do a replay. It’s a bit of an odd situation that the graduation process is somewhat orthogonal to how widely used a project is. This is a foundational project used across studios and companies, the problem is very mature at this point. So we feel that graduation is fitting.
    • Voting: we have 13 voting members, 12 absent. Erik presents motion to approve, Carol seconds. All yes, no opposes, no abstains. Motion passes, congratulation OSL for graduation!
  • OpenQMC Project Proposal
    • Erik: no progress on this, move to next meeting
  • Dev Days (Carol Payne)
    • Used Google Sites to create a site
    • Want to launch registration tomorrow, we weren’t able to get in touch with LF team to build a website, so built our own. Not as pretty, but will work.
    • Basic info: what you need to do prior to the event, how the event will look.
    • Have official responses from these projects:
      • MaterialX
      • OCIO
      • OpenImageIO
      • OpenEXR
    • So if your project wants to participate, let me know ASAP so it can be on the list
    • Need some FAQs
    • Carol: Google Sites has quite improved since last time I used it, also works on Mobile. Will want a link from the ASWF site to this site, but want to get it done since we need to move.
    • Date: Oct 12-13 (Thu/Fri). For folks on the other side of the world, we want a 1 day commitment, but hopefully this is timezone friendly.
    • There’s a Register button which sends you to a Google form, form is short, wanted to get feedback if anything is missing. We don’t require that people work for a company to participate. There’s no way to restrict how many items are picked in a list, but we’re asking to limit to 2 projects. Larry: I’m more concerned that they may not know yet what project they want to pick? Cary: maybe “any of the above” could be an option? Carol: projects need some idea of how many people will participate. Maybe add a “I don’t know yet” option? Larry: if someone is committed to participating, hopefully they will get in touch with the project via Slack? Maybe we should indicate that. I like the form and the web site.
    • Carol: waiting for response from LF about what we need from a legal perspective. Added CLA and age requirements. Need feedback before end of day.
    • Pointed out CLA several times so people aren’t surprised that they will need to sign that.
    • Didn’t have something from OCIO yet, but will ask every project participating to put up a “project ideas” document / list (example from OCIO that had been done for GSoC). Link to “Good First Issues” in GH issues. Ideas from the project itself of how people can contribute in a 1 day context. We will launch tomorrow whether we have these or not, will add links on the side after the fact under the Participating Projects header.
    • Larry: Carol has emphasized what we need from the projects, but don’t forget that for those people who represent companies, you will need to wrangle CLAs, recruit people in your company you think should participate… Those people are likely not on the communication channels where this will be announced. We need to find the people in our departments who will be good for this.
    • Carol: spreadsheet to keep track of who wants to represent their company
      • Get OK from company on participation
      • Getting CLA in place
      • Getting people to participate in time
      • Direct them to where they need to go for help on building project…
      • Also a tab for the projects, we would love for more projects to participate. It’s not a huge commitment, it’s only 2 days. Just being available, committing your project / TSC, and making them available to help new devs.
    • If the first instance is small and helps us to figure out how to do this, that’s OK. Not looking to make this huge, but want a good experience for people who participate. Even if we only have 10 people participating, we want to make sure the projects are available to help them.
    • Jonathan: we had never created a B&W version of the MaterialX logo, but Apple has created one, will reach out and get that for you.
    • Jonathan: want to support this, it’s a hugely important initiative. Will the management support spending the time, but at our company, they do.
    • Larry: shouldn’t be onerous on the part of the companies or project, just means not to forget to check the comes. It’s not like you are going to sit in front of it for 8 hours. But allocate the day for the juniors who want to participate.
    • Cary: it’s a great initiative, our experience on how it unfolds will depend on on how many people and at what level. We may get a lot inquiries from people at a very junior level, even getting people to build the projects can be challenging. Unfortunately I’ll be out of town on those days, but will connect with as many people as possible, plan to get the project built by then.
    • MaterialX: we were inspired by the Dev Days event to add First Good Issues to the MaterialX project, and people have already started addressing them.
    • Larry: it’s very important from the project point of view to pull in new blood, but from a studio perspective, this addresses the issue of projects which are critical infrastructure, but you may only have a single engineer familiar with working inside the project. This can help de-risk use of the foundational projects. Also we all know how much we get out of participating in ASWF, it’s a huge professional development opportunity, but looking for ways for people earlier in their careers can benefit from this. So outside of the actual contributions to the projects, it’s valuable to have more contributors.
    • Carol: we want everyone participating to have a good experience, working with projects folks, getting support, the success metric isn’t PRs submitted to projects. Hopefully this will encourage people to stick around long term.
    • For projects, it will be helpful for your documentation if it’s not up to par.
    • JF: should we state up front that building on Linux (or macOS) might be easier than Windows? Could it be a FAQ?
    • Larry: we don’t want to scare away Windows users. Kimball: we may want to coordinate Windows activity betwene projects.
    • Erik: but want to set expectations, at least a heads up?
    • Carol: will make sure there are some basic expectations set: this isn’t a “teach C++” activity.
    • David: when do you plan to go live? Carol: have to push the button by tomorrow evening due to personal commitments. But press doesn’t have to go out until next week. Haven’t heard from LF yet. David: you’ve reached out to Emily? Carol: everyone at LF was on the email. David: will work at having link from the main page. Carol: will CC you.
    • Erik: can we get first issues for OSL? Chris: OSL is a pretty high bar for newcomers. Erik: thinking about NVIDIA employees who might be OK with CUDA. Larry: not sure we can break this up into short tasks. We may let OSL sit this one out, cut our teeth on some of the easier projects.