[#14031] - How to commit/contribute changes to the JasperReports source code

Category:
General
Priority:
Immediate
Status:
Feedback Requested
Project: Severity:
Critical
Resolution:
Open
Component: Reproducibility:
Always
Assigned to:

Hi Team,

I have resolved some "jfreechart" related compatibility issue by downloading "jasperreports-6.17.0" source code from github.
After changing source code, issue is resolved & all jasper provided testcase are passed.

How do I commit these source code changes to jaspersoft so that the next release will have these changes included.
Also, Can I submit these changes in "jasperreports-6.17.0" or do I need to provide changes on latest version "6.19.0" only?

Regards,
Tushar Patil

v6.17.0
tuspatil's picture
Joined: Jan 3 2022 - 10:54pm
Last seen: 3 months 1 week ago

7 Comments:

#1
  • Status:New» Feedback Requested
  • Assigned:nobody» teodord

Hi,

The problem with upgrading JFreeChart is that the newer versions are missing some of the chart types we are using, such as the 3D charts.
Basically, if we are to upgrade, we are going to be losing some of the features.

Thank you,
Teodor

#2

Hi Teodor,

Thanks for immediate response, it will help us to acheive our target at earliest.

Can you please help us on below points:
1) As per our knowledge, 3D-Charts can be implemented with the help of "Orson Chart". Does jasper community has any plan to make "jasperreports" compatible with Orson Chart in future.
2) Is there any way to maintain or get separate "jasperreports" version which supports only 2d-Charts & which is compatible with latest jfreechart.

Your prompt response would be highly appreciated.

Below are some reference for orson charts:

https://github.com/jfree/jfreechart/blob/master/README.md#:~:text=all%20...

http://www.object-refinery.com/orsoncharts/#:~:text=Orson%20Charts%20pro...(by%20the%20same%20author).%20Although%20they%20are%20independent%20libraries%2C%20Orson%20Charts%20and%20JFreeChart%20can%20easily%20be%20used%20side%2Dby%2Dside%20in%20the%20same%20application.

#3

Hi,

Are you familiar with the fact that Orson Charts is issued under the GPL license which prevents use in commercial applications?
Also, only GPL libraries can make use of the Orson Charts under the terms of GPL (viral nature of GPL).

JasperReports Library cannot make use of a GPL dependency.

Thanks,
Teodor

#4

Hi Teoder,

We recently aware that "Orson Charts" is licensed under GPL, hence we can not use it's open source version for commercial purpose.

In our organization, due to some compliance reason compulsorily we need to upgrade jfreechart to latest version. But same is breaking all the functionalities of jasper reports related to 2D & 3D charts.

Currently, we are more concerned about 2D charts only. So do we have any provision to maintain or get separate "jasperreports" version which supports only 2d-Charts & which is compatible with latest jfreechart.
(Note: In our organization, we have already made jasperreports compatible with latest jfreecharts for supporting 2D Charts. But maintainability of this sourcecode at jaspersoft is more helpful)

Also, Do we have any alternative for "jfreechart" which supports 3D chart & which can be easily incorporated with jasperreports? Is it considered under jaspersoft's future roadmap?

Thanks, we are eagerly waiting for your response.

Regards,
Tushar Patil

#5

Hi,

From our point of view, JFreechart 1.0.19 released in 2014 is basically feature complete.
The subsequent 4 release made since 2014 seem to be more about removing feature than adding new ones and do not seem to indicate the library is evolving much.
We cannot comment much about your mandate to always use the latest version of a dependency, but in certain cases such thing probably does not make sense.

Considering the history of JFreechart library and considering what it does and what it is used for, it is unlikely it will ever have a CVE that would force us to upgrade. In the worst case scenario, we could fix the CVE ourselves and maintain our own version going forward.
But since I dont see this happening any time soon, I guess JasperReports will continue use JFreeChart 1.0.19 for the foreseeable future.

JasperReports Library has support for pluggable custom components and, in theory, people could implement their own chart components by following documentation and looking at the source code of the components we already ship in the library. We do have a sample that uses XChart library, but that one is just a simple example and does not actually implement a custom component.

Such custom components are available as part of the JasperReports Professional product available from TIBCO Jaspersoft, which includes charts rendered using HighCharts and Fusion Charts.

I hope this helps.
Teodor

#6
  • Assigned:nobody»

For any solutions these days there is a great deal of pressure (and at some points mandates) from both a security and compatibility standpoint to keep 3rd party libraries up to date. The Log4J issue is one example that is driving that pressure.

Jfreechart has moved forward and will shortly be releasing the 2.0 version. We will need a path to be able to stay current with 3rd party dependencies for JFreechart (as well as other related 3rd party dependencies). What are the options to move JasperReports Library forward to newer versions or create methods that re flexible to work across a range of dependencies? This will be critical to continue using JasperReports in the future

As a community it will be critical ensure that JasperReports library has a solid plan for future looking 3rd party dependency planning. What we can do to help look at the options here?

#7
  • Assigned:nobody» teodord

Hi,

I don't think we are going to split JasperReports in two, just to adapt to license changes in JFreeChart. We did not do such thing when iText decided to change their license and since then, the community has forked iText. Maybe something similar will happen to JFreeChart as well.
Or we might even think to replace JFreeChart with something else.

I understand you are not using 3D charts, but I'm sure other users of JasperReports do use them, and for them we need to stay with older JFreeChart until we replace it with something else.

Thanks,
Teodor

Feedback