three.js
three.js copied to clipboard
Require media licenses
Describe the bug
Not all 3d models or media assets have their own licenses. For example, horse.gltf.
Expected behavior
To have an appropriate media license attached to every model or media asset.
Here's a list of the assets used in the threejs repo to help track progress:
3dm
- [ ] 3dm/Rhino_Logo.3dm | Commit by @fraguada
3ds
- [ ] 3ds/portalgun | Commit by @tentone
3mf
- [x] 3mf/cube_gears.3mf | Commit by @technohippy
- [x] 3mf/multipletextures.3mf | Commit by @Mugen87
- [x] 3mf/vertexcolors.3mf | Commit by @Mugen87
- [x] 3mf/facecolors.3mf | Commit by @Mugen87
- [ ] 3mf/truck.3mf | Commit by @Mugen87
amf
- [ ] amf/rook.amf | Commit by @elijahsgh
bvg
- [ ] bvh/pirouette.bvh | Commit by @herzig
collada
- [ ] collada/abb_irb52_7_120.dae | Commit by @ferrolho
- [ ] collada/skin_and_morph.dae | Commit by @timknip2
- [ ] collada/elf | Commit by @Mugen87
- [ ] collada/pump | Commit by @mrdoob
- [ ] collada/stormtrooper | Commit by @Mugen87
draco
- [ ] draco/bunny.drc | Commit by @mrdoob
fbx
- [ ] fbx/Samba Dancing.fbx | Commit by @mrdoob
- [x] fbx/nurbs.fbx | Commit by @LouisBrunner | | [CCO, ⚠️ External License]
- [ ] fbx/stanford-bunny.fbx | Commit by @daoshengmu
gcode
- [ ] gcode/benchy.gcode | Commit by @tentone
glTF
- [x] gltf/BoomBox.glb | [Public Domain, ⚠️ External License]
- [ ] gltf/ShadowmappableMesh.glb | Commit by @zalo
- [x] gltf/SheenChair.glb | [CC-BY 4.0 ,⚠️ External License]
- [ ] gltf/SimpleSkinning.gltf | Commit by @Mugen87
- [ ] gltf/Flamingo.glb | Commit by @donmccurdy
- [ ] gltf/Soldier.glb | Commit by @Mugen87
- [ ] gltf/Stork.glb| Commit by @donmccurdy
- [ ] gltf/Horse.glb | Commit by @donmccurdy
- [ ] gltf/Xbot.blend | Commit by Christine Morten (⚠️ no GitHub acct)
- [ ] gltf/Xbot.glb | Commit by y Christine Morten (⚠️ no GitHub acct)
- [x] gltf/IridescentDishWithOlives.glb | [CC-BY 4.0 ,⚠️ External License]
- [ ] gltf/coffeemat.glb | Commit by @zeux
- [ ] gltf/LittlestTokyo.glb | Commit by @donmccurdy
- [ ] gltf/collision-world.glb | Commit by @supereggbert
- [ ] gltf/facecap.glb | Commit by @looeee ⚠️ Attribution in html
- [x] gltf/ferrari.glb | [CC-BY 4.0, ⚠️ External License]
- [ ] gltf/Parrot.glb | Commit by @donmccurdy
- [x] gltf/PrimaryIonDrive.glb | [CC-BY 4.0,⚠️ External License]
- [x] gltf/AnimatedMorphSphere | [CCO, License]
- [x] gltf/ClearcoatTest | [CC-BY 4.0, License]
- [x] gltf/DamagedHelmet | [CC-BY-NC, License], unclear which license version
- [x] gltf/Flower | [CC0 1.0, License)]
- [x] gltf/LeePerrySmith | [CC BY 3.0, License]
- [x] gltf/MaterialsVariantsShoe | [CC-BY 4.0, License]
- [x] gltf/Nefertiti | [CC BY-NC, License], unclear which license version
- [x] gltf/RobotExpressive | [CC0 1.0, License]
ifc
- [ ] ifc/rac_advanced_sample_project.ifc | Commit by @agviegas
json
- [ ] json/QRCode_buffergeometry.json | Commit by @Mugen87
- [ ] json/pressure.json | Commit by @mrdoob
- [ ] json/WaltHeadLo_buffergeometry.json | Commit by @Mugen87
- [ ] json/suzanne_buffergeometry.json | Commit by @looeee
- [ ] [json/lightmap]
- textures [CC0]
kmz
- [x] kmz/Box.kmz [CC BY 4.0, ⚠️ External License]
ldraw
lwo
- [x] lwo/Objects [CC BY 4.0, License]
- [x] lwo/Images/environments [CC0, License]
- [x] lwo/Images/material-PBR-abstract [CC0, License]
- [x] lwo/Images/material-Phong-metal [CC0, License]
md2
- [ ] md2/ogro | Commit by @alteredq
- [ ] md2/ratamahatta | Commit by @alteredq
mdd
- [ ] mdd/cube.mdd | Commit by @Mugen87
mmd
- [x] mmd/audios [Non-commercial, License]
- [x] mmd/vmds [Limited use, LICENSE]
- [ ] mmd/miku [unclear, LICENSE]
- [ ] mmd/vpds [unclear, LICENSE]
nrrd
- [ ] nrrd/I.nrrd | Commit by @stity
- [ ] nrrd/stent.nrrd | Commit by @almarklein [Public Domain, ⚠️ License file, no license]
obj
- [ ] obj/cerberus | Commit by @mrdoob
- [ ] obj/female02 | Commit by @looeee
- [ ] obj/ninja | Commit by @alteredq
- [ ] obj/walt | Commit by @looeee
- [ ] obj/emerald.obj | Commit by @bhouston
- [ ] obj/male02 | Commit by @looeee
- [ ] obj/tree.obj | Commit by @cowhunt
pcd
- [ ] pcd/ascii | Commit by @filipecaixeta
- [ ] pcd/binary | Commit by @filipecaixeta
- [ ] pcd/binary_compressed | Commit by @Mugen87
pdb
- [ ] pdb/Al2O3.pdb | Commit by @alteredq (all PDB assets on this commit)
- [ ] pdb/caffeine.pdb
- [ ] pdb/cubane.pdb
- [ ] pdb/graphite.pdb
- [ ] pdb/nicotine.pdb
- [ ] pdb/aspirin.pdb
- [ ] pdb/cholesterol.pdb
- [ ] pdb/diamond.pdb
- [ ] pdb/lsd.pdb
- [ ] pdb/ybco.pdb
- [ ] pdb/buckyball.pdb
- [ ] pdb/cocaine.pdb
- [ ] pdb/ethanol.pdb
- [ ] pdb/lycopene.pdb
- [ ] pdb/caf2.pdb
- [ ] pdb/cu.pdb
- [ ] pdb/glucose.pdb
- [ ] pdb/nacl.pdb
ply
- [ ] ply/ascii/dolphins.ply | Commit by @menway
- [ ] ply/ascii/dolphins_colored.ply | Commit by @algrs
- [ ] ply/binary/Lucy100k.ply | Commit by @mrdoob
- [ ] ply/binary/dolphins_be.ply | Commit by @algrs
- [ ] ply/binary/dolphins_le.ply | Commit by @algrs
prwm
- [ ] prwm/faceted-nefertiti.be.prwm | Commit by kchapelier (all models from this commit)
- [ ] prwm/smooth-suzanne.le.prwm
- [ ] prwm/faceted-nefertiti.le.prwm
- [ ] prwm/vive-controller.be.prwm
- [ ] prwm/smooth-suzanne.be.prwm
- [ ] prwm/vive-controller.le.prwm
stl
- [ ] stl/ascii/pr2_head_pan.stl | Commit by @aleeper
- [ ] stl/ascii/pr2_head_tilt.stl | Commit by @aleeper
- [ ] stl/ascii/slotted_disk.stl | Commit by @aleeper
- [ ] stl/binary/colored.stl | Commit by @erymski
- [ ] stl/binary/pr2_head_pan.stl | Commit by @aleeper
- [ ] stl/binary/pr2_head_tilt.stl | Commit by @aleeper
svg
- [ ] svg/energy.svg | Commit by @Ttommeke
- [ ] svg/tests | Commit by @yomboprime
- [ ] svg/zero-radius.svg | Commit by @gregzanch
- [ ] svg/hexagon.svg | Commit by @Mugen87
- [ ] svg/threejs.svg | Commit by @yomboprime
- [ ] svg/lineJoinsAndCaps.svg | Commit by @yomboprime
- [ ] svg/tiger.svg | Commit by @mrdoob
- [x] svg/tests/testDefs [CC BY-SA 3.0, License 1, License 2]
tilt
- [ ] tilt/BRUSH_DOME.tilt | Commit by @mrdoob
vox
- [ ] vox/menger.vox | Commit by @mrdoob
- [ ] vox/monu10.vox | Commit by @mrdoob
- [ ] vox/teapot.vox | Commit by @mrdoob
vrm
- [x] vrm/Alicia [Limited use, License]
vrml
- [ ] vrml/creaseAngle.wrl | Commit by @Mugen87
- [ ] vrml/extrusion2.wrl | Commit by @Mugen87
- [ ] vrml/meshWithLines.wrl | Commit by @Mugen87
- [ ] vrml/crystal.wrl | Commit by @Mugen87
- [ ] vrml/extrusion3.wrl | Commit by @Mugen87
- [ ] vrml/meshWithTexture.wrl | Commit by @Mugen87
- [ ] vrml/elevationGrid1.wrl | Commit by @Mugen87
- [ ] vrml/house.wrl | Commit by @bartmcleod
- [ ] vrml/pixelTexture.wrl | Commit by @Mugen87
- [ ] vrml/elevationGrid2.wrl | Commit by @Mugen87
- [ ] vrml/lines.wrl | Commit by @Mugen87
- [ ] vrml/points.wrl | Commit by @Mugen87
- [ ] vrml/extrusion1.wrl | Commit by @Mugen87
- [ ] vrml/map.gif | Commit by @Mugen87
vtkt
- [ ] vtk/bunny.vtk | Commit by @valette
- [ ] vtk/cube_binary.vtp | Commit by @dvenkatsagar
- [ ] vtk/liver.vtk | Commit by @stity
- [ ] vtk/cube_ascii.vtp | Commit by @dvenkatsagar
- [ ] vtk/cube_no_compression.vtp | Commit by @dvenkatsagar
xyz
- [x] xyz/helix_201.xyz | [LGPL, ⚠️ External License]
Example
How licenses should be documented for assets in a directory (by @Mugen87 ): https://github.com/mrdoob/three.js/tree/dev/examples/models/3mf
Notes
- updated 2022.08.11 - reviewed and fixed links. Worked up through gltf. TODO: check html for license notes and attribution
- update 2022.08.15 - worked through all listed models. TODO:
- update female02 model url to https://3dwarehouse.sketchup.com/model/2c6fd128fca34052adc5f5b98d513da1/3D-City-People-Female-02-iClone-Citizen-Extras
- update male02 model url to https://3dwarehouse.sketchup.com/model/f526cc4abf7cb68d76cab47c765b7255/3D-City-People-Male-02-iClone-Citizen-Extras
- check html for license notes and attribution
Some progress: a12b117c1d1413434a751adb3571a29836bd2b1c
Just wanted to note that some examples put the asset's license into the HTML file like in:
https://threejs.org/examples/webgl_loader_collada
I guess we have to decide where to put the licenses and not mix approaches. Should we have a single README
for each asset directory with license notes (like added via https://github.com/mrdoob/three.js/commit/a12b117c1d1413434a751adb3571a29836bd2b1c)? Or should we add a separate license file for each asset?
Sometime license information are embedded in the asset. Do we need a separate note for these cases?
@Mugen87 I think your approach is great, single README for each asset directory.
Would it make sense for the authors to pile into this issue (or PR?) and state the license if it's missing (for a central licensing file)?
For what it's worth, my model can be considered Public Domain.
Deleted the asset I was tagged on, as it was no longer being used: https://github.com/mrdoob/three.js/pull/24490
@zalo Thanks for the info. Can you add a license file in the directory where your model is located stating the license.
Hello
The gcode/benchy model is distributed under the "Creative Commons - Attribution - No Derivatives" License.
The 3ds/portalgun model seems to also be distributed under "Creative commons" but i do suspect it to be direct game rip.
I will open a PR for both and possibly try to change the 3DS model for something else.
Thanks a lot!