Could anyone be able to explain the implications of Cesium GS currently patenting the Cesium solution from many corners:
Does this affect the usage of the library and if not (its apache 2.0 so it should not?) what is the goal of such patenting? Is it basically to secure the freedom of OS from other possible patentors?
“3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.”
It is also interesting that are patents timed so that the technique was not “public knowledge” in the cesium githug before the patent has been granted?
Thanks for reaching out!
Cesium’s approach to patents is a defensive approach to protect the interests of the community and of Cesium through filing patents for innovations by the company. Cesium does not intend to pursue an offensive patent litigation strategy.
Most of Cesium’s open source projects are licensed under the Apache 2.0 licenses, which as you have pointed out, includes a patent grant for all the patents included in the software. This means you get a non-exclusive royalty free (and other conditional) license to Cesium’s patents through open source software including CesiumJS and Cesium for Unreal, as per the license grant clause.
The Apache 2.0 license grant also includes a retaliation clause to protect the project and anyone using or contributing to it. In simple terms, the retaliation clause states that if an entity starts patent litigation against Cesium, the patent grant to that entity is terminated and they cannot use the (parts of) the project that implement the patent.
This article has a good explanation of the Apache 2.0 license and how it applies to developers and companies: Open Source Licenses 101: Apache License 2.0 - FOSSA.
Thank you! Great answer and seems like a bit tricky field in general
I would still like to ask that do these patents have anything to do with Cesium ION and the 3d tiles specification? For exampla are the 3d tiles OGC standards “free of patents” in a way and the are the methods to generate them free also?
Great question! Certain methods in the Cesium ion tiling pipeline are patented, but the 3D Tiles specification itself is not.
Is it possible to elaborate this more or give link to patented tiling pipeline things? I remember the “horizon occlusion culling” for terrains might be patented?
One could approach this topic like this also: If 2 different parties generate the exact same tileset, can there be patent issue? =)
The full list of patents and patents pending can be found here: Google Patents - Cesium GS Inc.
The ones pertaining to the tiling pipeline include:
- Systems and Methods for Converting Massive Point Cloud Datasets to a Hierarchical Storage Format
- System and Method For Subdividing Large Polygon Mesh Datasets Into Hierarchical Subsets For Level-Of-Detail Use
- System and Method For Transferring Surface Information From Massive Meshes to Simplified Meshes Using Voxels
- System and Method For Converting Massive, Single-Material Mesh Datasets To A Hierarchical Format
- Systems and Methods for Applying Partial Updates to Point Cloud Terrain
- Systems and Methods for Generating Hierarchical Level-of-Detail Measurements for Runtime Calculation and Visualization
If two parties generated the same exact result it may or may not be considered infringement depending on the exact method used.
Hmm… I looked at the 3d-tiles specificaton repo for any license-type info but I quess specification standards do not come with similar license-concepts as Cesium JS Client for example (Apache 2.0).
This leads me into wondering about the defensive patenting strategy and Cesium ION & 3d-tiles; does it apply there as well or is the story quite different on this side? There are already some solutions that output 3d-tiles, like some photogrammetry tools from major software providers and I am wondering if they touch this patenting landscape somehow…?
Is there any way I could get more information on the patenting positioning concerning Cesium Ion and 3d tileset standard?