google / model-viewer

Easily display interactive 3D models on the web and in AR!
https://modelviewer.dev
Apache License 2.0
6.84k stars 807 forks source link

How can we manage copyright and access to 3D models? #1127

Closed andrewtsymbal closed 3 years ago

andrewtsymbal commented 4 years ago

Description

Model-viewer is a great idea! But there is a serious issue with the 3D files protection. Because anyone can open the code and download source .glb and .usdz 3D files.

For example if I have a web store and sell models for 3D printing. And I want my customers to be able to play with the model and check it from all the sides before purchasing. I can do it with the model-viewer. But at the same time, 3D files that I'll use for preview are not protected from downloading.

Moreover, if it's an image I can add a watermark on it to protect from stealing. And if someone will be using my image I can send an abuse report to google or web hoster. But if someone stole my 3D files and will be using them on another website, how can I send an abuse report?

An example Burberry Arthur sneakers - you can see a 3D file only in the google search. But it's not appearing on the product page. And in this case, how can I send a report if someone uses my 3D files in the same way?

An Example

https://uk.burberry.com/beta/nylonsuede-arthur-sneakers-p80210361 https://i.imgur.com/ixNcEfJ.png

cdata commented 4 years ago

@andrewtsymbal thanks for getting in touch with us. You are absolutely right that this is a tricky problem, and the solution is going to depend a lot on your specific use case.

Before I reply directly to your questions, I would like to make an observation:

glTF and USDZ are considered delivery formats; they are the format of a 3D file that is a by-product of exporting from a design tool. They are not the source files. They are more like JPEG/PNG, which are output formats that may be produced from RAW/PSD/AI source files.

Because anyone can open the code and download source .glb and .usdz 3D files.

This is true, and also applies to most things that you publish to the web today. Just like other media formats (video and images) on the web, the ability to download the content is required in order for a browser to present the content to the user.

Now, with video there is a special carve out for DRM (folks will have strong opinions about this one way or another). There is probably a case to be made for browsers to include special APIs that enable DRM on 3D models. After all, it is expensive to produce 3D models, and risky to make it possible for such content to be misappropriated by others.

One thing you can do today is limit the ability of folks to download assets by appending time-limited or access-limited tokens to the file URLs, and also set restrictive CORS headers on your website. These measures will stop folks from cross-loading your 3D models from other origins, and also stop folks from writing scripts to download your models automatically. However, this is far from a perfect solution if you wish to prevent someone from downloading your models at all.

Moreover, if it's an image I can add a watermark on it to protect from stealing.

There are actually a lot of ways that you can do the same thing with 3D models. 3D models are fundamentally a combination of images and geometry. You can (and folks do) watermark the textures in the 3D model. You can also add a watermark in the form of geometry in the model (e.g., your 3D logo floating in the background; although it is arguably easier to edit this kind of watermark out).

And if someone will be using my image I can send an abuse report to google or web hoster. But if someone stole my 3D files and will be using them on another website, how can I send an abuse report?

To be honest, I think the available course of action here would be the same in both cases. Perhaps I am missing something. Can you go into detail about how you think the scenarios would be different?

An example Burberry Arthur sneakers - you can see a 3D file only in the google search. But it's not appearing on the product page. And in this case, how can I send a report if someone uses my 3D files in the same way?

In this case, Google has made an association between the sneaker and the origin it was loaded from. Whether or not the sneaker is displayed to you on the origin is a choice by that content provider, but you surely can still report the abuse to Google and get them to stop serving the model. Does that sound right to you?

andrewtsymbal commented 4 years ago

Cristopher, thank you for the reply.

I'd like to share my point of view as a professional 3D artist.

All the time different blogs stealing my 3D renderings so I have to protect images with the watermarks and put a website address on them. But even watermarks do not completely protect my work. I had an experience when some people grab my work with the watermark and put their own above mine!

That's why a copyright question is very important to me.

glTF and USDZ files are not like JPEG/PNG images. Both formats contain the 3D model and textures. Here is how USDZ file looks like - it's an archive with the 3D scene and textures.

Let's say, someone download USDZ file and unpack it. Even if textures are marked with the logo, very often, it's very easy to remove them with Photoshop. Then if color correct and change textures, pack everything back to USDZ. Will the search engine recognize the original model or will appear it as new unique content?

The same for glTF you can easily open 3d scene with the Three.js editor and export to the editable file format. So it will be very easy to remove your 3D logo (if it's done with the geometry).

Today many brands start using this technology for their product. Here is an example And it's easy to find 3d files: .glb .usdz

Brands will invest a lot of money in 3D content, do you think they will be happy that anyone can get their 3D models?

And one more fact: once I created a 3d model one of the very famous shoe brands and posted it on my website. It was not 100% accurate and ready for production. But the brand representative reached me and demanded to delete the 3D model because they were afraid that people can download it and make 3D printed copies for sale.

cdata commented 4 years ago

@andrewtsymbal I'm sympathetic to the problem you are presenting, and the best I can offer you is that this emerging content format is very new and folks are still figuring out the best practices for production and distribution of 3D models.

But even watermarks do not completely protect my work.

Yes, and it is the same process to remove a watermark from a texture or a photo. But, photographers still put their work online. There is a balance to be struck.

The same for glTF you can easily open 3d scene with the Three.js editor and export to the editable file format.

Technically this is true, but this is a lossy transformation. Ultimately, your source .blend file will not be able to be reconstructed from a distributed .gltf file. You can also go out of your way to flatten your geometry and bake your textures so that they are no longer representative of the hierarchy in your source assets.

I had an experience when some people grab my work with the watermark and put their own above mine! That's why a copyright question is very important to me.

Ultimately, even with DRM it is possible for a suitably motivated individual to copy your work and re-distribute it. In my opinion, the best you can do is make it difficult to copy. At some point, you will cross a line where it becomes hard for your paying audience to view your work.

To offer a real-world example: it is actually not possible for me (as a paying subscriber) to watch Netflix on a lot of my devices (like the small display I have in my kitchen) because Netflix is very strict with how distribution / copyright controls work on their platform. But, nefarious people still somehow manage to copy and re-distribute Netflix's exclusive content. The irony is that if I downloaded the illegal copies, I would have greater flexibility to watch that content on the devices that I own.

Brands will invest a lot of money in 3D content, do you think they will be happy that anyone can get their 3D models?

Yes, I do. We work with the Khronos 3D Commerce group. This is a standards body consisting of major brands that is talking about doing just this.

I'm sympathetic to the problem you are presenting, and I also think this is an important topic for our users to consider. But, our project is not going to be able to solve the problems you are describing. You will have to decide what your personal comfort level is for distributing your work, and take the appropriate steps to mitigate what you think are the risks related to copyright.

elalish commented 4 years ago

@andrewtsymbal If the goal of your 3D content is to be a web-rendered object, then you're right that delivering that content opens it up to exploitation. It is unlikely (for technical reasons) that DRM will come to this space any time soon.

However, if your 3D content is meant to describe other content (e.g. actual objects available for purchase, or files meant to be 3D printed or otherwise manufactured), then you have some options. In this case, we need vastly less resolution (both geometric and texture) to make a good rendering than you need for manufacturing. A potential option is simply compression (see DRACO), which can remove enough detail that the file is useless for manufacturing but still good enough for rendering. This is akin to a photographer putting low res photos online in hopes that you'll buy a full res print.

elmau commented 4 years ago

Could it be possible to retrieve the file from a database?

cdata commented 4 years ago

@elmau certainly you can serve the file however you wish.