XbimWebUI icon indicating copy to clipboard operation
XbimWebUI copied to clipboard

License question

Open klamarth opened this issue 2 years ago • 5 comments

I know nothing about licenses, and that's why I have a doubt regarding the XbimWebUI license.

I've been contacted by a company (a small company) that wants a 3D Viewer for a product they want to make available. This viewer will be used inside a bigger product they provide for clients via web browser (no deployments). I thought of XbimWebUI. They want me to develop some measurement tools (angle, distance, slope etc). However they also want to take ownership of that part of the code as they believe this could be a big differentiator for the service they provide. On my part there would be no problems, but could this be done using the XbimWebUI license? Will they need to publish the entire source code somewhere?

Thanks

klamarth avatar Mar 28 '23 03:03 klamarth

Hi @klamarth, the license allows for commercial development and deployment. There are many commercial projects using the viewer worldwide. In simple terms, if you make change to our code, you should submit it back to our project (preferably as a pull request). What you describe sounds like a perfect fit for a plugin for the viewer, which would just use existing interfaces and functionality. You (or your client/employer) are not required to publish such a code. So, as long as you just use the library in your project as NPM package, it doesn't affect any other licenses.

martin1cerny avatar Mar 28 '23 12:03 martin1cerny

I see. I think I would need to change the shaders, the viewer class, store some extra geometry in memory (triangle data, edges etc maybe change the wexbim format to add these data), add ray casting and an intersection algorithm to detect clicks and several other changes.

Will a big change like this be accepted on a PR? This may not be something you guys have planned. What if the PR is not accepted?

Taking the opportunity to ask, if the company wants to, would it be possible to license the product using a commercial license? I'm in early negotiations so I'd like to get a better view of the possibilities.

Thanks

klamarth avatar Mar 28 '23 13:03 klamarth

If you are considering making changes in this extent, you may want to use ThreeJS and feed it just with data from the Toolkit. That will give you a lot more space for custom implementations. Also, you will definitely find some of the things you need as existing code.

Visualization_pipeline_GLTF

martin1cerny avatar Mar 28 '23 13:03 martin1cerny

Just tried, but it is much slower than wexbim for a medium sized model.

FPS dropped to 5fps

My idea is to create a mix using the viewer and ThreeJS sharing the same 'canvas context'. Of course I need to develop a small POC to confirm that this is doable before accepting the task.

So, I would like to, cordially, reiterate my questions.

klamarth avatar Mar 29 '23 22:03 klamarth

Hi @klamarth , re: licencing do you want to drop me an email: [email protected] and we can talk about some options. It should be possible to maintain separation via a plugin, but if you do need to amend the core we can discuss approaches.

andyward avatar Mar 30 '23 07:03 andyward