I’m investigating using Salome as a GUI for OpenFOAM. This would be installed on a corporate computer and used to run CFD simulations, the results of which will inform design decisions of physical products that the corporation sells to customers (no Salome or simulation-adjacent software is distributed to the customer).
I’m a little confused with the licensing, in particular with PyQT, on whether this constitutes as commercial use. The LGPL seems to be focused on modifications and distribution of the covered software, but my gut says that if we use the software to design our products, that still is considered commercial use. However, the below link on this forum seems to me to imply it is allowed under the license, hence my confusion.
Does any one have any insight or advice on if my use case falls under commercial use and would require a paid license? Thanks in advance!
Because if you’re selling a distribution of your code, i.e., to me or anyone on the planet, then for sure, you require the commercial license of PyQt to be shipped.
But if you distribute it internally, i.e., the code is inside the company, no public distribution and you are essentially selling studies to your clients (they do not have access to the simulation code, only results and reports) then I do not believe you require commercial license. Though again, legal would know better for your country.
A bit crazy, but if you manage to replace PyQt with PySide2 (replacing all of SIP wrappings with shiboken) you would have a LGPL conformant code. I haven’t yet explored this option as I do not know how much of the SALOME code contain SIP/PyQt5/pyqt5sip code.
Yes I have the same understanding as Gregor.
You need a PyQt license if you want to deliver something outside of your company (paid or not). But you don’t need one if you are using the product internally.
And I agree also that you should validate this with your legal department, because each situation is different.
As for using PySide2 (now Qt for Python) instead of PyQt, this subject is on the radar for a long time now but unfortunately it has not been addressed yet.
I have a SALOME configuration with Python 3.13 (latest numpy/scipy/matplotlib) (only the core CAD/meshing/ParaView/Fields subset is included but everything works) and just tried to include pyside2. The package compiles, but I get segfaults left and right… and their repository is a bigger mess to follow. No easy way to backport code. And to think it was super easy to backport changes to make Paraview 5.11 MPI compatible with python 3.13…