We need a way to put NOTES on specific assets, for copyright and license info

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…

3 Likes

:thinking: what is CC (Creative Commons)

Creative Commons is a set of licenses.

I’m talking about a way to make a NOTE on some content (like a mesh) as being under a specific license, such as CC-Zero, within blender itself. So if I have 100 assets in a scene, each asset can have it’s own license note. And if someone reuses a single asset from my scene, the copyright and license for that asset automatically (or easily) can be transferred to their scene.

Right now, people put the licensing information outside the blend file, but this does not scale to large numbers of assets in a scene. Using a text-editor within blender itself is also not a good solution, because we need the proper copyright to be attached to the proper asset, so if someone reuses a single asset in a blend file, they get the right copyright and license information transferred. For this reason, we need the copyright declaration to stay with the asset as it’s appended, duplicated, and moved around.

It is not ideal, but what I do is with the textures is I’ll have a pointer to the copyright on the web, which gives the added value of sending people my way when they see the thing out in the wilds of the internet.

Where do you currently put the pointer to your website?

For textures, my plan is to make UI changes within Blender to edit EXIF and XMP data within image files, so you could include your copyright, license, and URL to your website directly in the images themselves. That way, if a blend file had 100 texture images, it’s clear which urls and copyrights apply to each image.

1 Like

Maybe it’s just me, but this smells a lot like DRM.

2 Likes

@dgorsman My goal is not closed assets but OPEN assets… Like open-source software.

Look at Linux, and Blender, and Webkit/Chrome/Safari, which are all massively successful community constructions enabled by the ability to attach open-source licenses to open-source code.

In fact, I personally consider even CC-BY and CC-ShareAlike licenses to be too restrictive for open assets, because they require attribution in renderings. If someone composes a kitchen scene out of 100 CC-BY meshes (things like coffee cups, and bar stools, and refrigerators) – even tracking them is difficult, let alone somehow fitting attribution credits into a single image. These rendering attribution requirements make the assets not free, the cost of using them is an attribution requirement that’s impossible or impractical to achieve. I want to encourage a library of open assets that are without restriction, like the open-source code in Blender itself.

However, CC-Zero is not suitable either, because it allows derivative versions to be restricted. Once the assets are made free, I want their derivative versions to also be free. This is like CC-ShareAlike, but without attribution requirements on renderings. This requires the license address the difference between source-assets (like blend files) and renderings, which Creative Commons licenses don’t do.

Open source software has a solution to this problem, called “copyleft”, which is used in the license for the program source code of Blender itself. The GPL license says that you can modify and use the source code however you want, but your modified versions must also be free, and you may not put any restrictions on the programs it’s used to create (which forbids attribution requirements in executables).

As a result, I’m working on my own license, to adapt these copyleft and CC-ShareAlike concepts to 3d assets. My assets released under this license will be completely free, and will require modified versions of my asset to also be free. Further, no restrictions may be placed on renders. Creators and constributors get credit in the blend file copyright notice, but there are no attribution requirements on renderings. Instead we merely request credit for notable and prominant featuring of an asset. This will make commodity 3d assets (like coffee mugs, and refridgerators, and kitchen scenes) actually useful in an open and free reuse and remixing environment.

However, in order to support community remixing and sharing of interesting free scenes and projects, composed of 100-1000 free assets, we need a way to attach the copyright and licensing information to these assets individually and specifically.

I’m not ready to post my new open-asset-license publicly, but if you send me a private message I’m happy to send you a link. I’d love any feedback or thoughts people have to make it successful.

You have the text editor and models can be linked from one blend into another, basically what you are asking is already in place.

Not that an iterative improvement would hurt or anything, but you make it sound like the current solution isn’t workable.

I do think it might be worth contacting the developer in charge of asset management to discuss this in more detail perhaps. Real opportunities for improving in this department likely lie there.

Attach text as is with every white paper (academic or other author’s work).

This is a very reasonable request. It’s rather a pity you’ve come up with it this late in the dev cycle for 2.8.

In any case, I suggest writing up a more detailed proposal and posting it on developer.blender.org, or devtalk.blender.org. Blenderartists is only seldom visited by devs these days.

2 Likes

I have a finished dinner table scene, now I want to use one of your cups to replace one of mine. I link/append in your mesh data and replace the mesh in my object since it is already located where it should be. How is the licence retrieved?

Maybe as a separate datablock that is always looked for and imported, or created if the system finds a licence file? If datablock, how to handle for instances and duped stuff? How would it be handled for importers - create a blank one?

But to me it’s not only about the licence, a readme/notes/howtouse/instructionals would also be nice to have easily available. Should be able to read these somewhere, possibly its own editor/viewer?

sharing or not sharing, this is the problem :grin:

I’m a little concerned over the possibility of a (literally) infectious copy-left process on assets. Rather than a long winded “everything should be free”, I get the feeling this would create a chill on sharing and creation as people would stay away for fear of something legally actionable popping up in the middle of a commercial product.

my meme was a joke, an obvious thing about what lies behind human temptations.

I’m much more interested in what the systems bring collectively over the years, this fascinates me.
I’m not interested in single events.

My vision is more anthropologically and philosophically deep … in the sense that if all that I have learned and absorbed comes from the world that surrounds me, what I reassemble and I share, it is totally mine, in the sense that it is entirely my fruit and so my property ?

I don’t think so, and that’s why I prefer more hybrid vision, which means that I obviously recognize the value of my work, but at the same time that people who love my work, and therefore indirectly love me, can share it without too many fears … this is the basis of real human nature, beyond the fact that over time the institutional laws have created distortions in the psyche people over the centuries: this seems to me an overlap multi-layered of "fair use and traditions " that have distorted the benevolent nature of the initial laws …
then the internet arrived, and with the passing of the years this problem-distortion became evident and new contracts-licenses (creative commons) between people for the new system were born …
the whole is leading us towards a transformation of the whole system … slowly step by step.

I’m not for or against, I’m just a careful observer of this journey along the time :slight_smile:
it fascinates me a lot.

1 Like

As present so called “developed” society world brings more bureaucracy, more inertia, more wasted time, more energy consumption, more mistakes, bugs, intolerance, judgements, death… have you considered you might be calling in hell to solve your personal problem. Because We (you and me) don’t need it. I only see less life, almost no real life between us anymore.

Hey Dave!

I probably don’t understand exactly what you are asking for. But don’t you just need a few new fields added to “object” struct, one an Int for CC licence type, an “attribution” string, and maybe a “modified” flag? Populated automatically from your preferences when you make something new, but otherwise just carried around?

I would agree for a very unique type asset, which I probably wouldn’t share at all anyway. I don’t agree if this is general purpose scene assets that pretty much anyone could make, such as chairs and other basic furniture, clutter. I mean, if I make a coffee cup (maybe even with ornaments), would it be my model considering I used reference photos and not my own design? For basic stuff like this I don’t even care and I’ll put it into PD - so what if others make money out of it - good for them. For a specific look character of my own design, I just wouldn’t share it at all. For a clothed generic MBL based character, I wouldn’t hesitate to share (even if clothing is my nemesis #1 :D).

I mostly browsed Blendswap for cc0 stuff, and the quality was generally horrid for hat I looked at. I render out some stuff at work, but I don’t have the finishing touch. I couldn’t risk to use a cc!=0 asset and do my credits in the image only to find it be removed by the next guy in the chain (for prepping a brochure or something) - the sales guys often want to to remove photorealism as well, so :smiley:

good idea and intention but

most models we see on forums or even free Stuffs on blendswap is low quality
not even worth adding more data for whom did it

don’t forget that more data also means blender get slower!

so i don’t think this would add any real benefits.

another things even if you do it in US anywhere else on the planet might not implement the Legal stuff around copyright
so not a useful and practical solution !

my 1 cent
of common sense if it still exist LOL

happy bl

1 Like

@Harley - you have the general idea. The copyright and license needs to be free form text to support any license, not an int. And it needs to support multiple entries and merging entries. For an object/mesh it could just be a text comment with multiple lines. For an image, it would be best to support EXIF/XMP tags in the image file itself. However, yes, you have the basic idea. I’ve opened up this discussion to talk about the details and get feedback. Then i will make a ui design draft.

To those suggesting current text blocks solve this . They don’t, because copying or appending an asset from another file will not perpetuate these declarations. Carefully manually copying a declaration might work for a couple assets, but it breaks down when a scene uses dozens of open assets, each of which might have dozens of pieces or edits by different authors…

1 Like

Need is to think - prognosis of a 100 years later… “crypto hell” is a system that never deletes, erases. “Ponzi pyramid” aka IOU forever and ever. Same crap that is happening in every ind. or commercial branch of computerized society. We need to forget and forgive to continue evolving. It’s just about the use. So one only deconstructs the scene to reconstruct it as it pleases. Your idea and concept, gone! It’s almost a century old artistic method to create anew :wink:

1 Like