Recent

Author Topic: Old comercial app and qt5 licensing  (Read 2445 times)

costel78

  • New Member
  • *
  • Posts: 14
Old comercial app and qt5 licensing
« on: September 05, 2021, 05:01:05 pm »
Hello!

I need help regarding qt licensing.
We distribute a system (hardware and software) PC, tablets etc. On PC OS is Linux and contain a 6 years old program made in Lazarus.
If somebody encounter a similar situation, please help me to know what to expect. This is a preparation phase, probably nothing will be done in the next 3 months.
The original development team is no longer available, the (external) firm responsabile was closed two years ago, but we will have the source code in 1-2 months.

Problem:
gtk+ 2 is end of life and not maintained anymore. gtk+3 is not ready in Lazarus. It might be necessary to switch to qt5 in the next 12-24 months when gtk2 will be removed from distros.
If we try to switch lcl to qt5 what licensing issues to expect ?
Based on what I read it is legal to distribute software commercially dynamically linked to unmodified LGPL QT5. Is that correct ?

We do not have any modified qt5 library, prefer to not distribute source code and can not afford ~10000€ (VAT included) Qt5 commercial license for 3 years.
Can we use qt5 licensed under LGPL dynamically linked ?
Do Lazarus static link anything regarding qt5, anything than qt5pas library ?

Right now, I can test only gtk+ version.

Code: Bash  [Select][+][-]
  1. ldd test_prg
  2.         linux-vdso.so.1 (0x00007ffe841a6000)
  3.         libgdk-x11-2.0.so.0 => /usr/lib64/libgdk-x11-2.0.so.0 (0x00007fb7b28e5000)
  4.         libgtk-x11-2.0.so.0 => /usr/lib64/libgtk-x11-2.0.so.0 (0x00007fb7b248f000)
  5.         libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007fb7b232e000)
  6.         libgdk_pixbuf-2.0.so.0 => /usr/lib64/libgdk_pixbuf-2.0.so.0 (0x00007fb7b22fd000)
  7.         libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 (0x00007fb7b2295000)
  8.         libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007fb7b212c000)
  9.         libgthread-2.0.so.0 => /usr/lib64/libgthread-2.0.so.0 (0x00007fb7b2125000)
  10.         libgmodule-2.0.so.0 => /usr/lib64/libgmodule-2.0.so.0 (0x00007fb7b211f000)
  11.         libpango-1.0.so.0 => /usr/lib64/libpango-1.0.so.0 (0x00007fb7b20bd000)
  12.         libcairo.so.2 => /usr/lib64/libcairo.so.2 (0x00007fb7b1f40000)
  13.         libatk-1.0.so.0 => /usr/lib64/libatk-1.0.so.0 (0x00007fb7b1f0b000)
  14.         libXtst.so.6 => /usr/lib64/libXtst.so.6 (0x00007fb7b1f02000)
  15.         libc.so.6 => /lib64/libc.so.6 (0x00007fb7b1d0d000)
  16.         libpangocairo-1.0.so.0 => /usr/lib64/libpangocairo-1.0.so.0 (0x00007fb7b1cfc000)
  17.         libharfbuzz.so.0 => /usr/lib64/libharfbuzz.so.0 (0x00007fb7b1c12000)
  18.         libgio-2.0.so.0 => /usr/lib64/libgio-2.0.so.0 (0x00007fb7b19e0000)
  19.         libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x00007fb7b1988000)
  20.         libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007fb7b1891000)
  21.         libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007fb7b1882000)
  22.         libXi.so.6 => /usr/lib64/libXi.so.6 (0x00007fb7b186c000)
  23.         libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x00007fb7b185c000)
  24.         libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x00007fb7b184d000)
  25.         libXcomposite.so.1 => /usr/lib64/libXcomposite.so.1 (0x00007fb7b1848000)
  26.         libXdamage.so.1 => /usr/lib64/libXdamage.so.1 (0x00007fb7b1843000)
  27.         libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x00007fb7b1838000)
  28.         libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007fb7b181f000)
  29.         libm.so.6 => /lib64/libm.so.6 (0x00007fb7b174a000)
  30.         libpangoft2-1.0.so.0 => /usr/lib64/libpangoft2-1.0.so.0 (0x00007fb7b172f000)
  31.         libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007fb7b1701000)
  32.         libpng16.so.16 => /usr/lib64/libpng16.so.16 (0x00007fb7b16ae000)
  33.         libffi.so.8 => /usr/lib64/libffi.so.8 (0x00007fb7b16a2000)
  34.         libpcre.so.1 => /lib64/libpcre.so.1 (0x00007fb7b1625000)
  35.         libfribidi.so.0 => /usr/lib64/libfribidi.so.0 (0x00007fb7b1606000)
  36.         libpixman-1.so.0 => /usr/lib64/libpixman-1.so.0 (0x00007fb7b14c7000)
  37.         libEGL.so.1 => /usr/lib64/libEGL.so.1 (0x00007fb7b14b4000)
  38.         libxcb-shm.so.0 => /usr/lib64/libxcb-shm.so.0 (0x00007fb7b14ad000)
  39.         libxcb-render.so.0 => /usr/lib64/libxcb-render.so.0 (0x00007fb7b149d000)
  40.         libz.so.1 => /lib64/libz.so.1 (0x00007fb7b147e000)
  41.         libGL.so.1 => /usr/lib64/libGL.so.1 (0x00007fb7b13f7000)
  42.         /lib64/ld-linux-x86-64.so.2 (0x00007fb7b29b8000)
  43.         libgraphite2.so.3 => /usr/lib64/libgraphite2.so.3 (0x00007fb7b13ce000)
  44.         libmount.so.1 => /lib64/libmount.so.1 (0x00007fb7b1382000)
  45.         libexpat.so.1 => /usr/lib64/libexpat.so.1 (0x00007fb7b134e000)
  46.         libuuid.so.1 => /lib64/libuuid.so.1 (0x00007fb7b1344000)
  47.         libbz2.so.1 => /lib64/libbz2.so.1 (0x00007fb7b132a000)
  48.         libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007fb7b1325000)
  49.         libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x00007fb7b131a000)
  50.         libmvec.so.1 => /lib64/libmvec.so.1 (0x00007fb7b12ee000)
  51.         libGLdispatch.so.0 => /usr/lib64/libGLdispatch.so.0 (0x00007fb7b1236000)
  52.         libGLX.so.0 => /usr/lib64/libGLX.so.0 (0x00007fb7b1202000)
  53.         libblkid.so.1 => /lib64/libblkid.so.1 (0x00007fb7b11c4000)
  54.         libbsd.so.0 => /usr/lib64/libbsd.so.0 (0x00007fb7b11a5000)
  55.         libmd.so.0 => /usr/lib64/libmd.so.0 (0x00007fb7b1194000)
  56.  
  57. nm test_prg
  58. nm: test_prg: no symbols

When will have the source code, what else to test to be sure that we are compliant ?

Thank you!

zeljko

  • Hero Member
  • *****
  • Posts: 1596
    • http://wiki.lazarus.freepascal.org/User:Zeljan
Re: Old comercial app and qt5 licensing
« Reply #1 on: September 05, 2021, 06:55:39 pm »
Qt5 is LGPL, so yes you can use it for your commercial apps.

costel78

  • New Member
  • *
  • Posts: 14
Re: Old comercial app and qt5 licensing
« Reply #2 on: September 05, 2021, 07:03:14 pm »
Thank you for confirmation.

So, I should not worry about static linking in Lazarus ? Everything is dynamically linked ?

avra

  • Hero Member
  • *****
  • Posts: 2514
    • Additional info
ct2laz - Conversion between Lazarus and CodeTyphon
bithelpers - Bit manipulation for standard types
pasettimino - Siemens S7 PLC lib

costel78

  • New Member
  • *
  • Posts: 14
Re: Old comercial app and qt5 licensing
« Reply #4 on: September 06, 2021, 08:17:44 am »
Thank you very much!
Everything is clear now.

 

TinyPortal © 2005-2018