Skip to content

chore: Use short Apache license header - #26761

Merged
2010YOUY01 merged 4 commits into
apache:mainfrom
2010YOUY01:short-apache-header
Oct 28, 2026
Merged

2010YOUY01 merged 4 commits into
apache:mainfrom
2010YOUY01:short-apache-header

Conversation

@2010YOUY01

@2010YOUY01 2010YOUY01 commented Oct 26, 2026 •

Copy link
Copy Markdown
Member

Which issue does this PR close?

  • Closes #.

Rationale for this change

Use the shorter Apache License 2.0 header instead. It saves tokens and screen space.

The shorter 3-lines form is explicitly allowed from ASF guide: https://www.apache.org/legal/src-headers.html?utm_source=chatgpt.com#is-an-spdx-form-of-the-source-header-acceptable

Before:

// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// 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
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.

After: https://www.apache.org/legal/src-headers.html?utm_source=chatgpt.com#is-an-spdx-form-of-the-source-header-acceptable

What changes are included in this PR?

Existing dev tool use hawkeye to check/generate license header: https://github.com/fast/hawkeye

commit 1: preparations, set up hawkeye config files
commit 2: ran the following command, all source license headers are auto-converted

hawkeye remove --config licenserc-legacy.toml &&
hawkeye format --config licenserc.toml &&
hawkeye check --config licenserc.toml

commit 3: clean up

What is the testing strategy for this PR?

I've let codex double checked no missing files, and no unintended changes.

Also CI validates new header:

license-header-check:

Are there any user-facing changes?

@github-actions github-actions Bot added documentation Improvements or additions to documentation sql SQL Planner development-process Related to development process of DataFusion logical-expr Logical plan and expressions physical-expr Changes to the physical-expr crates optimizer Optimizer rules core Core DataFusion crate sqllogictest SQL Logic Tests (.slt) substrait Changes to the substrait crate catalog Related to the catalog crate common Related to common crate execution Related to the execution crate proto Related to proto crate functions Changes to functions implementation datasource Changes to the datasource crate ffi Changes to the ffi crate physical-plan Changes to the physical-plan crate spark Changes to datafusion-spark crate labels Oct 26, 2026
@AdamGS

AdamGS commented Oct 26, 2026

Copy link
Copy Markdown
Contributor

More than happy to approve this, but might be worth leaving open for a bit to make sure no one with more context/APACHE experience knows some reason to block this.

@AdamGS

AdamGS commented Oct 26, 2026

Copy link
Copy Markdown
Contributor

FWIW - the PR is so big that it seems to have broken something in the "review" tab and I had to use the CLI 🤣

@2010YOUY01
2010YOUY01 added this pull request to the merge queue Oct 28, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Oct 28, 2026
@2010YOUY01
2010YOUY01 added this pull request to the merge queue Oct 28, 2026
Merged via the queue into apache:main with commit c1013ec Oct 28, 2026
46 checks passed
@2010YOUY01
2010YOUY01 deleted the short-apache-header branch October 28, 2026 01:29
@2010YOUY01

Copy link
Copy Markdown
Member Author

More than happy to approve this, but might be worth leaving open for a bit to make sure no one with more context/APACHE experience knows some reason to block this.

It's been open for two days with no objections so far. Let's go ahead and merge it.

@AdamGS @xudong963 Thank you for the review.

alamb pushed a commit to cblp/datafusion that referenced this pull request Nov 3, 2026
> [!IMPORTANT]
>
> **Fork CI setup:** For pull requests from a fork to `main`, enable
workflows in your fork's **Actions** tab before you push.
> See the [fork CI setup
guide](https://datafusion.apache.org/contributor-guide/#pull-requests-from-forks).

## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

Follow-up to apache#26761.


## Rationale for this change

<!--
Why are you proposing this change? If this is already explained clearly
in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand
your changes and offer better suggestions for fixes.

Please explain the problem you are trying to solve in terms of the
user-visible
behavior, rather than the implementation.

For example, "The code in `foo.rs` doesn't handle nulls" is a symptom of
the
implementation. "COUNT(DISTINCT) returns wrong results when the column
contains
nulls" is the user-visible problem.
-->
From apache#26761:

> Use the shorter Apache License 2.0 header instead. It saves tokens and
screen space.

The original configuration covered only `.rs`, `.py`, `.ts`, and `.slt`.
Other file types still used the long header; for example, `.slt.part`
files were not included.

## What changes are included in this PR?

<!--
There is no need to duplicate the description in the issue here, but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->
Existing dev tool use hawkeye to check/generate license header:
https://github.com/fast/hawkeye

- commit 1: preparations, set up hawkeye config files
- commit 2: ran the following command, all source license headers are
auto-converted
```
hawkeye remove --config licenserc-legacy.toml &&
hawkeye format --config licenserc.toml &&
hawkeye check --config licenserc.toml
```
- commit 3: clean up

## What is the testing strategy for this PR?
Updated `licenserc.toml`, to ensure those previously missed file types
can continue getting verified by CI (and auto-fixed by existing dev
script)

ALso let Codex to double checked no unintended changes.
<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code

Briefly describe how this PR is tested, and point to the specific tests
you added. For example: 'This new feature is covered by the
`sqllogictest` cases added in `foo.slt`'.

If this PR does not add tests, explain why. For example, if the change
is already covered by existing tests, please mention it.

You should also check the `codecov` bot reply on this PR to confirm the
changed code is exercised.
-->

## Are there any user-facing changes?

<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.

If there are any breaking changes to public APIs, please add the `api
change` label.
-->
bvolpato pushed a commit to bvolpato/datafusion that referenced this pull request Nov 6, 2026
…ression (apache#27145)

## Which issue does this PR close?

- Partly closes apache#27108.
- Reverts apache#25790.

## Rationale for this change

On TPC-H Q18, DataFusion 56 takes about 233 s and 22 GB of peak memory
on an M3 Max, compared with about 7 s and 4 GB on 55.1.0. On x86_64 the
process runs out of memory (apache#27108). @devanbenz traced the regression to
apache#25790: the new Decimal filter selectivity estimate changes the join
order of the plan.

As agreed in
apache#24461 (comment),
this PR reverts apache#25790 before the 56 release.

apache#27146 tracks the work to
re-land the change.

## What changes are included in this PR?

This reverts commit 6145a09. The only
conflict was `filter_statistics_decimal.slt`, which apache#25790 added and
apache#26761 later edited. This PR deletes it.

## What is the testing strategy for this PR?

The existing tests, which pass locally.

## Are there any user-facing changes?

Filters on Decimal columns use the selectivity estimate from 55.x again.

----
Disclaimer: I used AI to assist in the code generation, I have manually
reviewed the output and it matches my intention and understanding.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

catalog Related to the catalog crate common Related to common crate core Core DataFusion crate datasource Changes to the datasource crate development-process Related to development process of DataFusion documentation Improvements or additions to documentation execution Related to the execution crate ffi Changes to the ffi crate functions Changes to functions implementation logical-expr Logical plan and expressions optimizer Optimizer rules physical-expr Changes to the physical-expr crates physical-plan Changes to the physical-plan crate proto Related to proto crate spark Changes to datafusion-spark crate sql SQL Planner sqllogictest SQL Logic Tests (.slt) substrait Changes to the substrait crate v56.0.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants