Lukasz Lenart created WW-5735:
---------------------------------

             Summary: JasperReports 7 plugin bundles the LGPL jasperreports jar 
into the release distribution
                 Key: WW-5735
                 URL: https://issues.apache.org/jira/browse/WW-5735
             Project: Struts 2
          Issue Type: Bug
          Components: Plugin - JasperReports
            Reporter: Lukasz Lenart
             Fix For: 7.4.0


{{plugins/jasperreports7/pom.xml}} declares 
{{net.sf.jasperreports:jasperreports}} as a plain compile-scope, non-optional 
dependency. The 6.x {{struts2-jasperreports-plugin}} has always declared it 
{{provided}}, precisely so that the LGPL library is never part of an Apache 
Struts distribution — users add it to their own application.

Because the assembly collects the runtime dependency set of every plugin, the 
jar is now shipped: {{struts-7.3.0-lib.zip}} on {{archive.apache.org}} contains 
{{struts-7.3.0/lib/jasperreports-7.0.7.jar}} (3.8 MB), and {{LICENSE.txt}} / 
{{NOTICE.txt}} do not mention it. The same applies to {{struts-7.3.0-all.zip}} 
and to every release since the plugin was introduced in 7.1.0. Users depending 
on {{struts2-jasperreports7-plugin}} from Maven also pull the LGPL jar 
transitively by default.

JasperReports is LGPL, which is ASF Category X and may not be included in an 
Apache product.

Fix: declare {{jasperreports}} with {{<scope>provided</scope>}}, matching the 
6.x plugin. Applications using the plugin must then add 
{{net.sf.jasperreports:jasperreports}} (and {{jasperreports-pdf}} for PDF 
output, which is already optional) themselves; the plugin documentation page 
should say so. Verify afterwards that the assembly's {{lib/}} no longer 
contains any {{net.sf.jasperreports}} artifact.

This is a licensing and distribution issue, not a security vulnerability.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to