Skip to content

Add the licence as LICENSE, in the form 51degrees-cxx uses - #45

Merged
jwrosewell merged 2 commits into
rcfrom
chore/uniform-licence
Nov 11, 2026
Merged

jwrosewell merged 2 commits into
rcfrom
chore/uniform-licence

Conversation

@jwrosewell

@jwrosewell jwrosewell commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

Into rc, where this repository takes every change (#44 merged into rc, and the "Only rc into main" check refuses any other branch into main). Branched from rc at 490ef97.

The problem

The repository had no licence file, so GitHub reports no licence for it, and tests/template-tests.js had no header.

What this follows

The licence decision for every 51Degrees repository is one LICENSE at the root holding the standard EUPL v1.2 text and no NOTICE, with the two additional terms in the standard 51Degrees header of every source file, keeping the patent variant where a file has one. The reference LICENSE is the one in 51degrees-cxx (blob a74f04438a at 9ab640e3), whose NOTICE is removed by 51degrees-cxx#151. The header is licenseText in the CopyrightUpdater settings.

What changed

  1. LICENSE, the cxx file byte for byte (git hash-object gives a74f04438a883d3366e2dbbed63d728a452fff06). There is no NOTICE.
  2. tests/template-tests.js carries the standard header with the year 2026.

tests/package.json is private and has no licence field, so it is unchanged.

Headers, before and after

Source (2 files) Standard Patent variant Other wording No header
rc 490ef97 0 0 0 2
This draft, 7ee2524 1 0 0 1

Left alone is JavaScriptResource.mustache, the template itself, which has no header. The CopyrightUpdater leaves it alone too, because no language setting lists .mustache, so it stays as it is and its bytes are unchanged for every repository that pins or copies it.

How it was checked

Checks on head 7ee2524, both green.

  • "Render and drive the template" (run 43111610603), which runs tests/template-tests.js with its new header.
  • "Only rc into main" (run 43111611093). An earlier run of the same check on the same head, run 43095868738, was created during the GitHub Actions outage and stays queued without ever starting.

The consumer tests run only when a .mustache file changes, so they did not run. Licence-only, no full build under the 20:50 decision, because the diff adds LICENSE and one comment header. Nothing here changes behaviour, so there is no red run.

After this merges

This repository is a submodule of 51degrees-dotnet, 51degrees-java, 51degrees-node and 51degrees-python, and 51degrees-php#73 adds it to PHP. Their pins stay where they are for this release, because the template is byte for byte the same, and move later.

Two published packages take the whole submodule, not only the template, so once their pins move they would carry this repository's LICENSE as well. fiftyone.pipeline.core 4.5.102 on npm holds package/javascript-templates/ with README.md, tests/ and .github/workflows/ beside the template, and pipeline.javascriptbuilder 4.6.0 on Maven Central holds the same under fiftyone/pipeline/javascriptbuilder/templates/ (both downloaded and listed on 11 November). Their packaging needs to take only JavaScriptResource.mustache before those pins move. The PyPI wheel already takes only the template.

The repository had no licence file. LICENSE is the plain EUPL v1.2 text,
byte for byte the file in 51degrees-cxx, and NOTICE holds the two
additional terms that every 51Degrees source header repeats. The test
script now carries the licenseText of the CopyrightUpdater settings in
the tools repository.
The two additional terms are stated in the header of every source file,
which is where they apply, so NOTICE is removed, as in 51degrees-cxx.
@jwrosewell jwrosewell changed the title Add the licence as LICENSE and NOTICE, in the form 51degrees-cxx uses Add the licence as LICENSE, in the form 51degrees-cxx uses Nov 11, 2026
@jwrosewell

Copy link
Copy Markdown
Contributor Author

Closing and reopening at once to start the checks again, because the runs queued during GitHub's Actions outage this evening never started.

@jwrosewell jwrosewell closed this Nov 11, 2026
@jwrosewell jwrosewell reopened this Nov 11, 2026
@jwrosewell
jwrosewell marked this pull request as ready for review November 11, 2026 23:52
@jwrosewell
jwrosewell merged commit e74ad3b into rc Nov 11, 2026
2 of 3 checks passed
@jwrosewell
jwrosewell deleted the chore/uniform-licence branch November 11, 2026 23:52
@jwrosewell jwrosewell mentioned this pull request Nov 12, 2026
jwrosewell added a commit that referenced this pull request Nov 12, 2026
* Run the .NET consumer test against 51degrees-dotnet

pipeline-dotnet has moved into 51degrees-dotnet, under pipeline/. The
consumer test checks out the monorepo with its direct submodules, swaps
the files under review into their new folder and runs the same test project
from pipeline/, whose global.json pins the .NET 8 SDK.

* Build the Node consumer test from 51degrees-node

* Test the Python consumer from 51degrees-python

pipeline-python has moved into 51degrees-python, where the Pipeline API
packages are under pipeline/. Check out the monorepo with only its
direct submodules, so the cxx data files are not fetched, and swap the
template in at its new path.

* Check out the Rust SDK as 51degrees-rust (#34)

The rust repository is now 51degrees-rust (51Degrees/51degrees-rust#206).
The Rust job checks it out by the new name, and its job name, step
name, input description and notices say 51degrees-rust. The job id
and the rust-ref input keep their names, because an id can't start
with a digit.

* Build the Java consumer test from 51degrees-java (#36)

* ci: test the PHP consumer from 51degrees-php (#38)

pipeline-php-core is now a read-only mirror. The PHP job checks out the monorepo, swaps the template into pipeline/core and runs that package's unit tests there.

* Check that only rc merges into the default branch (#40)

* Copy the OWID source into fodid before the Rust builder tests (#44)

* Add the licence as LICENSE, in the form 51degrees-cxx uses (#45)

* Add the licence as LICENSE and NOTICE, in the form 51degrees-cxx uses

The repository had no licence file. LICENSE is the plain EUPL v1.2 text,
byte for byte the file in 51degrees-cxx, and NOTICE holds the two
additional terms that every 51Degrees source header repeats. The test
script now carries the licenseText of the CopyrightUpdater settings in
the tools repository.

* Keep the licence in LICENSE alone, with no NOTICE

The two additional terms are stated in the header of every source file,
which is where they apply, so NOTICE is removed, as in 51degrees-cxx.

---------

Co-authored-by: James Rogers <JamesR@51degrees.com>
Co-authored-by: Eugene Dorfman <justadreamer2007@gmail.com>
Co-authored-by: ben51degrees <ben@51degrees.com>
Co-authored-by: Yaroslav <Yaroslavvlasenko@gmail.com>
jwrosewell added a commit to 51Degrees/51degrees-dotnet that referenced this pull request Nov 14, 2026
The JavaScript builder takes its template from the [javascript-templates](https://github.com/51Degrees/javascript-templates) submodule at `pipeline/JavaScriptBuilderElement/Templates`, which `rc` pins at [d3f96049](51Degrees/javascript-templates@d3f9604). javascript-templates has since added its licence file ([javascript-templates#45](51Degrees/javascript-templates#45)), which reached its `main` on 12 November as [41e7561f](51Degrees/javascript-templates@41e7561) ([javascript-templates#46](51Degrees/javascript-templates#46)). The Node.js and Java repositories moved their pins to that commit on 13 November ([51degrees-node#92](51Degrees/51degrees-node#92), merged at 04:12 UTC, and [51degrees-java#121](51Degrees/51degrees-java#121), merged at 04:13 UTC). .NET was the one still behind.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant