Domanda

I would like to rewrite a portion of the JasperReports library in C++. The library will read from the same XML format used by JasperReports. If I integrate this C++ library to my proprietary application, do I need to open my C++ library source code to the end user? How does LGPL work in this scenario?

È stato utile?

Soluzione

If you take the source code from JasperReports and translate that literally to C++, then you are creating a derived work and you are bound by the license that the original work is released under.
For a translation of a work under the LGPL license, this means that you must distribute your translation also under the LGPL (which means also providing your source code).

On the other hand, if you only study how JasperReports works when viewed from the outside and then you write a C++ library that is functionally compatible with JasperReports, then the two are completely separate works as far a copyright is concerned and you can freely choose which license you want to use for your C++ library.


As far as using the library in your proprietary application is concerned, if you dynamically link the library (or otherwise provide the means to replace it with a different version), then you can even use an LGPL library in a closed-source application without having to open up your application.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top