Should KChart be replaced with KDChart?
Open, Needs TriagePublic

Description

It was brought to my attention that KDChart had been donated to KDE under permissive license while KDAB continued to maintain their proprietary copy. KDChart, however, was relicensed in Aug 2022 under MIT license, which begs a question whether continuing to maintain KDE's own KChart makes sense?

I bumped into this problem in the first place when trying to enable Windows CI builds. The Qt6 one was failing, due to error C2039: 'unary_function': is not a member of 'std': https://invent.kde.org/graphics/kdiagram/-/jobs/483394#L354. Turns out that same issue was fixed upstream in KDChart already over a year ago: https://github.com/KDAB/KDChart/commit/0c76c18a37523ec1dee8de0afed8ee17fbd2465a

Proposed way forward is to:

  1. Check what, if anything, does KChart do that KDChart doesn't
  2. Decide whether or not moving to KDChart is worth doing
  3. Add subtasks to track the progress
wrobelda created this task.Sep 18 2022, 4:54 PM
wrobelda updated the task description. (Show Details)Sep 18 2022, 4:56 PM
wrobelda updated the task description. (Show Details)
wrobelda updated the task description. (Show Details)
wrobelda updated the task description. (Show Details)Sep 18 2022, 5:18 PM
wrobelda added a comment.EditedOct 9 2022, 11:04 AM

Here's the folder comparison report, listing the files that are missing on each side, assuming the (KDChart|KChart) and (KDGantt|KGantt) prefixes match.

Folder Compare
Produced: 10/9/22 1:28:43 PM

Mode:  Orphans
Ignoring Unimportant
Filters:  -./TODO;-./libkdchart.map;-./KDChartConfig.cmake.in;-./CMakeLists.txt;-.DS_Store;-CMakeLists.txt;-./KChart/metainfo.yaml;-./KChart/Messages.sh;-./KChart/Mainpage.dox;-./KGantt/metainfo.yaml;-./KGantt/Messages.sh;-./KGantt/Mainpage.dox;-KDAB_kdchart_LeveyJennings_resources.qrc;-KChart_LeveyJennings_resources.qrc;-KChartConfig.cmake.in;-./KGantt/unittest/;-./KGantt/test/;-./KDGantt/unittest/;-./KChart/include/
Left base folder: /Users/cromo/Documents/Sourcecode/KDChart/src
Right base folder: /Users/cromo/Documents/Sourcecode/kdiagram/src
Name                Name
-----------------------------------------------------
KDGantt             KGantt
                 << +kganttprintingcontext.h
                 << +kganttprintingcontext.cpp
                 << +kganttpenstylecombobox_p.h
                 << +kganttpenstylecombobox.h
                 << +kganttpenstylecombobox.cpp
                 << +kganttdatetimetimelinedialog.ui
                 << +kganttdatetimetimelinedialog.h
                 << +kganttdatetimetimelinedialog.cpp
                 << +kganttdatetimetimeline.h
                 << +kganttdatetimetimeline.cpp
                 << \KGanttConfig.cmake.in
KDChart             KChart
\Cartesian          +Cartesian
 \DiagramFlavors    |\DiagramFlavors
                 << | +KChartStackedPlotter_p.h
                 << | \KChartStackedPlotter_p.cpp
                 << \KChartMath_p.h
-----------------------------------------------------