Source release: ship only the top-level LICENSE and NOTICE, not the subdirectory copies
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- docker
- Domínio
- build-system, release
Direção de pesquisa
Start with no-release.txt and the listed Dockerfiles, especially oplugins-op/Dockerfile, streamer/Dockerfile, admin-api/Dockerfile, and the runtime image Dockerfiles. Trace how source archives and image builds consume the license files, then verify that the source tarball contains only the intended top-level files while image builds still receive their required licensing files.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
The 0.9.0-incubating-RC7 source release (apache-openserverless-0.9.0-incubating-src.tar.gz) contains the top-level LICENSE, NOTICE and DISCLAIMER, plus 85 more LICENSE/NOTICE/DISCLAIMER files in subdirectories. They come from the submodules and from each runtime image directory:
- one set per submodule:
admin-api/,build/,cli/,devcontainer/,oplugins/,oplugins-op/,runtimes/,streamer/,testing/; - one set per runtime image:
runtimes/runtime/{go,java,nodejs,python}/*/andruntimes/experimental/*/; build/openwhisk/LICENSE.txt,NOTICE.txtandlicenses/LICENSE-spray.txt(from the vendored OpenWhisk sources);cli/tests/oplugins/LICENSE(test data).
Together they run to about 94,000 lines (runtimes/LICENSE alone is 37,204 lines).
Please ship only the top-level LICENSE and NOTICE in the source release, and leave the subdirectory ones out (e.g. via no-release.txt).
Why
For the source release, the top-level LICENSE and NOTICE are the ones that count. The subdirectory files mostly describe something else: the container images built from each directory, which bundle OS packages, language runtimes and dependencies that are not in the source release. Shipping them in the source tarball is confusing for users and reviewers, who cannot tell which file applies to what. It also means the same facts are maintained in many places, and they have already drifted apart. In RC7:
oplugins/LICENSEandoplugins-op/LICENSEstate that the source distribution "is licensed in its entirety under the Apache License, Version 2.0". The top-levelLICENSEcorrectly lists MIT, ISC and BSD-3-Clause code in the source (the pre-built JavaScript bundles), and there is more that is not yet listed (#260).- 20 of the subdirectory
LICENSE/NOTICEfiles refer readers to aWARNfile, butno-release.txtremoves everyWARNfile from the source release. - 19 of the subdirectory
NOTICEfiles sayCopyright 2024 The Apache Software Foundation; the top-levelNOTICEand 8 others sayCopyright 2024-2026. oplugins-op/LICENSEsays the operator bundlesgradlew/gradlew.batandConcurrentMapBackedCache.scala; neither exists underoplugins-op/.- Third-party content that should be attributed (cert-manager #263, Kvrocks #262, Milvus #260) is missing from the subdirectory files as well as the top-level ones. So there are two places to fix instead of one, and no place that is complete.
With only the top-level files, there is one place to review and keep correct for each release.
Things to handle
- Image builds use these files. 26 Dockerfiles
COPYtheir directory'sDISCLAIMER LICENSE NOTICEinto the image (e.g.oplugins-op/Dockerfile:152,streamer/Dockerfile:30,admin-api/Dockerfile:47, everyruntimes/runtime/*/*/Dockerfile,build/standalone/Dockerfile:47). The images do need their ownLICENSE/NOTICE(as convenience binaries), so dropping the files from the source tarball needs one of:- generate the image
LICENSE/NOTICEat image build time (they are largely derived from the image contents anyway); or - keep them in git but outside the source release, and have the image build (CI) supply them; or
- if they must stay in the source tree, rename them (e.g.
LICENSE-image,NOTICE-image) and add a first line saying they describe the container image, not the source, so they are not mistaken for the source release's licensing.
- generate the image
- The top-level
LICENSEpoints atbuild/openwhisk/licenses/LICENSE-spray.txt. Either keep that one file, or inline the Spray licence text in the top-levelLICENSE. The Spray licence is Apache-2.0, already reproduced there. build/openwhisk/LICENSE.txt/NOTICE.txtare the vendored OpenWhisk project's own files. The top-levelNOTICEalready carries the OpenWhisk attribution, so they can go too.- Optional: the same applies to the 27 subdirectory
DISCLAIMERfiles, which duplicate the top-levelDISCLAIMER.
Related: #260, #262, #263, #267.
- Linguagem predominante
- Python
- Estrelas
- 576
- Forks
- 29
- Merge médio
- 7h 7min
- PRs com merge (30d)
- 5
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de apache/openserverless
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
apache/openserverless#269 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
apache/openserverless#267 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 1-2 dias Facilidade para iniciantes 42/100
apache/openserverless#271 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
apache/openserverless#215 ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 58/100
apache/openserverless#214 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de apache/openserverless
Issues semelhantes
-
effort: low prio: low ready
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
digitalfabrik/integreat-cms#4616 ·
Mantenedores costumam responder em até 5 dias
-
bug difficulty:2 good first issue help wanted
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
MakazhanAlpamys/Soup#1865 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
FinanceFlash/unvibecode#233 ·
Mantenedores costumam responder em até 1 dia
-
area: agents area: docs good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
openapi/gknowledge#23 ·
-
useless-suppression reported for deprecated-* messages that should be exemptTalvez já em andamento @adityasinha-ghub assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
pylint-dev/pylint#11656 ·
Mantenedores costumam responder em até 1 dia