Skip to content

Instantly share code, notes, and snippets.

@meshula
Created March 10, 2023 17:33
Show Gist options
  • Save meshula/371e0d468d7395cfc505b0ab89c31b21 to your computer and use it in GitHub Desktop.
Save meshula/371e0d468d7395cfc505b0ab89c31b21 to your computer and use it in GitHub Desktop.
aswf-notes.md

Windows tooling

Windows c/c++ tooling (in general) causes unnecessary pain, from dllimport/export to debug vs release crt we can establish expected practices eg aswf projects have a common pattern on how to do the adornment we can try to engage microsoft i understand they won't listen or respond in general we can explore solutions. We could bypass the CRT entirely by investigating a move to musl. There are many possibilities.

build systems

build systems as commonly practiced are slow cmake can be really fast or absolutely awful expert knowledge is sparsely distributed non expert constructions yield fragile systems teams often don't have a priority to maintain the build systems we may or may not still have projects here on cmake 2.8

reverse engineering

reverse engineering of open systems (such as OpenEXR or USD) is not really reverse engineering it is an exercise in documentation and specification

reverse engineering of closed systems (such as FBX) is in some sense a fool's errand it's contrary to IP agreements in many case you are only ever able to make observations on inputs, you can never guarantee you've deduced behavior

re-implementation

in a context such as ASWF, it makes sense for re-implementors to be engaged with the originating project teams Kimball rewrote the core of OpenEXR in C, as a team member It makes sense to do Rust rewrite in the same context if the EXR team, Kimball, the Rust author are working together, then the Rust version is in some sense also a canonical implementation that we as ASWF can promote and make claims about correctness. As it stands ASWF can't promote the rewrite because we can't make any claims or guarantees about correctness, security, and so on.

IP regime

many projects here include patent grants those grants don't extend to reimplementations except under well defined circumstances you can see in the licenses working as part of the official efforts includes those projects within the IP rights granted the project. To me the biggest reason to engage with the ASWF team on a reimplementation is to build community, collaboration, and diverse points of view within the community, and to get all the benefits of a collective, shared, effort.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment