I’d like to see a huge open-source movement for 3d assets, the way we have an open-source movement for program source code.
It seems one important element for this to work at scale is a method within blender to attach copyright and license comments to specific pieces of data, so that it stays with that data as data is appended to scenes and edited.
Currently people are making copyright and license declarations outside of blender files, but that doesn’t really scale to composite assets, such as a scene that includes dozens or hundreds of models, each of which might have dozens of materials, textures, animations, etc. It would be better to put license declarations inside text-data inside blender, but even this is not great, because if there are 100 assets in a scene, and you want to reuise one of them in a different scene, it may be difficult to figure out which copyright and license goes with it.
Blender’s source code itself is possible because of an open-source movement of freely shared program code. That movement relies on copyright-and-license declarations inside source code files, that stay attached to the source code files if they are copied or moved around. Blender needs some similar way to keep copyright and license information on 3d assets (meshes, textures, shaders, animations, etc) as they move around.
I’d like any ideas and feedback about how to go about doing this within blender (or maya, or any software really). From what data needs copyright declarations, to how and where we should display this in the UI so it’s visible and editable. My ultimate goal is to flush this out into a UI proposal for Blender, and then some patches to add it to Blender.
I’ll start by creating a list of the data I think needs to support copyright and license declerations…
- scene object layout (aka instances of objects and their transform data)
- object shape data (mesh, curves, grease pencil strokes, uvmap)
- images (textures) -> in XMP/EXIF data
- node programs (shaders, compositing programs, animation nodes, sverchok)
- scripts (but these are already accounted for with text comments)
- custom armature UIs (not the bone geometry, but a custom rig UI)
- animation curve data
- VSE/NLE scene
Remember that this isn’t about enforcement. It’s about having something “as good as manually edited text file source code comments”, but for visual assets.
When a user joins two assets (such as joining two meshes), the copyright/license comments for those assets should be merged… though of course they could be manually edited afterwords.
When a user copy/pastes data with copyright/license data, such as duplicating objects, Blender should duplicate the copyright and license data as well. However, when a user copy/pastes some subset of data without license info (such as a subset of nodes in a node program) blender doesn’t need to do anything automatically. it will be up to the user to update the copyright appropriately, just like if you copy lines of source code from a text file to another file.
That said, it is important for Blender to make copyright/license declerations visible within the UI, in such a way that users can’t easily miss their existence… Again, a parallel is the way license declarations at the top of a source file are always in an obvious place.
For example, when looking at a node program, you can’t see the entire node program, so the copyright can’t just be hidden on a node at a random location on the graph. Perhaps a copyright summary could be displayed as a faint watermark on a node-editor or 3d-view background, with a gizmo to open full details.
Open to any and all thoughts…