-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Review "3rd party Category X or Category B bundled code licenses not listed in LICENSE" for 10.0.0 #1634
Comments
As listed above, these PRs checks/checked the license concern (note: these PRs are for main branch), but it would be great that more people help the review from this PoV. |
Yes, help with review very appreciated for PRs listed in the comment above. |
Reviewing optaplanner mainChecking ./build/optaplanner-ide-config/src/main/resources/eclipse.importorder ./core/optaplanner-core-impl/src/main/resources/solver.xsd ./core/optaplanner-core-impl/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker ./core/optaplanner-core-impl/src/test/resources/org/optaplanner/core/api/solver/classloaderTestdataSolverConfig.xml ./optaplanner-benchmark/src/main/resources/benchmark.xsd ./optaplanner-benchmark/src/main/resources/org/optaplanner/benchmark/impl/report/twitterbootstrap/css/prettify.css ./optaplanner-benchmark/src/test/resources/org/optaplanner/benchmark/config/testBenchmarkConfigWithNamespace.xml ./optaplanner-docs/src/modules/ROOT/images/website/jquery/jquery.min.js Other files are test data. No need for license Checking copyright ./optaplanner-benchmark/src/main/resources/org/optaplanner/benchmark/impl/report/twitterbootstrap/js/jquery.js: * Copyright 2012 jQuery Foundation and other contributors ./optaplanner-docs/src/modules/ROOT/images/website/jstree/jstree.js: * Copyright (c) 2014 Ivan Bozhanov (http://vakata.com) Checking other license No blocker found. apache/incubator-kie-optaplanner#3150 10.0.xwaiting on backport PR to be merged |
Reviewing kogito-runtimes main (with pr3714)Checking ./addons/common/jbpm-usertask-storage-jpa/src/main/resources/META-INF/beans.xml ./addons/common/marshallers/avro/src/main/resources/jsonNode.avsc ./addons/common/monitoring/prometheus/src/main/resources/META-INF/kogito.addon ./api/kogito-events-core/src/main/resources/META-INF/services/com.fasterxml.jackson.databind.Module ./jbpm/jbpm-bpmn2/src/main/resources/META-INF/BPMN20.xsd ./jbpm/jbpm-flow/src/main/resources/META-INF/services/org.jbpm.ruleflow.core.factory.provider.NodeFactoryProvider ./jbpm/jbpm-flow-migration/src/test/resources/META-INF/migration-plan/simple_invalid_migration.invalid ./jbpm/jbpm-flow-migration/src/test/resources/META-INF/migration-plan/simple_migration.mpf ./jbpm/jbpm-tests/src/test/resources/calendar.properties ./jbpm/jbpm-tests/src/test/resources/xxe-protection/Text1.txt ./jbpm/jbpm-usertask-workitem/src/main/resources/META-INF/services/org.kie.kogito.internal.process.workitem.KogitoWorkItemHandlerFactory ./kogito-codegen-modules/kogito-codegen-core/src/test/resources/.a-hidden-file.txt ./kogito-codegen-modules/kogito-codegen-processes-integration-tests/src/test/resources/META-INF/kogito.addon ./kogito-codegen-modules/kogito-codegen-processes-integration-tests/src/test/resources/org/kie/kogito/codegen/process/process-generation-test.skip.txt ./kogito-serverless-workflow/kogito-serverless-workflow-executor-tests/src/test/resources/logback.xml ./quarkus/addons/dynamic/integration-tests/src/main/resources/application.properties ./quarkus/addons/dynamic/runtime/src/main/resources/META-INF/kogito.addon ./quarkus/addons/jbpm-usertask-storage-jpa/runtime/src/test/resources/META-INF/beans.xml ./quarkus/addons/jobs/knative-eventing/runtime/src/main/resources/META-INF/kogito.addon ./quarkus/addons/python/integration-tests/requirements.txt ./quarkus/addons/source-files/runtime/src/main/resources/META-INF/kogito.addon ./quarkus/extensions/kogito-quarkus-decisions-extension/kogito-quarkus-decisions-integration-test-hot-reload/src/test/resources/TrafficViolation.txt ./quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-integration-test/src/main/resources/long-call.sw.yaml ./quarkus/integration-tests/integration-tests-quarkus-rules/src/test/resources/LoanUnit.xls.properties.test ./springboot/addons/events/decisions/src/main/resources/META-INF/kogito.addon ./springboot/addons/flyway/src/main/resources/META-INF/beans.xml ./springboot/addons/jobs/src/main/resources/META-INF/kogito.addon ./springboot/archetype/src/test/resources/projects/it-basic/goal.txt ./springboot/integration-tests/integration-tests-springboot-kafka-it/.gitignore Checking copyright ./drools/kogito-pmml/src/test/resources/org/kie/kogito/pmml/test_regression.pmml: ./drools/kogito-scenario-simulation/src/test/resources/dmnPmml/test_regression.pmml: ./kogito-codegen-modules/kogito-codegen-predictions/src/test/resources/prediction/test_multiplemodels.pmml: ./kogito-codegen-modules/kogito-codegen-predictions/src/test/resources/prediction/test_regression.pmml: ./quarkus/extensions/kogito-quarkus-predictions-extension/kogito-quarkus-predictions-integration-test/src/main/resources/PMMLRegression.pmml: ./quarkus/integration-tests/integration-tests-quarkus-norest/src/main/resources/PMMLRegression.pmml: ./quarkus/integration-tests/integration-tests-quarkus-predictions/src/main/resources/PMMLRegression.pmml: ./springboot/integration-tests/integration-tests-springboot-decisions-it/src/main/resources/PMMLRegression.pmml: ./springboot/integration-tests/integration-tests-springboot-norest-it/src/main/resources/PMMLRegression.pmml: -> These pmml files have JBoss copyright. Created by KIE PMML Editor? Anyway, if written by KIE developers, it should be fine to have Apache License. Probably good to list in LICENSE with copyright JBoss, to avoid release rejection. Not a blocker.
./kogito-codegen-modules/kogito-codegen-predictions/src/test/resources/prediction/test_miningmodel.pmml: -> Probably an example from OMG. We asked omg about the license, but not got an answer yet. So this is uncategorized license at the moment. I think it's better to drop the file and disable the test for 10.0.x. Then, resolve the issue in main. Checking license No blocker found. But it's better to drop test_miningmodel.pmml for 10.0.x. apache/incubator-kie-kogito-runtimes#3798 10.0.xwaiting on backport PR to be merged |
Reviewing kogito-apps mainChecking expected as unapproved - not a blocker./.rat-excludes test data here - not blockershould be possible to add license header eventually./apps-integration-tests/integration-tests-data-index-service/integration-tests-data-index-service-common/src/main/resources/approval.bpmn uknown file extension that may problem with comment/license header, however code is not third party - not a blocker./data-audit/data-audit-common/src/main/resources/META-INF/data-audit-job-query.graphqls configuration file - not blockershould be possible to add license header./data-audit/kogito-addons-data-audit-jpa/kogito-addons-data-audit-jpa-common/src/main/resources/META-INF/data-audit-orm.xml configuration files - not blocker./data-audit/kogito-addons-data-audit-jpa/kogito-addons-data-audit-jpa-common/src/main/resources/META-INF/services/org.kie.kogito.app.audit.spi.DataAuditStore test configuration file - not blockershould be possible to add license header./data-audit/kogito-addons-data-audit-springboot/src/test/resources/application.properties uknown file extension that may problem with comment/license header, however code is not third party - not a blocker./data-index/data-index-graphql/src/main/resources/basic.schema.graphqls test data - not blockershould be possible to add license header./data-index/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-infinispan/integration-tests-process/src/main/resources/hello.bpmn configuration file - not blocker./explainability/explainability-service/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker test data- not blockershould be possible to add license headers./jitexecutor/jitexecutor-bpmn/src/test/resources/MultipleInvalidModel.bpmn2 third party - riskin a LICENSE, but non standard file from licensing point of view./jitexecutor/jitexecutor-dmn/src/main/resources/META-INF/resources/bundle.js test data - not blockershould be possible to add license header./jobs-service/kogito-addons-jobs-service/kogito-addons-quarkus-jobs/src/test/resources/application.properties configuration files - not blockercan not add content./jobs-service/kogito-addons-jobs-service/kogito-addons-quarkus-jobs-service-embedded/runtime/src/main/resources/META-INF/services/org.eclipse.microprofile.config.spi.ConfigSource Checking copyright RESULT - Risk due to budle.js 10.0.xwaiting on backport PR to be created and merged |
I reviewed kogito-apps. Same conclusion as @jomarko |
Reviewing kie-tools mainFiles missing entry in LICENSE== File: [LICENSE] ./packages/kie-sandbox-fs/src/DefaultBackend.js All packages/stunner-editors/erra/** is a copy of https://github.com/errai/errai/tree/main, should be in LICENSE Files missing Apache LIcense Headerand it should be possible to add it, however not blocking from apache release== File: [ADD] ./examples/drools-process-usertasks-quarkus-example/src/main/docker/Dockerfile.jvm Files with copyright missing in LICENSE./packages/kn-plugin-workflow/e2e-tests/gen_manifest_test.go: * Copyright 2024 Red Hat, Inc. and/or its affiliates.
10.0.xwaiting on backport PR to be created and merged |
Disclaimer: It's almost impossible to manually review all thousand files. For checking Reviewing kogito-tools main (with pr2746)Checking missing header - not blocker./.build-env-root already in License./packages/bpmn-marshaller/src/schemas/bpmn-2_0/BPMN20.xsd missing header - not blocker./packages/chrome-extension/tests/app/components/single/snapshots/SingleEditorApp.test.tsx.snap already in LICENSE./packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/src/main/resources/org/uberfire/ext/widgets/common/client/resources/js/wysihtml/wysihtml.all-commands.min.js already in LICENSE./packages/dashbuilder/appformer/uberfire-extensions/uberfire-widgets/uberfire-widgets-commons/src/main/resources/org/uberfire/ext/widgets/common/public/highlight/highlight.min.js already in LICENSE./packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-client-views-patternfly/src/main/resources/org/uberfire/client/views/static/jquery-ui/jquery-ui.min.css missing header - not blocker./packages/dashbuilder/appformer/uberfire-workbench/uberfire-workbench-processors-tests/src/test/resources/org/uberfire/annotations/processors/PerspectiveTest1.java missing header - not blocker./packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-client/src/test/resources/ds.csv already in LICENSE./packages/dmn-marshaller/src/schemas/dmn-1_0/dmn.xsd missing header - not blocker./packages/dmn-marshaller/src/schemas/kie-1_0/KIE.xsd already in LICENSE./packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/java/externs/jquery_plugins.js missing header - not blocker./packages/serverless-workflow-diagram-editor/sw-editor/sw-editor-kogito-app/src/main/java/externs/jsPDF.externs.js already in LICENSE./packages/serverless-workflow-diagram-editor/third_party/errai/src/main/java/org/jboss/errai/common/client/util/Base64Util.java missing header - not blocker./packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/core/src/main/resources/org/gwtbootstrap3/client/resource/fonts/fontawesome-webfont.svg already in LICENSE./packages/serverless-workflow-diagram-editor/third_party/gwtbootstrap3/core/src/main/resources/org/gwtbootstrap3/client/resource/js/bootstrap-3.4.1.min.cache.js.back missing header - not blocker./packages/serverless-workflow-diagram-editor/uberfire-workbench/uberfire-workbench-client/src/main/java/org/uberfire/client/util/GWTEditor.native.js already in LICENSE./packages/stunner-editors/errai-common/src/main/java/org/jboss/errai/common/client/util/Base64Util.java Need to add to LICENSE (See https://www.apache.org/legal/resolved.html#concurrent) as Category A - not blocker./packages/stunner-editors/errai-common/src/main/java/org/jboss/errai/common/client/util/TimeUnit.java missing header - not blocker./packages/stunner-editors/errai-common/src/main/java/org/jboss/errai/common/compat/README.eclipse already in LICENSE./packages/stunner-editors/errai-common/src/main/java/org/jboss/errai/common/compat/javax/annotation/processing/Generated.java missing header - not blocker./packages/stunner-editors/errai-common/src/main/resources/META-INF/ErraiApp.properties already in LICENSE./packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-marshaller/src/main/resources/DC.xsd missing header - not blocker./packages/stunner-editors/kie-wb-common-dmn/kie-wb-common-dmn-webapp-kogito-marshaller/src/main/resources/KIE.xsd already in LICENSE./packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-emf/model/BPMN20.ecore missing header - not blocker./packages/stunner-editors/kie-wb-common-stunner/kie-wb-common-stunner-sets/kie-wb-common-stunner-bpmn/kie-wb-common-stunner-bpmn-kogito-runtime/src/main/resources/org/kie/workbench/common/stunner/kogito/client/services/util/WorkDefinitions.wid Checking copyright
Checking license
Result: No blocker It might be good to temporarily remove dmg pmml test files and disabled tests, but probably not blocker apache/incubator-kie-tools#278210.0.xwaiting on backport PR to be created and merged |
Address copyright issue from the apache/incubator-kie-issues/issues/1634: - apache/incubator-kie-issues#1634 (comment) This PR is not for adding license headers into files as no such file was marked as blocker from Apache KIE 10 release.
Address copyright issue from the apache/incubator-kie-issues/issues/1634: - apache/incubator-kie-issues#1634 (comment) This PR is not for adding license headers into files as no such file was marked as blocker from Apache KIE 10 release.
Address copyright issue from the apache/incubator-kie-issues/issues/1634: - apache/incubator-kie-issues#1634 (comment) This PR is not for adding license headers into files as no such file was marked as blocker from Apache KIE 10 release.
Address copyright issue from the apache/incubator-kie-issues/issues/1634: - apache/incubator-kie-issues#1634 (comment) This PR is not for adding license headers into files as no such file was marked as blocker from Apache KIE 10 release.
Address copyright issue from the apache/incubator-kie-issues/issues/1634: - apache/incubator-kie-issues#1634 (comment) This PR is not for adding license headers into files as no such file was marked as blocker from Apache KIE 10 release.
@yesamer Yes, we have released 10.0.0. Even if we will revisit license review, it will be a new GH issue. Thanks! |
Per discussion https://lists.apache.org/thread/nrq50szwx37doopb23wyq33v0t3bbccg ,
https://issues.apache.org/jira/browse/LEGAL-469
3rd party Category X or Category B bundled code licenses not listed in LICENSE
is the one major blocker of 10.0.0 release.It means, if we have Category X or Category B licensed source code, we have to list the file path and its license in
LICENSE
file at this stage. (Eventually, we will need to remove them before incubator graduation)"Category" is explained here: https://www.apache.org/legal/resolved.html
In the discussion, 2 cases were highlighted.
./incubator-kie-tools/packages/stunner-editors/errai-common/src/main/java/org/jboss/errai/common/compat/javax/annotation/processing/Generated.java
, which is dual licensed CDDL (Category B) or GPL (Category X).-> For main, it's handled by kie-issues#1613: Add
CI :: License headers / check
GitHub Actions workflow incubator-kie-tools#2746 , but make sure that it's resolved in 10.0.0 build.incubator-kie-drools/drools-docs/supplemental-ui/js/search-ui.js
, which is MPL (Category B).-> We will exclude
drools-docs
from the source distribution.However, there may be more cases (e.g. we have found EPL in kie-tools). We need to scrutinize all source codes to find source codes with licenses missed in
LICENSE
file.Steps (Please post if you think of other approaches or improvement ideas!):
java -jar apache-rat-0.16.1.jar -d . > rat-result.txt
Files with unapproved licenses:
section. Manually check if they are one of the below casesLICENSE
filegrep -r -i copyright . | grep -v 'ASF licenses' | grep -v LICENSE | grep -v NOTICE | grep -v Apache
LICENSE
with the license. Even if it's Apache License, list it inLICENSE
with the copyright.grep -r -i license . | grep -v LICENSE | grep -v NOTICE | grep -v -E 'Licensed to the Apache Software Foundation \(ASF\) under one|or more contributor license agreements. See the NOTICE file|regarding copyright ownership. The ASF licenses this file|to you under the Apache License, Version 2.0 \(the|\"License\"\); you may not use this file except in compliance|with the License. You may obtain a copy of the License at| http://www.apache.org/licenses/LICENSE-2.0|software distributed under the License is distributed on an|KIND, either express or implied. See the License for the|under the License.'
. The result may still include noises. Addgrep -v
to ease the reviewingNote: If we cannot confirm the license quickly and the file is a test resource, we can remove the file and disable the test for 10.0.x. (resolve the issue in main)
Key point: Per https://issues.apache.org/jira/browse/LEGAL-469 , if uncovered license is Category X or Category B, it's a
Blocker
and needs to be listed inLICENSE
for 10.0.0. If Category A (e.g. MIT) or missing header, it's anIssue
, so we can fix it in main branch for 10.1.0.The text was updated successfully, but these errors were encountered: