public inbox for linux-erofs@ozlabs.org
 help / color / mirror / Atom feed
* [PATCH 1/2] erofs-utils: lib: switch to GPL-2.0+ OR MIT dual license
@ 2026-04-02  6:09 Gao Xiang
  2026-04-02  6:09 ` [PATCH 2/2] erofs-utils: switch other source files into MIT license Gao Xiang
                   ` (4 more replies)
  0 siblings, 5 replies; 10+ messages in thread
From: Gao Xiang @ 2026-04-02  6:09 UTC (permalink / raw)
  To: linux-erofs; +Cc: Gao Xiang

Apache 2.0 is still too strict for some 3rd-party integration.

Let's switch to GPL-2.0+ OR MIT dual license since we're absolutely
not working on secret rocket science, so licenses should not be a
bottleneck to innovation in the Cloud Native and AI era.

Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
---
 COPYING                        |   6 +-
 LICENSES/Apache-2.0            | 186 ---------------------------------
 include/erofs/atomic.h         |   2 +-
 include/erofs/bitops.h         |   2 +-
 include/erofs/blobchunk.h      |   2 +-
 include/erofs/block_list.h     |   2 +-
 include/erofs/compress_hints.h |   2 +-
 include/erofs/config.h         |   2 +-
 include/erofs/decompress.h     |   2 +-
 include/erofs/dedupe.h         |   2 +-
 include/erofs/defs.h           |   2 +-
 include/erofs/dir.h            |   2 +-
 include/erofs/diskbuf.h        |   2 +-
 include/erofs/err.h            |   2 +-
 include/erofs/exclude.h        |   2 +-
 include/erofs/importer.h       |   2 +-
 include/erofs/inode.h          |   2 +-
 include/erofs/internal.h       |   2 +-
 include/erofs/io.h             |   2 +-
 include/erofs/list.h           |   2 +-
 include/erofs/lock.h           |   2 +-
 include/erofs/print.h          |   2 +-
 include/erofs/tar.h            |   2 +-
 include/erofs/trace.h          |   2 +-
 include/erofs/workqueue.h      |   2 +-
 include/erofs/xattr.h          |   2 +-
 lib/Makefile.am                |   2 +-
 lib/backends/fanotify.c        |   2 +-
 lib/backends/nbd.c             |   2 +-
 lib/base64.c                   |   2 +-
 lib/bitops.c                   |   2 +-
 lib/blobchunk.c                |   2 +-
 lib/block_list.c               |   2 +-
 lib/cache.c                    |   2 +-
 lib/compress.c                 |   2 +-
 lib/compress_hints.c           |   2 +-
 lib/compressor.c               |   2 +-
 lib/compressor.h               |   2 +-
 lib/compressor_deflate.c       |   2 +-
 lib/compressor_libdeflate.c    |   2 +-
 lib/compressor_liblzma.c       |   2 +-
 lib/compressor_libzstd.c       |   2 +-
 lib/compressor_lz4.c           |   2 +-
 lib/compressor_lz4hc.c         |   2 +-
 lib/config.c                   |   2 +-
 lib/data.c                     |   2 +-
 lib/decompress.c               |   2 +-
 lib/dedupe.c                   |   2 +-
 lib/dedupe_ext.c               |   2 +-
 lib/dir.c                      |   2 +-
 lib/diskbuf.c                  |   2 +-
 lib/exclude.c                  |   2 +-
 lib/fragments.c                |   2 +-
 lib/global.c                   |   2 +-
 lib/gzran.c                    |   2 +-
 lib/importer.c                 |   2 +-
 lib/inode.c                    |   2 +-
 lib/io.c                       |   2 +-
 lib/kite_deflate.c             |   2 +-
 lib/liberofs_cache.h           |   2 +-
 lib/liberofs_compress.h        |   2 +-
 lib/liberofs_dockerconfig.h    |   2 +-
 lib/liberofs_fanotify.h        |   2 +-
 lib/liberofs_fragments.h       |   2 +-
 lib/liberofs_gzran.h           |   2 +-
 lib/liberofs_metabox.h         |   2 +-
 lib/liberofs_nbd.h             |   2 +-
 lib/liberofs_oci.h             |   2 +-
 lib/liberofs_private.h         |   2 +-
 lib/liberofs_rebuild.h         |   2 +-
 lib/liberofs_s3.h              |   2 +-
 lib/liberofs_uuid.h            |   2 +-
 lib/metabox.c                  |   2 +-
 lib/namei.c                    |   2 +-
 lib/rebuild.c                  |   2 +-
 lib/remotes/docker_config.c    |   2 +-
 lib/remotes/oci.c              |   2 +-
 lib/remotes/s3.c               |   2 +-
 lib/rolling_hash.h             |   2 +-
 lib/sha256.h                   |   2 +-
 lib/super.c                    |   2 +-
 lib/tar.c                      |   2 +-
 lib/uuid.c                     |   2 +-
 lib/uuid_unparse.c             |   2 +-
 lib/vmdk.c                     |   2 +-
 lib/workqueue.c                |   2 +-
 lib/xattr.c                    |   2 +-
 lib/zmap.c                     |   2 +-
 88 files changed, 89 insertions(+), 275 deletions(-)
 delete mode 100644 LICENSES/Apache-2.0

diff --git a/COPYING b/COPYING
index 8767cae10b22..e781cc21ff15 100644
--- a/COPYING
+++ b/COPYING
@@ -1,7 +1,7 @@
 erofs-utils uses two different license patterns:
 
  - most liberofs files in `lib` and `include` directories
-   use GPL-2.0+ OR Apache-2.0 dual license;
+   use GPL-2.0+ OR MIT dual license;
 
  - all other files use GPL-2.0+ license, unless
    explicitly stated otherwise.
@@ -9,7 +9,7 @@ erofs-utils uses two different license patterns:
 Relevant licenses can be found in the LICENSES directory.
 
 This model is selected to emphasize that
-files in `lib` and `include` directory are designed to be included into
-3rd-party applications, while all other files, are intended to be used
+files in `lib` and `include` directories are designed to be included in
+3rd-party applications, while all other files are intended to be used
 "as is", as part of their intended scenarios, with no intention to
 support 3rd-party integration use cases.
diff --git a/LICENSES/Apache-2.0 b/LICENSES/Apache-2.0
deleted file mode 100644
index f6c1877fae13..000000000000
--- a/LICENSES/Apache-2.0
+++ /dev/null
@@ -1,186 +0,0 @@
-Valid-License-Identifier: Apache-2.0
-SPDX-URL: https://spdx.org/licenses/Apache-2.0.html
-Usage-Guide:
-  The Apache-2.0 may only be used for dual-licensed files where the other
-  license is GPL2 compatible. If you end up using this it MUST be used
-  together with a GPL2 compatible license using "OR".
-  To use the Apache License version 2.0 put the following SPDX tag/value
-  pair into a comment according to the placement guidelines in the
-  licensing rules documentation:
-    SPDX-License-Identifier: Apache-2.0
-License-Text:
-
-Apache License
-
-Version 2.0, January 2004
-
-http://www.apache.org/licenses/
-
-TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-1. Definitions.
-
-"License" shall mean the terms and conditions for use, reproduction, and
-distribution as defined by Sections 1 through 9 of this document.
-
-"Licensor" shall mean the copyright owner or entity authorized by the
-copyright owner that is granting the License.
-
-"Legal Entity" shall mean the union of the acting entity and all other
-entities that control, are controlled by, or are under common control with
-that entity. For the purposes of this definition, "control" means (i) the
-power, direct or indirect, to cause the direction or management of such
-entity, whether by contract or otherwise, or (ii) ownership of fifty
-percent (50%) or more of the outstanding shares, or (iii) beneficial
-ownership of such entity.
-
-"You" (or "Your") shall mean an individual or Legal Entity exercising
-permissions granted by this License.
-
-"Source" form shall mean the preferred form for making modifications,
-including but not limited to software source code, documentation source,
-and configuration files.
-
-"Object" form shall mean any form resulting from mechanical transformation
-or translation of a Source form, including but not limited to compiled
-object code, generated documentation, and conversions to other media types.
-
-"Work" shall mean the work of authorship, whether in Source or Object form,
-made available under the License, as indicated by a copyright notice that
-is included in or attached to the work (an example is provided in the
-Appendix below).
-
-"Derivative Works" shall mean any work, whether in Source or Object form,
-that is based on (or derived from) the Work and for which the editorial
-revisions, annotations, elaborations, or other modifications represent, as
-a whole, an original work of authorship. For the purposes of this License,
-Derivative Works shall not include works that remain separable from, or
-merely link (or bind by name) to the interfaces of, the Work and Derivative
-Works thereof.
-
-"Contribution" shall mean any work of authorship, including the original
-version of the Work and any modifications or additions to that Work or
-Derivative Works thereof, that is intentionally submitted to Licensor for
-inclusion in the Work by the copyright owner or by an individual or Legal
-Entity authorized to submit on behalf of the copyright owner. For the
-purposes of this definition, "submitted" means any form of electronic,
-verbal, or written communication sent to the Licensor or its
-representatives, including but not limited to communication on electronic
-mailing lists, source code control systems, and issue tracking systems that
-are managed by, or on behalf of, the Licensor for the purpose of discussing
-and improving the Work, but excluding communication that is conspicuously
-marked or otherwise designated in writing by the copyright owner as "Not a
-Contribution."
-
-"Contributor" shall mean Licensor and any individual or Legal Entity on
-behalf of whom a Contribution has been received by Licensor and
-subsequently incorporated within the Work.
-
-2. Grant of Copyright License. Subject to the terms and conditions of this
-   License, each Contributor hereby grants to You a perpetual, worldwide,
-   non-exclusive, no-charge, royalty-free, irrevocable copyright license to
-   reproduce, prepare Derivative Works of, publicly display, publicly
-   perform, sublicense, and distribute the Work and such Derivative Works
-   in Source or Object form.
-
-3. Grant of Patent License. Subject to the terms and conditions of this
-   License, each Contributor hereby grants to You a perpetual, worldwide,
-   non-exclusive, no-charge, royalty-free, irrevocable (except as stated in
-   this section) patent license to make, have made, use, offer to sell,
-   sell, import, and otherwise transfer the Work, where such license
-   applies only to those patent claims licensable by such Contributor that
-   are necessarily infringed by their Contribution(s) alone or by
-   combination of their Contribution(s) with the Work to which such
-   Contribution(s) was submitted. If You institute patent litigation
-   against any entity (including a cross-claim or counterclaim in a
-   lawsuit) alleging that the Work or a Contribution incorporated within
-   the Work constitutes direct or contributory patent infringement, then
-   any patent licenses granted to You under this License for that Work
-   shall terminate as of the date such litigation is filed.
-
-4. Redistribution. You may reproduce and distribute copies of the Work or
-   Derivative Works thereof in any medium, with or without modifications,
-   and in Source or Object form, provided that You meet the following
-   conditions:
-
-   a. You must give any other recipients of the Work or Derivative Works a
-      copy of this License; and
-
-   b. You must cause any modified files to carry prominent notices stating
-      that You changed the files; and
-
-   c. You must retain, in the Source form of any Derivative Works that You
-      distribute, all copyright, patent, trademark, and attribution notices
-      from the Source form of the Work, excluding those notices that do not
-      pertain to any part of the Derivative Works; and
-
-   d. If the Work includes a "NOTICE" text file as part of its
-      distribution, then any Derivative Works that You distribute must
-      include a readable copy of the attribution notices contained within
-      such NOTICE file, excluding those notices that do not pertain to any
-      part of the Derivative Works, in at least one of the following
-      places: within a NOTICE text file distributed as part of the
-      Derivative Works; within the Source form or documentation, if
-      provided along with the Derivative Works; or, within a display
-      generated by the Derivative Works, if and wherever such third-party
-      notices normally appear. The contents of the NOTICE file are for
-      informational purposes only and do not modify the License. You may
-      add Your own attribution notices within Derivative Works that You
-      distribute, alongside or as an addendum to the NOTICE text from the
-      Work, provided that such additional attribution notices cannot be
-      construed as modifying the License.
-
-    You may add Your own copyright statement to Your modifications and may
-    provide additional or different license terms and conditions for use,
-    reproduction, or distribution of Your modifications, or for any such
-    Derivative Works as a whole, provided Your use, reproduction, and
-    distribution of the Work otherwise complies with the conditions stated
-    in this License.
-
-5. Submission of Contributions. Unless You explicitly state otherwise, any
-   Contribution intentionally submitted for inclusion in the Work by You to
-   the Licensor shall be under the terms and conditions of this License,
-   without any additional terms or conditions. Notwithstanding the above,
-   nothing herein shall supersede or modify the terms of any separate
-   license agreement you may have executed with Licensor regarding such
-   Contributions.
-
-6. Trademarks. This License does not grant permission to use the trade
-   names, trademarks, service marks, or product names of the Licensor,
-   except as required for reasonable and customary use in describing the
-   origin of the Work and reproducing the content of the NOTICE file.
-
-7. Disclaimer of Warranty. Unless required by applicable law or agreed to
-   in writing, Licensor provides the Work (and each Contributor provides
-   its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
-   OF ANY KIND, either express or implied, including, without limitation,
-   any warranties or conditions of TITLE, NON-INFRINGEMENT,
-   MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely
-   responsible for determining the appropriateness of using or
-   redistributing the Work and assume any risks associated with Your
-   exercise of permissions under this License.
-
-8. Limitation of Liability. In no event and under no legal theory, whether
-   in tort (including negligence), contract, or otherwise, unless required
-   by applicable law (such as deliberate and grossly negligent acts) or
-   agreed to in writing, shall any Contributor be liable to You for
-   damages, including any direct, indirect, special, incidental, or
-   consequential damages of any character arising as a result of this
-   License or out of the use or inability to use the Work (including but
-   not limited to damages for loss of goodwill, work stoppage, computer
-   failure or malfunction, or any and all other commercial damages or
-   losses), even if such Contributor has been advised of the possibility of
-   such damages.
-
-9. Accepting Warranty or Additional Liability. While redistributing the
-   Work or Derivative Works thereof, You may choose to offer, and charge a
-   fee for, acceptance of support, warranty, indemnity, or other liability
-   obligations and/or rights consistent with this License. However, in
-   accepting such obligations, You may act only on Your own behalf and on
-   Your sole responsibility, not on behalf of any other Contributor, and
-   only if You agree to indemnify, defend, and hold each Contributor
-   harmless for any liability incurred by, or claims asserted against, such
-   Contributor by reason of your accepting any such warranty or additional
-   liability.
-
-END OF TERMS AND CONDITIONS
diff --git a/include/erofs/atomic.h b/include/erofs/atomic.h
index 142590bd6c79..3aa19f6ae369 100644
--- a/include/erofs/atomic.h
+++ b/include/erofs/atomic.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 /*
  * Copyright (C) 2024 Alibaba Cloud
  */
diff --git a/include/erofs/bitops.h b/include/erofs/bitops.h
index 058642f5b190..f407cc95292e 100644
--- a/include/erofs/bitops.h
+++ b/include/erofs/bitops.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 #ifndef __EROFS_BITOPS_H
 #define __EROFS_BITOPS_H
 
diff --git a/include/erofs/blobchunk.h b/include/erofs/blobchunk.h
index 48fca63c6c15..1761fdd82432 100644
--- a/include/erofs/blobchunk.h
+++ b/include/erofs/blobchunk.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 /*
  * erofs-utils/lib/blobchunk.h
  *
diff --git a/include/erofs/block_list.h b/include/erofs/block_list.h
index 9d06c9c47d2e..156a5a433ded 100644
--- a/include/erofs/block_list.h
+++ b/include/erofs/block_list.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 /*
  * Copyright (C), 2021, Coolpad Group Limited.
  * Created by Yue Hu <huyue2@yulong.com>
diff --git a/include/erofs/compress_hints.h b/include/erofs/compress_hints.h
index 6ccc03d213ea..3ab7bb4b67f1 100644
--- a/include/erofs/compress_hints.h
+++ b/include/erofs/compress_hints.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 /*
  * Copyright (C), 2008-2021, OPPO Mobile Comm Corp., Ltd.
  * Created by Huang Jianan <huangjianan@oppo.com>
diff --git a/include/erofs/config.h b/include/erofs/config.h
index bb303c48a0db..95d7e9f16065 100644
--- a/include/erofs/config.h
+++ b/include/erofs/config.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 /*
  * Copyright (C) 2018-2019 HUAWEI, Inc.
  *             http://www.huawei.com/
diff --git a/include/erofs/decompress.h b/include/erofs/decompress.h
index 0d5548327b02..edc017c2b8e4 100644
--- a/include/erofs/decompress.h
+++ b/include/erofs/decompress.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 /*
  * Copyright (C), 2008-2020, OPPO Mobile Comm Corp., Ltd.
  * Created by Huang Jianan <huangjianan@oppo.com>
diff --git a/include/erofs/dedupe.h b/include/erofs/dedupe.h
index f9caa6113d15..267d9b9f12c8 100644
--- a/include/erofs/dedupe.h
+++ b/include/erofs/dedupe.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 /*
  * Copyright (C) 2022 Alibaba Cloud
  */
diff --git a/include/erofs/defs.h b/include/erofs/defs.h
index 71ca11b54ef8..ff87df9d3d51 100644
--- a/include/erofs/defs.h
+++ b/include/erofs/defs.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 /*
  * Copyright (C) 2018 HUAWEI, Inc.
  *             http://www.huawei.com/
diff --git a/include/erofs/dir.h b/include/erofs/dir.h
index 5460ac48512f..4e0614dfbbce 100644
--- a/include/erofs/dir.h
+++ b/include/erofs/dir.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 #ifndef __EROFS_DIR_H
 #define __EROFS_DIR_H
 
diff --git a/include/erofs/diskbuf.h b/include/erofs/diskbuf.h
index 29d9fe2cf52e..122890b2f919 100644
--- a/include/erofs/diskbuf.h
+++ b/include/erofs/diskbuf.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 #ifndef __EROFS_DISKBUF_H
 #define __EROFS_DISKBUF_H
 
diff --git a/include/erofs/err.h b/include/erofs/err.h
index 59c8c9cc9ae3..7dacc917a4c1 100644
--- a/include/erofs/err.h
+++ b/include/erofs/err.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 /*
  * Copyright (C) 2018 HUAWEI, Inc.
  *             http://www.huawei.com/
diff --git a/include/erofs/exclude.h b/include/erofs/exclude.h
index 3f17032b48db..0af39a0a5b05 100644
--- a/include/erofs/exclude.h
+++ b/include/erofs/exclude.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 /*
  * Created by Li Guifu <bluce.lee@aliyun.com>
  */
diff --git a/include/erofs/importer.h b/include/erofs/importer.h
index 920488453c34..07e40b47954d 100644
--- a/include/erofs/importer.h
+++ b/include/erofs/importer.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 /*
  * Copyright (C) 2025 Alibaba Cloud
  */
diff --git a/include/erofs/inode.h b/include/erofs/inode.h
index ba62ece9a7cc..bf089e83590b 100644
--- a/include/erofs/inode.h
+++ b/include/erofs/inode.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 /*
  * Copyright (C) 2018-2019 HUAWEI, Inc.
  *             http://www.huawei.com/
diff --git a/include/erofs/internal.h b/include/erofs/internal.h
index 671880f2db3c..c780228c7bfe 100644
--- a/include/erofs/internal.h
+++ b/include/erofs/internal.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 /*
  * Copyright (C) 2019 HUAWEI, Inc.
  *             http://www.huawei.com/
diff --git a/include/erofs/io.h b/include/erofs/io.h
index 9533efc2d20a..96309fde9646 100644
--- a/include/erofs/io.h
+++ b/include/erofs/io.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 /*
  * Copyright (C) 2018-2019 HUAWEI, Inc.
  *             http://www.huawei.com/
diff --git a/include/erofs/list.h b/include/erofs/list.h
index a7e30ccc4258..e9208887ee80 100644
--- a/include/erofs/list.h
+++ b/include/erofs/list.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 /*
  * Copyright (C) 2018 HUAWEI, Inc.
  *             http://www.huawei.com/
diff --git a/include/erofs/lock.h b/include/erofs/lock.h
index c6e30937aac4..884f23ea739e 100644
--- a/include/erofs/lock.h
+++ b/include/erofs/lock.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 #ifndef __EROFS_LOCK_H
 #define __EROFS_LOCK_H
 
diff --git a/include/erofs/print.h b/include/erofs/print.h
index a896d75117de..fa979a3a2d46 100644
--- a/include/erofs/print.h
+++ b/include/erofs/print.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 /*
  * Copyright (C) 2018-2019 HUAWEI, Inc.
  *             http://www.huawei.com/
diff --git a/include/erofs/tar.h b/include/erofs/tar.h
index cdaef315442d..a8166336d220 100644
--- a/include/erofs/tar.h
+++ b/include/erofs/tar.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 #ifndef __EROFS_TAR_H
 #define __EROFS_TAR_H
 
diff --git a/include/erofs/trace.h b/include/erofs/trace.h
index 398e3318355d..fe6734073580 100644
--- a/include/erofs/trace.h
+++ b/include/erofs/trace.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 /*
  * Copyright (C) 2020 Gao Xiang <hsiangkao@aol.com>
  */
diff --git a/include/erofs/workqueue.h b/include/erofs/workqueue.h
index 36037c381c4a..064246c2bfe4 100644
--- a/include/erofs/workqueue.h
+++ b/include/erofs/workqueue.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 #ifndef __EROFS_WORKQUEUE_H
 #define __EROFS_WORKQUEUE_H
 
diff --git a/include/erofs/xattr.h b/include/erofs/xattr.h
index 96546364f316..235688649592 100644
--- a/include/erofs/xattr.h
+++ b/include/erofs/xattr.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 #ifndef __EROFS_XATTR_H
 #define __EROFS_XATTR_H
 
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 5f8812f48c93..27bf71094bad 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -1,4 +1,4 @@
-# SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+# SPDX-License-Identifier: GPL-2.0+ OR MIT
 
 noinst_LTLIBRARIES = liberofs.la
 noinst_HEADERS = $(top_srcdir)/include/erofs_fs.h \
diff --git a/lib/backends/fanotify.c b/lib/backends/fanotify.c
index bbe131ac11c2..cf8b61667705 100644
--- a/lib/backends/fanotify.c
+++ b/lib/backends/fanotify.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 #define _GNU_SOURCE
 #include <errno.h>
 #include <fcntl.h>
diff --git a/lib/backends/nbd.c b/lib/backends/nbd.c
index da2733477f8e..c488053d99d3 100644
--- a/lib/backends/nbd.c
+++ b/lib/backends/nbd.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * Copyright (C) 2025 Alibaba Cloud
  */
diff --git a/lib/base64.c b/lib/base64.c
index a45f7b6f2a1a..623d83cb9f2f 100644
--- a/lib/base64.c
+++ b/lib/base64.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 #include "liberofs_base64.h"
 #include <string.h>
 
diff --git a/lib/bitops.c b/lib/bitops.c
index bb0c9eeb917a..da012b233ac2 100644
--- a/lib/bitops.c
+++ b/lib/bitops.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * erofs-utils/lib/bitops.c
  *
diff --git a/lib/blobchunk.c b/lib/blobchunk.c
index 96c161b27091..e39bf6800059 100644
--- a/lib/blobchunk.c
+++ b/lib/blobchunk.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * erofs-utils/lib/blobchunk.c
  *
diff --git a/lib/block_list.c b/lib/block_list.c
index f8dc9138bd92..e6b28424ad36 100644
--- a/lib/block_list.c
+++ b/lib/block_list.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * Copyright (C), 2021, Coolpad Group Limited.
  * Created by Yue Hu <huyue2@yulong.com>
diff --git a/lib/cache.c b/lib/cache.c
index 4c7c3863275b..f964e4737767 100644
--- a/lib/cache.c
+++ b/lib/cache.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * Copyright (C) 2018-2019 HUAWEI, Inc.
  *             http://www.huawei.com/
diff --git a/lib/compress.c b/lib/compress.c
index 4a0d890ae87d..62d2672cb665 100644
--- a/lib/compress.c
+++ b/lib/compress.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * Copyright (C) 2018-2019 HUAWEI, Inc.
  *             http://www.huawei.com/
diff --git a/lib/compress_hints.c b/lib/compress_hints.c
index 322ec97f474a..a4ff0038ebb5 100644
--- a/lib/compress_hints.c
+++ b/lib/compress_hints.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * Copyright (C), 2008-2021, OPPO Mobile Comm Corp., Ltd.
  * Created by Huang Jianan <huangjianan@oppo.com>
diff --git a/lib/compressor.c b/lib/compressor.c
index cf55abcf5359..7593b336ffc8 100644
--- a/lib/compressor.c
+++ b/lib/compressor.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * Copyright (C) 2018-2019 HUAWEI, Inc.
  *             http://www.huawei.com/
diff --git a/lib/compressor.h b/lib/compressor.h
index 86b45a759874..7b7ef37f8218 100644
--- a/lib/compressor.h
+++ b/lib/compressor.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 /*
  * Copyright (C) 2018-2019 HUAWEI, Inc.
  *             http://www.huawei.com/
diff --git a/lib/compressor_deflate.c b/lib/compressor_deflate.c
index f567d2c731af..9521aec6914d 100644
--- a/lib/compressor_deflate.c
+++ b/lib/compressor_deflate.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * Copyright (C) 2023, Alibaba Cloud
  * Copyright (C) 2023, Gao Xiang <xiang@kernel.org>
diff --git a/lib/compressor_libdeflate.c b/lib/compressor_libdeflate.c
index 18f5f7b4048c..da39e354974c 100644
--- a/lib/compressor_libdeflate.c
+++ b/lib/compressor_libdeflate.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 #include "erofs/internal.h"
 #include "erofs/print.h"
 #include "erofs/config.h"
diff --git a/lib/compressor_liblzma.c b/lib/compressor_liblzma.c
index 49a90a23525a..ac5d02ea00a2 100644
--- a/lib/compressor_liblzma.c
+++ b/lib/compressor_liblzma.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * Copyright (C) 2021 Gao Xiang <xiang@kernel.org>
  */
diff --git a/lib/compressor_libzstd.c b/lib/compressor_libzstd.c
index 6330f445ffa6..06f16c272e80 100644
--- a/lib/compressor_libzstd.c
+++ b/lib/compressor_libzstd.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 #include "erofs/internal.h"
 #include "erofs/print.h"
 #include "erofs/config.h"
diff --git a/lib/compressor_lz4.c b/lib/compressor_lz4.c
index f3d88b09fa4a..5f3530a7e6f0 100644
--- a/lib/compressor_lz4.c
+++ b/lib/compressor_lz4.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * Copyright (C) 2018-2019 HUAWEI, Inc.
  *             http://www.huawei.com/
diff --git a/lib/compressor_lz4hc.c b/lib/compressor_lz4hc.c
index 9955c0d717ac..073e33073a3d 100644
--- a/lib/compressor_lz4hc.c
+++ b/lib/compressor_lz4hc.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * Copyright (C) 2018-2019 HUAWEI, Inc.
  *             http://www.huawei.com/
diff --git a/lib/config.c b/lib/config.c
index ab7eb01e1914..b7dbced071f7 100644
--- a/lib/config.c
+++ b/lib/config.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * Copyright (C) 2018-2019 HUAWEI, Inc.
  *             http://www.huawei.com/
diff --git a/lib/data.c b/lib/data.c
index 6fd1389cc09f..1bb9269cb836 100644
--- a/lib/data.c
+++ b/lib/data.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * Copyright (C) 2020 Gao Xiang <hsiangkao@aol.com>
  * Compression support by Huang Jianan <huangjianan@oppo.com>
diff --git a/lib/decompress.c b/lib/decompress.c
index e66693c5883e..d23135e0cd43 100644
--- a/lib/decompress.c
+++ b/lib/decompress.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * Copyright (C), 2008-2020, OPPO Mobile Comm Corp., Ltd.
  * Created by Huang Jianan <huangjianan@oppo.com>
diff --git a/lib/dedupe.c b/lib/dedupe.c
index bdd890cc2e82..91ea31cc3ec4 100644
--- a/lib/dedupe.c
+++ b/lib/dedupe.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * Copyright (C) 2022 Alibaba Cloud
  */
diff --git a/lib/dedupe_ext.c b/lib/dedupe_ext.c
index d7a9b737e428..ae00bbe5e03d 100644
--- a/lib/dedupe_ext.c
+++ b/lib/dedupe_ext.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 #include "erofs/dedupe.h"
 #include "liberofs_xxhash.h"
 #include <stdlib.h>
diff --git a/lib/dir.c b/lib/dir.c
index 98edb8e1695c..bf611d9b9678 100644
--- a/lib/dir.c
+++ b/lib/dir.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 #include <stdlib.h>
 #include <sys/stat.h>
 #include "erofs/print.h"
diff --git a/lib/diskbuf.c b/lib/diskbuf.c
index 0bf42da6a8af..b32a39adf67a 100644
--- a/lib/diskbuf.c
+++ b/lib/diskbuf.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 #include "erofs/diskbuf.h"
 #include "erofs/internal.h"
 #include "erofs/print.h"
diff --git a/lib/exclude.c b/lib/exclude.c
index 5f6107b24a60..6beb46bc2def 100644
--- a/lib/exclude.c
+++ b/lib/exclude.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * Created by Li Guifu <bluce.lee@aliyun.com>
  */
diff --git a/lib/fragments.c b/lib/fragments.c
index 0f07e33b3679..13afce3be537 100644
--- a/lib/fragments.c
+++ b/lib/fragments.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * Copyright (C), 2022, Coolpad Group Limited.
  * Created by Yue Hu <huyue2@coolpad.com>
diff --git a/lib/global.c b/lib/global.c
index c3d8aec875e9..938aa0a79422 100644
--- a/lib/global.c
+++ b/lib/global.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * Copyright (C) 2025 Alibaba Cloud
  */
diff --git a/lib/gzran.c b/lib/gzran.c
index b861c581e408..3973c1f37a75 100644
--- a/lib/gzran.c
+++ b/lib/gzran.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * Copyright (C) 2025 Alibaba Cloud
  */
diff --git a/lib/importer.c b/lib/importer.c
index 26c86a0b0098..c404b0f7fadb 100644
--- a/lib/importer.c
+++ b/lib/importer.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * Copyright (C) 2025 Alibaba Cloud
  */
diff --git a/lib/inode.c b/lib/inode.c
index 2cfc6c58bda8..c932981a47b7 100644
--- a/lib/inode.c
+++ b/lib/inode.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * Copyright (C) 2018-2019 HUAWEI, Inc.
  *             http://www.huawei.com/
diff --git a/lib/io.c b/lib/io.c
index 0c5eb2c29989..3ba45ccf8cbd 100644
--- a/lib/io.c
+++ b/lib/io.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * Copyright (C) 2018 HUAWEI, Inc.
  *             http://www.huawei.com/
diff --git a/lib/kite_deflate.c b/lib/kite_deflate.c
index 29e44b3b4a92..c1d3c6db7f48 100644
--- a/lib/kite_deflate.c
+++ b/lib/kite_deflate.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * erofs-utils/lib/kite_deflate.c
  *
diff --git a/lib/liberofs_cache.h b/lib/liberofs_cache.h
index baac609fb49f..ddaca5497390 100644
--- a/lib/liberofs_cache.h
+++ b/lib/liberofs_cache.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 /*
  * Copyright (C) 2018 HUAWEI, Inc.
  *             http://www.huawei.com
diff --git a/lib/liberofs_compress.h b/lib/liberofs_compress.h
index 4b9dd42f1318..da6eb1a00d9d 100644
--- a/lib/liberofs_compress.h
+++ b/lib/liberofs_compress.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 /*
  * Copyright (C) 2019 HUAWEI, Inc.
  *             http://www.huawei.com/
diff --git a/lib/liberofs_dockerconfig.h b/lib/liberofs_dockerconfig.h
index 1580e1c329e5..6752926a8f58 100644
--- a/lib/liberofs_dockerconfig.h
+++ b/lib/liberofs_dockerconfig.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 /*
  * Copyright (C) 2026 Tencent, Inc.
  *             http://www.tencent.com/
diff --git a/lib/liberofs_fanotify.h b/lib/liberofs_fanotify.h
index 965090ff2f22..6ecc0e26bcbc 100644
--- a/lib/liberofs_fanotify.h
+++ b/lib/liberofs_fanotify.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 #ifndef __EROFS_LIB_LIBEROFS_FANOTIFY_H
 #define __EROFS_LIB_LIBEROFS_FANOTIFY_H
 
diff --git a/lib/liberofs_fragments.h b/lib/liberofs_fragments.h
index 11833ebc938d..cf549367bc5d 100644
--- a/lib/liberofs_fragments.h
+++ b/lib/liberofs_fragments.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 /*
  * Copyright (C) 2022, Coolpad Group Limited.
  * Copyright (C) 2025 Alibaba Cloud
diff --git a/lib/liberofs_gzran.h b/lib/liberofs_gzran.h
index 443fe1558ac5..fa86cc3a7839 100644
--- a/lib/liberofs_gzran.h
+++ b/lib/liberofs_gzran.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 /*
  * Copyright (C) 2025 Alibaba Cloud
  */
diff --git a/lib/liberofs_metabox.h b/lib/liberofs_metabox.h
index bf4051cf18e2..f966c205d9a2 100644
--- a/lib/liberofs_metabox.h
+++ b/lib/liberofs_metabox.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 #ifndef __EROFS_LIB_LIBEROFS_METABOX_H
 #define __EROFS_LIB_LIBEROFS_METABOX_H
 
diff --git a/lib/liberofs_nbd.h b/lib/liberofs_nbd.h
index 78c8af511bec..ec7adbf728d2 100644
--- a/lib/liberofs_nbd.h
+++ b/lib/liberofs_nbd.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 /*
  * Copyright (C) 2025 Alibaba Cloud
  */
diff --git a/lib/liberofs_oci.h b/lib/liberofs_oci.h
index 3b3d66dd449d..8eec3f720cd1 100644
--- a/lib/liberofs_oci.h
+++ b/lib/liberofs_oci.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 /*
  * Copyright (C) 2025 Tencent, Inc.
  *             http://www.tencent.com/
diff --git a/lib/liberofs_private.h b/lib/liberofs_private.h
index ebd9e7034860..64bcae83d84c 100644
--- a/lib/liberofs_private.h
+++ b/lib/liberofs_private.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0-only OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 
 #ifdef HAVE_LIBSELINUX
 #include <selinux/selinux.h>
diff --git a/lib/liberofs_rebuild.h b/lib/liberofs_rebuild.h
index 69802fb9542c..6459dbd42a64 100644
--- a/lib/liberofs_rebuild.h
+++ b/lib/liberofs_rebuild.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 #ifndef __EROFS_LIB_LIBEROFS_REBUILD_H
 #define __EROFS_LIB_LIBEROFS_REBUILD_H
 
diff --git a/lib/liberofs_s3.h b/lib/liberofs_s3.h
index f4886cd4ecf8..c81834785c5f 100644
--- a/lib/liberofs_s3.h
+++ b/lib/liberofs_s3.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 /*
  * Copyright (C) 2025 HUAWEI, Inc.
  *             http://www.huawei.com/
diff --git a/lib/liberofs_uuid.h b/lib/liberofs_uuid.h
index 63b358a854d4..e8bb1be94fde 100644
--- a/lib/liberofs_uuid.h
+++ b/lib/liberofs_uuid.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 #ifndef __EROFS_LIB_UUID_H
 #define __EROFS_LIB_UUID_H
 
diff --git a/lib/metabox.c b/lib/metabox.c
index 12706aafdb36..d5ce9e3243b8 100644
--- a/lib/metabox.c
+++ b/lib/metabox.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 #include <stdlib.h>
 #include "erofs/inode.h"
 #include "erofs/importer.h"
diff --git a/lib/namei.c b/lib/namei.c
index 896e348bc3ee..f19e4b13d69a 100644
--- a/lib/namei.c
+++ b/lib/namei.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * Created by Li Guifu <blucerlee@gmail.com>
  */
diff --git a/lib/rebuild.c b/lib/rebuild.c
index f89a17c44193..7ab2b499923c 100644
--- a/lib/rebuild.c
+++ b/lib/rebuild.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 #define _GNU_SOURCE
 #include <unistd.h>
 #include <stdlib.h>
diff --git a/lib/remotes/docker_config.c b/lib/remotes/docker_config.c
index 00db1bb6dc1d..8e236fca1e33 100644
--- a/lib/remotes/docker_config.c
+++ b/lib/remotes/docker_config.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * Copyright (C) 2026 Tencent, Inc.
  *             http://www.tencent.com/
diff --git a/lib/remotes/oci.c b/lib/remotes/oci.c
index f96be13387a7..80a1e38b1531 100644
--- a/lib/remotes/oci.c
+++ b/lib/remotes/oci.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * Copyright (C) 2025 Tencent, Inc.
  *             http://www.tencent.com/
diff --git a/lib/remotes/s3.c b/lib/remotes/s3.c
index 768232ad0b66..1385e16018cd 100644
--- a/lib/remotes/s3.c
+++ b/lib/remotes/s3.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * Copyright (C) 2025 HUAWEI, Inc.
  *             http://www.huawei.com/
diff --git a/lib/rolling_hash.h b/lib/rolling_hash.h
index 448db34edc1b..cfabfca87109 100644
--- a/lib/rolling_hash.h
+++ b/lib/rolling_hash.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 /*
  * Copyright (C) 2022 Alibaba Cloud
  */
diff --git a/lib/sha256.h b/lib/sha256.h
index 851b80c722d3..6bcf03c26805 100644
--- a/lib/sha256.h
+++ b/lib/sha256.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
+/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
 #ifndef __EROFS_LIB_SHA256_H
 #define __EROFS_LIB_SHA256_H
 
diff --git a/lib/super.c b/lib/super.c
index 088c9a01fc2f..6ad27c054333 100644
--- a/lib/super.c
+++ b/lib/super.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * Created by Li Guifu <blucerlee@gmail.com>
  */
diff --git a/lib/tar.c b/lib/tar.c
index 599e41342255..87a6a619dd76 100644
--- a/lib/tar.c
+++ b/lib/tar.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 #include <unistd.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/lib/uuid.c b/lib/uuid.c
index 1fae857f2c8d..3b1bd38e63a9 100644
--- a/lib/uuid.c
+++ b/lib/uuid.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * Copyright (C) 2023 Norbert Lange <nolange79@gmail.com>
  */
diff --git a/lib/uuid_unparse.c b/lib/uuid_unparse.c
index 3255c4bdd7a5..890acda8ce96 100644
--- a/lib/uuid_unparse.c
+++ b/lib/uuid_unparse.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * Copyright (C) 2023 Norbert Lange <nolange79@gmail.com>
  */
diff --git a/lib/vmdk.c b/lib/vmdk.c
index 8080c515bf75..316a8ffc94b2 100644
--- a/lib/vmdk.c
+++ b/lib/vmdk.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 #include "erofs/internal.h"
 
 static int erofs_vmdk_desc_add_extent(FILE *f, u64 sectors,
diff --git a/lib/workqueue.c b/lib/workqueue.c
index 1f3fa7ca34ed..8c78d7920fe9 100644
--- a/lib/workqueue.c
+++ b/lib/workqueue.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 #include <pthread.h>
 #include <stdlib.h>
 #include "erofs/print.h"
diff --git a/lib/xattr.c b/lib/xattr.c
index 565070a698dc..b11cd3b681ae 100644
--- a/lib/xattr.c
+++ b/lib/xattr.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * Copyright (C) 2019 Li Guifu <blucerlee@gmail.com>
  *                    Gao Xiang <xiang@kernel.org>
diff --git a/lib/zmap.c b/lib/zmap.c
index 4a6507726ba8..5b44b60ed586 100644
--- a/lib/zmap.c
+++ b/lib/zmap.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
  * (a large amount of code was adapted from Linux kernel. )
  *
-- 
2.43.5



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/2] erofs-utils: switch other source files into MIT license
  2026-04-02  6:09 [PATCH 1/2] erofs-utils: lib: switch to GPL-2.0+ OR MIT dual license Gao Xiang
@ 2026-04-02  6:09 ` Gao Xiang
  2026-04-02  6:18   ` hudsonZhu
                     ` (3 more replies)
  2026-04-02  6:18 ` [PATCH 1/2] erofs-utils: lib: switch to GPL-2.0+ OR MIT dual license hudsonZhu
                   ` (3 subsequent siblings)
  4 siblings, 4 replies; 10+ messages in thread
From: Gao Xiang @ 2026-04-02  6:09 UTC (permalink / raw)
  To: linux-erofs; +Cc: Gao Xiang

Let's switch other source files to MIT license since we're absolutely
NOT working on secret rocket science, so licenses should not be
a bottleneck to innovation in the Cloud Native and AI era.

Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
---
 COPYING                    | 14 +++++++-------
 Makefile.am                |  2 +-
 autogen.sh                 |  2 +-
 contrib/Makefile.am        |  2 +-
 contrib/stress.c           |  2 +-
 dump/Makefile.am           |  2 +-
 dump/main.c                |  2 +-
 fsck/Makefile.am           |  2 +-
 fsck/main.c                |  2 +-
 fuse/Makefile.am           |  2 +-
 fuse/macosx.h              |  2 +-
 fuse/main.c                |  2 +-
 man/Makefile.am            |  2 +-
 mkfs/Makefile.am           |  2 +-
 mkfs/main.c                |  2 +-
 mount/Makefile.am          |  2 +-
 mount/main.c               |  2 +-
 scripts/get-version-number |  2 +-
 18 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/COPYING b/COPYING
index e781cc21ff15..81aee791f173 100644
--- a/COPYING
+++ b/COPYING
@@ -3,13 +3,13 @@ erofs-utils uses two different license patterns:
  - most liberofs files in `lib` and `include` directories
    use GPL-2.0+ OR MIT dual license;
 
- - all other files use GPL-2.0+ license, unless
-   explicitly stated otherwise.
+ - all other files use MIT license, unless explicitly stated
+   otherwise.
 
 Relevant licenses can be found in the LICENSES directory.
 
-This model is selected to emphasize that
-files in `lib` and `include` directories are designed to be included in
-3rd-party applications, while all other files are intended to be used
-"as is", as part of their intended scenarios, with no intention to
-support 3rd-party integration use cases.
+This model is selected to emphasize that erofs-utils can be integrated
+into various ecosystems as much as possible.
+
+However, liberofs should be GPL-2.0+ OR MIT dual license since some
+parts can be shared with the Linux kernel.
diff --git a/Makefile.am b/Makefile.am
index 7cb93a697627..e79222e965a9 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,4 +1,4 @@
-# SPDX-License-Identifier: GPL-2.0+
+# SPDX-License-Identifier: MIT
 
 ACLOCAL_AMFLAGS = -I m4
 
diff --git a/autogen.sh b/autogen.sh
index fd81db4d6fb3..89c510c35cab 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -1,5 +1,5 @@
 #!/bin/sh
-# SPDX-License-Identifier: GPL-2.0+
+# SPDX-License-Identifier: MIT
 
 aclocal && \
 autoheader && \
diff --git a/contrib/Makefile.am b/contrib/Makefile.am
index 4eb7abed8856..5bedb9441b2e 100644
--- a/contrib/Makefile.am
+++ b/contrib/Makefile.am
@@ -1,4 +1,4 @@
-# SPDX-License-Identifier: GPL-2.0+
+# SPDX-License-Identifier: MIT
 # Makefile.am
 
 AUTOMAKE_OPTIONS	= foreign
diff --git a/contrib/stress.c b/contrib/stress.c
index 0ef8c67c126b..65773bce9e27 100644
--- a/contrib/stress.c
+++ b/contrib/stress.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+
+// SPDX-License-Identifier: MIT
 /*
  * stress test for EROFS filesystem
  *
diff --git a/dump/Makefile.am b/dump/Makefile.am
index c2e0c745a640..2611fd28c762 100644
--- a/dump/Makefile.am
+++ b/dump/Makefile.am
@@ -1,4 +1,4 @@
-# SPDX-License-Identifier: GPL-2.0+
+# SPDX-License-Identifier: MIT
 # Makefile.am
 
 AUTOMAKE_OPTIONS = foreign
diff --git a/dump/main.c b/dump/main.c
index 78c50d511587..6c7258a5db40 100644
--- a/dump/main.c
+++ b/dump/main.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+
+// SPDX-License-Identifier: MIT
 /*
  * Copyright (C) 2021-2022 HUAWEI, Inc.
  *             http://www.huawei.com/
diff --git a/fsck/Makefile.am b/fsck/Makefile.am
index 488b401c8995..8eebadd7d1e5 100644
--- a/fsck/Makefile.am
+++ b/fsck/Makefile.am
@@ -1,4 +1,4 @@
-# SPDX-License-Identifier: GPL-2.0+
+# SPDX-License-Identifier: MIT
 # Makefile.am
 
 AUTOMAKE_OPTIONS = foreign
diff --git a/fsck/main.c b/fsck/main.c
index 16a354f460a8..21ada195edab 100644
--- a/fsck/main.c
+++ b/fsck/main.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+
+// SPDX-License-Identifier: MIT
 /*
  * Copyright 2021 Google LLC
  * Author: Daeho Jeong <daehojeong@google.com>
diff --git a/fuse/Makefile.am b/fuse/Makefile.am
index 1e8f518bad1d..9fe560849336 100644
--- a/fuse/Makefile.am
+++ b/fuse/Makefile.am
@@ -1,4 +1,4 @@
-# SPDX-License-Identifier: GPL-2.0+
+# SPDX-License-Identifier: MIT
 
 AUTOMAKE_OPTIONS = foreign
 noinst_HEADERS = $(top_srcdir)/fuse/macosx.h
diff --git a/fuse/macosx.h b/fuse/macosx.h
index 81ac47f551d6..4bb4bb75d5a2 100644
--- a/fuse/macosx.h
+++ b/fuse/macosx.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ */
+/* SPDX-License-Identifier: MIT */
 #ifdef __APPLE__
 #undef LIST_HEAD
 #endif
diff --git a/fuse/main.c b/fuse/main.c
index b6347828eacf..40f8684abe43 100644
--- a/fuse/main.c
+++ b/fuse/main.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+
+// SPDX-License-Identifier: MIT
 /*
  * Created by Li Guifu <blucerlee@gmail.com>
  * Lowlevel added by Li Yiyan <lyy0627@sjtu.edu.cn>
diff --git a/man/Makefile.am b/man/Makefile.am
index b9b598954725..88bf3a16d995 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -1,4 +1,4 @@
-# SPDX-License-Identifier: GPL-2.0+
+# SPDX-License-Identifier: MIT
 
 dist_man_MANS = mkfs.erofs.1 dump.erofs.1 fsck.erofs.1
 
diff --git a/mkfs/Makefile.am b/mkfs/Makefile.am
index aaefc11dadc3..386455aced67 100644
--- a/mkfs/Makefile.am
+++ b/mkfs/Makefile.am
@@ -1,4 +1,4 @@
-# SPDX-License-Identifier: GPL-2.0+
+# SPDX-License-Identifier: MIT
 
 AUTOMAKE_OPTIONS = foreign
 bin_PROGRAMS     = mkfs.erofs
diff --git a/mkfs/main.c b/mkfs/main.c
index eb13abaec92b..5006f76fa73b 100644
--- a/mkfs/main.c
+++ b/mkfs/main.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+
+// SPDX-License-Identifier: MIT
 /*
  * Copyright (C) 2018-2019 HUAWEI, Inc.
  *             http://www.huawei.com/
diff --git a/mount/Makefile.am b/mount/Makefile.am
index 7f6efd8b7cf5..637029d4475a 100644
--- a/mount/Makefile.am
+++ b/mount/Makefile.am
@@ -1,4 +1,4 @@
-# SPDX-License-Identifier: GPL-2.0+
+# SPDX-License-Identifier: MIT
 # Makefile.am
 
 AUTOMAKE_OPTIONS = foreign
diff --git a/mount/main.c b/mount/main.c
index b6a2deca4d85..e09e58533ecc 100644
--- a/mount/main.c
+++ b/mount/main.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+
+// SPDX-License-Identifier: MIT
 #define _GNU_SOURCE
 #include <dirent.h>
 #include <fcntl.h>
diff --git a/scripts/get-version-number b/scripts/get-version-number
index d216b7a424e0..484baebf53c6 100755
--- a/scripts/get-version-number
+++ b/scripts/get-version-number
@@ -1,5 +1,5 @@
 #!/bin/sh
-# SPDX-License-Identifier: GPL-2.0
+# SPDX-License-Identifier: MIT
 
 scm_version()
 {
-- 
2.43.5



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2] erofs-utils: lib: switch to GPL-2.0+ OR MIT dual license
  2026-04-02  6:09 [PATCH 1/2] erofs-utils: lib: switch to GPL-2.0+ OR MIT dual license Gao Xiang
  2026-04-02  6:09 ` [PATCH 2/2] erofs-utils: switch other source files into MIT license Gao Xiang
@ 2026-04-02  6:18 ` hudsonZhu
  2026-04-02  6:19 ` zhaoyifan (H)
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 10+ messages in thread
From: hudsonZhu @ 2026-04-02  6:18 UTC (permalink / raw)
  To: Gao Xiang; +Cc: linux-erofs

Reviewed-by:  Chengyu Zhu <hudsonzhu@tencent.com>

> 2026年4月2日 14:09,Gao Xiang <hsiangkao@linux.alibaba.com> 写道:
> 
> Apache 2.0 is still too strict for some 3rd-party integration.
> 
> Let's switch to GPL-2.0+ OR MIT dual license since we're absolutely
> not working on secret rocket science, so licenses should not be a
> bottleneck to innovation in the Cloud Native and AI era.
> 
> Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
> ---
> COPYING                        |   6 +-
> LICENSES/Apache-2.0            | 186 ---------------------------------
> include/erofs/atomic.h         |   2 +-
> include/erofs/bitops.h         |   2 +-
> include/erofs/blobchunk.h      |   2 +-
> include/erofs/block_list.h     |   2 +-
> include/erofs/compress_hints.h |   2 +-
> include/erofs/config.h         |   2 +-
> include/erofs/decompress.h     |   2 +-
> include/erofs/dedupe.h         |   2 +-
> include/erofs/defs.h           |   2 +-
> include/erofs/dir.h            |   2 +-
> include/erofs/diskbuf.h        |   2 +-
> include/erofs/err.h            |   2 +-
> include/erofs/exclude.h        |   2 +-
> include/erofs/importer.h       |   2 +-
> include/erofs/inode.h          |   2 +-
> include/erofs/internal.h       |   2 +-
> include/erofs/io.h             |   2 +-
> include/erofs/list.h           |   2 +-
> include/erofs/lock.h           |   2 +-
> include/erofs/print.h          |   2 +-
> include/erofs/tar.h            |   2 +-
> include/erofs/trace.h          |   2 +-
> include/erofs/workqueue.h      |   2 +-
> include/erofs/xattr.h          |   2 +-
> lib/Makefile.am                |   2 +-
> lib/backends/fanotify.c        |   2 +-
> lib/backends/nbd.c             |   2 +-
> lib/base64.c                   |   2 +-
> lib/bitops.c                   |   2 +-
> lib/blobchunk.c                |   2 +-
> lib/block_list.c               |   2 +-
> lib/cache.c                    |   2 +-
> lib/compress.c                 |   2 +-
> lib/compress_hints.c           |   2 +-
> lib/compressor.c               |   2 +-
> lib/compressor.h               |   2 +-
> lib/compressor_deflate.c       |   2 +-
> lib/compressor_libdeflate.c    |   2 +-
> lib/compressor_liblzma.c       |   2 +-
> lib/compressor_libzstd.c       |   2 +-
> lib/compressor_lz4.c           |   2 +-
> lib/compressor_lz4hc.c         |   2 +-
> lib/config.c                   |   2 +-
> lib/data.c                     |   2 +-
> lib/decompress.c               |   2 +-
> lib/dedupe.c                   |   2 +-
> lib/dedupe_ext.c               |   2 +-
> lib/dir.c                      |   2 +-
> lib/diskbuf.c                  |   2 +-
> lib/exclude.c                  |   2 +-
> lib/fragments.c                |   2 +-
> lib/global.c                   |   2 +-
> lib/gzran.c                    |   2 +-
> lib/importer.c                 |   2 +-
> lib/inode.c                    |   2 +-
> lib/io.c                       |   2 +-
> lib/kite_deflate.c             |   2 +-
> lib/liberofs_cache.h           |   2 +-
> lib/liberofs_compress.h        |   2 +-
> lib/liberofs_dockerconfig.h    |   2 +-
> lib/liberofs_fanotify.h        |   2 +-
> lib/liberofs_fragments.h       |   2 +-
> lib/liberofs_gzran.h           |   2 +-
> lib/liberofs_metabox.h         |   2 +-
> lib/liberofs_nbd.h             |   2 +-
> lib/liberofs_oci.h             |   2 +-
> lib/liberofs_private.h         |   2 +-
> lib/liberofs_rebuild.h         |   2 +-
> lib/liberofs_s3.h              |   2 +-
> lib/liberofs_uuid.h            |   2 +-
> lib/metabox.c                  |   2 +-
> lib/namei.c                    |   2 +-
> lib/rebuild.c                  |   2 +-
> lib/remotes/docker_config.c    |   2 +-
> lib/remotes/oci.c              |   2 +-
> lib/remotes/s3.c               |   2 +-
> lib/rolling_hash.h             |   2 +-
> lib/sha256.h                   |   2 +-
> lib/super.c                    |   2 +-
> lib/tar.c                      |   2 +-
> lib/uuid.c                     |   2 +-
> lib/uuid_unparse.c             |   2 +-
> lib/vmdk.c                     |   2 +-
> lib/workqueue.c                |   2 +-
> lib/xattr.c                    |   2 +-
> lib/zmap.c                     |   2 +-
> 88 files changed, 89 insertions(+), 275 deletions(-)
> delete mode 100644 LICENSES/Apache-2.0
> 
> diff --git a/COPYING b/COPYING
> index 8767cae10b22..e781cc21ff15 100644
> --- a/COPYING
> +++ b/COPYING
> @@ -1,7 +1,7 @@
> erofs-utils uses two different license patterns:
> 
>  - most liberofs files in `lib` and `include` directories
> -   use GPL-2.0+ OR Apache-2.0 dual license;
> +   use GPL-2.0+ OR MIT dual license;
> 
>  - all other files use GPL-2.0+ license, unless
>    explicitly stated otherwise.
> @@ -9,7 +9,7 @@ erofs-utils uses two different license patterns:
> Relevant licenses can be found in the LICENSES directory.
> 
> This model is selected to emphasize that
> -files in `lib` and `include` directory are designed to be included into
> -3rd-party applications, while all other files, are intended to be used
> +files in `lib` and `include` directories are designed to be included in
> +3rd-party applications, while all other files are intended to be used
> "as is", as part of their intended scenarios, with no intention to
> support 3rd-party integration use cases.
> diff --git a/LICENSES/Apache-2.0 b/LICENSES/Apache-2.0
> deleted file mode 100644
> index f6c1877fae13..000000000000
> --- a/LICENSES/Apache-2.0
> +++ /dev/null
> @@ -1,186 +0,0 @@
> -Valid-License-Identifier: Apache-2.0
> -SPDX-URL: https://spdx.org/licenses/Apache-2.0.html
> -Usage-Guide:
> -  The Apache-2.0 may only be used for dual-licensed files where the other
> -  license is GPL2 compatible. If you end up using this it MUST be used
> -  together with a GPL2 compatible license using "OR".
> -  To use the Apache License version 2.0 put the following SPDX tag/value
> -  pair into a comment according to the placement guidelines in the
> -  licensing rules documentation:
> -    SPDX-License-Identifier: Apache-2.0
> -License-Text:
> -
> -Apache License
> -
> -Version 2.0, January 2004
> -
> -http://www.apache.org/licenses/
> -
> -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
> -
> -1. Definitions.
> -
> -"License" shall mean the terms and conditions for use, reproduction, and
> -distribution as defined by Sections 1 through 9 of this document.
> -
> -"Licensor" shall mean the copyright owner or entity authorized by the
> -copyright owner that is granting the License.
> -
> -"Legal Entity" shall mean the union of the acting entity and all other
> -entities that control, are controlled by, or are under common control with
> -that entity. For the purposes of this definition, "control" means (i) the
> -power, direct or indirect, to cause the direction or management of such
> -entity, whether by contract or otherwise, or (ii) ownership of fifty
> -percent (50%) or more of the outstanding shares, or (iii) beneficial
> -ownership of such entity.
> -
> -"You" (or "Your") shall mean an individual or Legal Entity exercising
> -permissions granted by this License.
> -
> -"Source" form shall mean the preferred form for making modifications,
> -including but not limited to software source code, documentation source,
> -and configuration files.
> -
> -"Object" form shall mean any form resulting from mechanical transformation
> -or translation of a Source form, including but not limited to compiled
> -object code, generated documentation, and conversions to other media types.
> -
> -"Work" shall mean the work of authorship, whether in Source or Object form,
> -made available under the License, as indicated by a copyright notice that
> -is included in or attached to the work (an example is provided in the
> -Appendix below).
> -
> -"Derivative Works" shall mean any work, whether in Source or Object form,
> -that is based on (or derived from) the Work and for which the editorial
> -revisions, annotations, elaborations, or other modifications represent, as
> -a whole, an original work of authorship. For the purposes of this License,
> -Derivative Works shall not include works that remain separable from, or
> -merely link (or bind by name) to the interfaces of, the Work and Derivative
> -Works thereof.
> -
> -"Contribution" shall mean any work of authorship, including the original
> -version of the Work and any modifications or additions to that Work or
> -Derivative Works thereof, that is intentionally submitted to Licensor for
> -inclusion in the Work by the copyright owner or by an individual or Legal
> -Entity authorized to submit on behalf of the copyright owner. For the
> -purposes of this definition, "submitted" means any form of electronic,
> -verbal, or written communication sent to the Licensor or its
> -representatives, including but not limited to communication on electronic
> -mailing lists, source code control systems, and issue tracking systems that
> -are managed by, or on behalf of, the Licensor for the purpose of discussing
> -and improving the Work, but excluding communication that is conspicuously
> -marked or otherwise designated in writing by the copyright owner as "Not a
> -Contribution."
> -
> -"Contributor" shall mean Licensor and any individual or Legal Entity on
> -behalf of whom a Contribution has been received by Licensor and
> -subsequently incorporated within the Work.
> -
> -2. Grant of Copyright License. Subject to the terms and conditions of this
> -   License, each Contributor hereby grants to You a perpetual, worldwide,
> -   non-exclusive, no-charge, royalty-free, irrevocable copyright license to
> -   reproduce, prepare Derivative Works of, publicly display, publicly
> -   perform, sublicense, and distribute the Work and such Derivative Works
> -   in Source or Object form.
> -
> -3. Grant of Patent License. Subject to the terms and conditions of this
> -   License, each Contributor hereby grants to You a perpetual, worldwide,
> -   non-exclusive, no-charge, royalty-free, irrevocable (except as stated in
> -   this section) patent license to make, have made, use, offer to sell,
> -   sell, import, and otherwise transfer the Work, where such license
> -   applies only to those patent claims licensable by such Contributor that
> -   are necessarily infringed by their Contribution(s) alone or by
> -   combination of their Contribution(s) with the Work to which such
> -   Contribution(s) was submitted. If You institute patent litigation
> -   against any entity (including a cross-claim or counterclaim in a
> -   lawsuit) alleging that the Work or a Contribution incorporated within
> -   the Work constitutes direct or contributory patent infringement, then
> -   any patent licenses granted to You under this License for that Work
> -   shall terminate as of the date such litigation is filed.
> -
> -4. Redistribution. You may reproduce and distribute copies of the Work or
> -   Derivative Works thereof in any medium, with or without modifications,
> -   and in Source or Object form, provided that You meet the following
> -   conditions:
> -
> -   a. You must give any other recipients of the Work or Derivative Works a
> -      copy of this License; and
> -
> -   b. You must cause any modified files to carry prominent notices stating
> -      that You changed the files; and
> -
> -   c. You must retain, in the Source form of any Derivative Works that You
> -      distribute, all copyright, patent, trademark, and attribution notices
> -      from the Source form of the Work, excluding those notices that do not
> -      pertain to any part of the Derivative Works; and
> -
> -   d. If the Work includes a "NOTICE" text file as part of its
> -      distribution, then any Derivative Works that You distribute must
> -      include a readable copy of the attribution notices contained within
> -      such NOTICE file, excluding those notices that do not pertain to any
> -      part of the Derivative Works, in at least one of the following
> -      places: within a NOTICE text file distributed as part of the
> -      Derivative Works; within the Source form or documentation, if
> -      provided along with the Derivative Works; or, within a display
> -      generated by the Derivative Works, if and wherever such third-party
> -      notices normally appear. The contents of the NOTICE file are for
> -      informational purposes only and do not modify the License. You may
> -      add Your own attribution notices within Derivative Works that You
> -      distribute, alongside or as an addendum to the NOTICE text from the
> -      Work, provided that such additional attribution notices cannot be
> -      construed as modifying the License.
> -
> -    You may add Your own copyright statement to Your modifications and may
> -    provide additional or different license terms and conditions for use,
> -    reproduction, or distribution of Your modifications, or for any such
> -    Derivative Works as a whole, provided Your use, reproduction, and
> -    distribution of the Work otherwise complies with the conditions stated
> -    in this License.
> -
> -5. Submission of Contributions. Unless You explicitly state otherwise, any
> -   Contribution intentionally submitted for inclusion in the Work by You to
> -   the Licensor shall be under the terms and conditions of this License,
> -   without any additional terms or conditions. Notwithstanding the above,
> -   nothing herein shall supersede or modify the terms of any separate
> -   license agreement you may have executed with Licensor regarding such
> -   Contributions.
> -
> -6. Trademarks. This License does not grant permission to use the trade
> -   names, trademarks, service marks, or product names of the Licensor,
> -   except as required for reasonable and customary use in describing the
> -   origin of the Work and reproducing the content of the NOTICE file.
> -
> -7. Disclaimer of Warranty. Unless required by applicable law or agreed to
> -   in writing, Licensor provides the Work (and each Contributor provides
> -   its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
> -   OF ANY KIND, either express or implied, including, without limitation,
> -   any warranties or conditions of TITLE, NON-INFRINGEMENT,
> -   MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely
> -   responsible for determining the appropriateness of using or
> -   redistributing the Work and assume any risks associated with Your
> -   exercise of permissions under this License.
> -
> -8. Limitation of Liability. In no event and under no legal theory, whether
> -   in tort (including negligence), contract, or otherwise, unless required
> -   by applicable law (such as deliberate and grossly negligent acts) or
> -   agreed to in writing, shall any Contributor be liable to You for
> -   damages, including any direct, indirect, special, incidental, or
> -   consequential damages of any character arising as a result of this
> -   License or out of the use or inability to use the Work (including but
> -   not limited to damages for loss of goodwill, work stoppage, computer
> -   failure or malfunction, or any and all other commercial damages or
> -   losses), even if such Contributor has been advised of the possibility of
> -   such damages.
> -
> -9. Accepting Warranty or Additional Liability. While redistributing the
> -   Work or Derivative Works thereof, You may choose to offer, and charge a
> -   fee for, acceptance of support, warranty, indemnity, or other liability
> -   obligations and/or rights consistent with this License. However, in
> -   accepting such obligations, You may act only on Your own behalf and on
> -   Your sole responsibility, not on behalf of any other Contributor, and
> -   only if You agree to indemnify, defend, and hold each Contributor
> -   harmless for any liability incurred by, or claims asserted against, such
> -   Contributor by reason of your accepting any such warranty or additional
> -   liability.
> -
> -END OF TERMS AND CONDITIONS
> diff --git a/include/erofs/atomic.h b/include/erofs/atomic.h
> index 142590bd6c79..3aa19f6ae369 100644
> --- a/include/erofs/atomic.h
> +++ b/include/erofs/atomic.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> /*
>  * Copyright (C) 2024 Alibaba Cloud
>  */
> diff --git a/include/erofs/bitops.h b/include/erofs/bitops.h
> index 058642f5b190..f407cc95292e 100644
> --- a/include/erofs/bitops.h
> +++ b/include/erofs/bitops.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> #ifndef __EROFS_BITOPS_H
> #define __EROFS_BITOPS_H
> 
> diff --git a/include/erofs/blobchunk.h b/include/erofs/blobchunk.h
> index 48fca63c6c15..1761fdd82432 100644
> --- a/include/erofs/blobchunk.h
> +++ b/include/erofs/blobchunk.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> /*
>  * erofs-utils/lib/blobchunk.h
>  *
> diff --git a/include/erofs/block_list.h b/include/erofs/block_list.h
> index 9d06c9c47d2e..156a5a433ded 100644
> --- a/include/erofs/block_list.h
> +++ b/include/erofs/block_list.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> /*
>  * Copyright (C), 2021, Coolpad Group Limited.
>  * Created by Yue Hu <huyue2@yulong.com>
> diff --git a/include/erofs/compress_hints.h b/include/erofs/compress_hints.h
> index 6ccc03d213ea..3ab7bb4b67f1 100644
> --- a/include/erofs/compress_hints.h
> +++ b/include/erofs/compress_hints.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> /*
>  * Copyright (C), 2008-2021, OPPO Mobile Comm Corp., Ltd.
>  * Created by Huang Jianan <huangjianan@oppo.com>
> diff --git a/include/erofs/config.h b/include/erofs/config.h
> index bb303c48a0db..95d7e9f16065 100644
> --- a/include/erofs/config.h
> +++ b/include/erofs/config.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> /*
>  * Copyright (C) 2018-2019 HUAWEI, Inc.
>  *             http://www.huawei.com/
> diff --git a/include/erofs/decompress.h b/include/erofs/decompress.h
> index 0d5548327b02..edc017c2b8e4 100644
> --- a/include/erofs/decompress.h
> +++ b/include/erofs/decompress.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> /*
>  * Copyright (C), 2008-2020, OPPO Mobile Comm Corp., Ltd.
>  * Created by Huang Jianan <huangjianan@oppo.com>
> diff --git a/include/erofs/dedupe.h b/include/erofs/dedupe.h
> index f9caa6113d15..267d9b9f12c8 100644
> --- a/include/erofs/dedupe.h
> +++ b/include/erofs/dedupe.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> /*
>  * Copyright (C) 2022 Alibaba Cloud
>  */
> diff --git a/include/erofs/defs.h b/include/erofs/defs.h
> index 71ca11b54ef8..ff87df9d3d51 100644
> --- a/include/erofs/defs.h
> +++ b/include/erofs/defs.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> /*
>  * Copyright (C) 2018 HUAWEI, Inc.
>  *             http://www.huawei.com/
> diff --git a/include/erofs/dir.h b/include/erofs/dir.h
> index 5460ac48512f..4e0614dfbbce 100644
> --- a/include/erofs/dir.h
> +++ b/include/erofs/dir.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> #ifndef __EROFS_DIR_H
> #define __EROFS_DIR_H
> 
> diff --git a/include/erofs/diskbuf.h b/include/erofs/diskbuf.h
> index 29d9fe2cf52e..122890b2f919 100644
> --- a/include/erofs/diskbuf.h
> +++ b/include/erofs/diskbuf.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> #ifndef __EROFS_DISKBUF_H
> #define __EROFS_DISKBUF_H
> 
> diff --git a/include/erofs/err.h b/include/erofs/err.h
> index 59c8c9cc9ae3..7dacc917a4c1 100644
> --- a/include/erofs/err.h
> +++ b/include/erofs/err.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> /*
>  * Copyright (C) 2018 HUAWEI, Inc.
>  *             http://www.huawei.com/
> diff --git a/include/erofs/exclude.h b/include/erofs/exclude.h
> index 3f17032b48db..0af39a0a5b05 100644
> --- a/include/erofs/exclude.h
> +++ b/include/erofs/exclude.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> /*
>  * Created by Li Guifu <bluce.lee@aliyun.com>
>  */
> diff --git a/include/erofs/importer.h b/include/erofs/importer.h
> index 920488453c34..07e40b47954d 100644
> --- a/include/erofs/importer.h
> +++ b/include/erofs/importer.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> /*
>  * Copyright (C) 2025 Alibaba Cloud
>  */
> diff --git a/include/erofs/inode.h b/include/erofs/inode.h
> index ba62ece9a7cc..bf089e83590b 100644
> --- a/include/erofs/inode.h
> +++ b/include/erofs/inode.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> /*
>  * Copyright (C) 2018-2019 HUAWEI, Inc.
>  *             http://www.huawei.com/
> diff --git a/include/erofs/internal.h b/include/erofs/internal.h
> index 671880f2db3c..c780228c7bfe 100644
> --- a/include/erofs/internal.h
> +++ b/include/erofs/internal.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> /*
>  * Copyright (C) 2019 HUAWEI, Inc.
>  *             http://www.huawei.com/
> diff --git a/include/erofs/io.h b/include/erofs/io.h
> index 9533efc2d20a..96309fde9646 100644
> --- a/include/erofs/io.h
> +++ b/include/erofs/io.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> /*
>  * Copyright (C) 2018-2019 HUAWEI, Inc.
>  *             http://www.huawei.com/
> diff --git a/include/erofs/list.h b/include/erofs/list.h
> index a7e30ccc4258..e9208887ee80 100644
> --- a/include/erofs/list.h
> +++ b/include/erofs/list.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> /*
>  * Copyright (C) 2018 HUAWEI, Inc.
>  *             http://www.huawei.com/
> diff --git a/include/erofs/lock.h b/include/erofs/lock.h
> index c6e30937aac4..884f23ea739e 100644
> --- a/include/erofs/lock.h
> +++ b/include/erofs/lock.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> #ifndef __EROFS_LOCK_H
> #define __EROFS_LOCK_H
> 
> diff --git a/include/erofs/print.h b/include/erofs/print.h
> index a896d75117de..fa979a3a2d46 100644
> --- a/include/erofs/print.h
> +++ b/include/erofs/print.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> /*
>  * Copyright (C) 2018-2019 HUAWEI, Inc.
>  *             http://www.huawei.com/
> diff --git a/include/erofs/tar.h b/include/erofs/tar.h
> index cdaef315442d..a8166336d220 100644
> --- a/include/erofs/tar.h
> +++ b/include/erofs/tar.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> #ifndef __EROFS_TAR_H
> #define __EROFS_TAR_H
> 
> diff --git a/include/erofs/trace.h b/include/erofs/trace.h
> index 398e3318355d..fe6734073580 100644
> --- a/include/erofs/trace.h
> +++ b/include/erofs/trace.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> /*
>  * Copyright (C) 2020 Gao Xiang <hsiangkao@aol.com>
>  */
> diff --git a/include/erofs/workqueue.h b/include/erofs/workqueue.h
> index 36037c381c4a..064246c2bfe4 100644
> --- a/include/erofs/workqueue.h
> +++ b/include/erofs/workqueue.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> #ifndef __EROFS_WORKQUEUE_H
> #define __EROFS_WORKQUEUE_H
> 
> diff --git a/include/erofs/xattr.h b/include/erofs/xattr.h
> index 96546364f316..235688649592 100644
> --- a/include/erofs/xattr.h
> +++ b/include/erofs/xattr.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> #ifndef __EROFS_XATTR_H
> #define __EROFS_XATTR_H
> 
> diff --git a/lib/Makefile.am b/lib/Makefile.am
> index 5f8812f48c93..27bf71094bad 100644
> --- a/lib/Makefile.am
> +++ b/lib/Makefile.am
> @@ -1,4 +1,4 @@
> -# SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +# SPDX-License-Identifier: GPL-2.0+ OR MIT
> 
> noinst_LTLIBRARIES = liberofs.la
> noinst_HEADERS = $(top_srcdir)/include/erofs_fs.h \
> diff --git a/lib/backends/fanotify.c b/lib/backends/fanotify.c
> index bbe131ac11c2..cf8b61667705 100644
> --- a/lib/backends/fanotify.c
> +++ b/lib/backends/fanotify.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> #define _GNU_SOURCE
> #include <errno.h>
> #include <fcntl.h>
> diff --git a/lib/backends/nbd.c b/lib/backends/nbd.c
> index da2733477f8e..c488053d99d3 100644
> --- a/lib/backends/nbd.c
> +++ b/lib/backends/nbd.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * Copyright (C) 2025 Alibaba Cloud
>  */
> diff --git a/lib/base64.c b/lib/base64.c
> index a45f7b6f2a1a..623d83cb9f2f 100644
> --- a/lib/base64.c
> +++ b/lib/base64.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> #include "liberofs_base64.h"
> #include <string.h>
> 
> diff --git a/lib/bitops.c b/lib/bitops.c
> index bb0c9eeb917a..da012b233ac2 100644
> --- a/lib/bitops.c
> +++ b/lib/bitops.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * erofs-utils/lib/bitops.c
>  *
> diff --git a/lib/blobchunk.c b/lib/blobchunk.c
> index 96c161b27091..e39bf6800059 100644
> --- a/lib/blobchunk.c
> +++ b/lib/blobchunk.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * erofs-utils/lib/blobchunk.c
>  *
> diff --git a/lib/block_list.c b/lib/block_list.c
> index f8dc9138bd92..e6b28424ad36 100644
> --- a/lib/block_list.c
> +++ b/lib/block_list.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * Copyright (C), 2021, Coolpad Group Limited.
>  * Created by Yue Hu <huyue2@yulong.com>
> diff --git a/lib/cache.c b/lib/cache.c
> index 4c7c3863275b..f964e4737767 100644
> --- a/lib/cache.c
> +++ b/lib/cache.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * Copyright (C) 2018-2019 HUAWEI, Inc.
>  *             http://www.huawei.com/
> diff --git a/lib/compress.c b/lib/compress.c
> index 4a0d890ae87d..62d2672cb665 100644
> --- a/lib/compress.c
> +++ b/lib/compress.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * Copyright (C) 2018-2019 HUAWEI, Inc.
>  *             http://www.huawei.com/
> diff --git a/lib/compress_hints.c b/lib/compress_hints.c
> index 322ec97f474a..a4ff0038ebb5 100644
> --- a/lib/compress_hints.c
> +++ b/lib/compress_hints.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * Copyright (C), 2008-2021, OPPO Mobile Comm Corp., Ltd.
>  * Created by Huang Jianan <huangjianan@oppo.com>
> diff --git a/lib/compressor.c b/lib/compressor.c
> index cf55abcf5359..7593b336ffc8 100644
> --- a/lib/compressor.c
> +++ b/lib/compressor.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * Copyright (C) 2018-2019 HUAWEI, Inc.
>  *             http://www.huawei.com/
> diff --git a/lib/compressor.h b/lib/compressor.h
> index 86b45a759874..7b7ef37f8218 100644
> --- a/lib/compressor.h
> +++ b/lib/compressor.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> /*
>  * Copyright (C) 2018-2019 HUAWEI, Inc.
>  *             http://www.huawei.com/
> diff --git a/lib/compressor_deflate.c b/lib/compressor_deflate.c
> index f567d2c731af..9521aec6914d 100644
> --- a/lib/compressor_deflate.c
> +++ b/lib/compressor_deflate.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * Copyright (C) 2023, Alibaba Cloud
>  * Copyright (C) 2023, Gao Xiang <xiang@kernel.org>
> diff --git a/lib/compressor_libdeflate.c b/lib/compressor_libdeflate.c
> index 18f5f7b4048c..da39e354974c 100644
> --- a/lib/compressor_libdeflate.c
> +++ b/lib/compressor_libdeflate.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> #include "erofs/internal.h"
> #include "erofs/print.h"
> #include "erofs/config.h"
> diff --git a/lib/compressor_liblzma.c b/lib/compressor_liblzma.c
> index 49a90a23525a..ac5d02ea00a2 100644
> --- a/lib/compressor_liblzma.c
> +++ b/lib/compressor_liblzma.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * Copyright (C) 2021 Gao Xiang <xiang@kernel.org>
>  */
> diff --git a/lib/compressor_libzstd.c b/lib/compressor_libzstd.c
> index 6330f445ffa6..06f16c272e80 100644
> --- a/lib/compressor_libzstd.c
> +++ b/lib/compressor_libzstd.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> #include "erofs/internal.h"
> #include "erofs/print.h"
> #include "erofs/config.h"
> diff --git a/lib/compressor_lz4.c b/lib/compressor_lz4.c
> index f3d88b09fa4a..5f3530a7e6f0 100644
> --- a/lib/compressor_lz4.c
> +++ b/lib/compressor_lz4.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * Copyright (C) 2018-2019 HUAWEI, Inc.
>  *             http://www.huawei.com/
> diff --git a/lib/compressor_lz4hc.c b/lib/compressor_lz4hc.c
> index 9955c0d717ac..073e33073a3d 100644
> --- a/lib/compressor_lz4hc.c
> +++ b/lib/compressor_lz4hc.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * Copyright (C) 2018-2019 HUAWEI, Inc.
>  *             http://www.huawei.com/
> diff --git a/lib/config.c b/lib/config.c
> index ab7eb01e1914..b7dbced071f7 100644
> --- a/lib/config.c
> +++ b/lib/config.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * Copyright (C) 2018-2019 HUAWEI, Inc.
>  *             http://www.huawei.com/
> diff --git a/lib/data.c b/lib/data.c
> index 6fd1389cc09f..1bb9269cb836 100644
> --- a/lib/data.c
> +++ b/lib/data.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * Copyright (C) 2020 Gao Xiang <hsiangkao@aol.com>
>  * Compression support by Huang Jianan <huangjianan@oppo.com>
> diff --git a/lib/decompress.c b/lib/decompress.c
> index e66693c5883e..d23135e0cd43 100644
> --- a/lib/decompress.c
> +++ b/lib/decompress.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * Copyright (C), 2008-2020, OPPO Mobile Comm Corp., Ltd.
>  * Created by Huang Jianan <huangjianan@oppo.com>
> diff --git a/lib/dedupe.c b/lib/dedupe.c
> index bdd890cc2e82..91ea31cc3ec4 100644
> --- a/lib/dedupe.c
> +++ b/lib/dedupe.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * Copyright (C) 2022 Alibaba Cloud
>  */
> diff --git a/lib/dedupe_ext.c b/lib/dedupe_ext.c
> index d7a9b737e428..ae00bbe5e03d 100644
> --- a/lib/dedupe_ext.c
> +++ b/lib/dedupe_ext.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> #include "erofs/dedupe.h"
> #include "liberofs_xxhash.h"
> #include <stdlib.h>
> diff --git a/lib/dir.c b/lib/dir.c
> index 98edb8e1695c..bf611d9b9678 100644
> --- a/lib/dir.c
> +++ b/lib/dir.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> #include <stdlib.h>
> #include <sys/stat.h>
> #include "erofs/print.h"
> diff --git a/lib/diskbuf.c b/lib/diskbuf.c
> index 0bf42da6a8af..b32a39adf67a 100644
> --- a/lib/diskbuf.c
> +++ b/lib/diskbuf.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> #include "erofs/diskbuf.h"
> #include "erofs/internal.h"
> #include "erofs/print.h"
> diff --git a/lib/exclude.c b/lib/exclude.c
> index 5f6107b24a60..6beb46bc2def 100644
> --- a/lib/exclude.c
> +++ b/lib/exclude.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * Created by Li Guifu <bluce.lee@aliyun.com>
>  */
> diff --git a/lib/fragments.c b/lib/fragments.c
> index 0f07e33b3679..13afce3be537 100644
> --- a/lib/fragments.c
> +++ b/lib/fragments.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * Copyright (C), 2022, Coolpad Group Limited.
>  * Created by Yue Hu <huyue2@coolpad.com>
> diff --git a/lib/global.c b/lib/global.c
> index c3d8aec875e9..938aa0a79422 100644
> --- a/lib/global.c
> +++ b/lib/global.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * Copyright (C) 2025 Alibaba Cloud
>  */
> diff --git a/lib/gzran.c b/lib/gzran.c
> index b861c581e408..3973c1f37a75 100644
> --- a/lib/gzran.c
> +++ b/lib/gzran.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * Copyright (C) 2025 Alibaba Cloud
>  */
> diff --git a/lib/importer.c b/lib/importer.c
> index 26c86a0b0098..c404b0f7fadb 100644
> --- a/lib/importer.c
> +++ b/lib/importer.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * Copyright (C) 2025 Alibaba Cloud
>  */
> diff --git a/lib/inode.c b/lib/inode.c
> index 2cfc6c58bda8..c932981a47b7 100644
> --- a/lib/inode.c
> +++ b/lib/inode.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * Copyright (C) 2018-2019 HUAWEI, Inc.
>  *             http://www.huawei.com/
> diff --git a/lib/io.c b/lib/io.c
> index 0c5eb2c29989..3ba45ccf8cbd 100644
> --- a/lib/io.c
> +++ b/lib/io.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * Copyright (C) 2018 HUAWEI, Inc.
>  *             http://www.huawei.com/
> diff --git a/lib/kite_deflate.c b/lib/kite_deflate.c
> index 29e44b3b4a92..c1d3c6db7f48 100644
> --- a/lib/kite_deflate.c
> +++ b/lib/kite_deflate.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * erofs-utils/lib/kite_deflate.c
>  *
> diff --git a/lib/liberofs_cache.h b/lib/liberofs_cache.h
> index baac609fb49f..ddaca5497390 100644
> --- a/lib/liberofs_cache.h
> +++ b/lib/liberofs_cache.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> /*
>  * Copyright (C) 2018 HUAWEI, Inc.
>  *             http://www.huawei.com
> diff --git a/lib/liberofs_compress.h b/lib/liberofs_compress.h
> index 4b9dd42f1318..da6eb1a00d9d 100644
> --- a/lib/liberofs_compress.h
> +++ b/lib/liberofs_compress.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> /*
>  * Copyright (C) 2019 HUAWEI, Inc.
>  *             http://www.huawei.com/
> diff --git a/lib/liberofs_dockerconfig.h b/lib/liberofs_dockerconfig.h
> index 1580e1c329e5..6752926a8f58 100644
> --- a/lib/liberofs_dockerconfig.h
> +++ b/lib/liberofs_dockerconfig.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> /*
>  * Copyright (C) 2026 Tencent, Inc.
>  *             http://www.tencent.com/
> diff --git a/lib/liberofs_fanotify.h b/lib/liberofs_fanotify.h
> index 965090ff2f22..6ecc0e26bcbc 100644
> --- a/lib/liberofs_fanotify.h
> +++ b/lib/liberofs_fanotify.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> #ifndef __EROFS_LIB_LIBEROFS_FANOTIFY_H
> #define __EROFS_LIB_LIBEROFS_FANOTIFY_H
> 
> diff --git a/lib/liberofs_fragments.h b/lib/liberofs_fragments.h
> index 11833ebc938d..cf549367bc5d 100644
> --- a/lib/liberofs_fragments.h
> +++ b/lib/liberofs_fragments.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> /*
>  * Copyright (C) 2022, Coolpad Group Limited.
>  * Copyright (C) 2025 Alibaba Cloud
> diff --git a/lib/liberofs_gzran.h b/lib/liberofs_gzran.h
> index 443fe1558ac5..fa86cc3a7839 100644
> --- a/lib/liberofs_gzran.h
> +++ b/lib/liberofs_gzran.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> /*
>  * Copyright (C) 2025 Alibaba Cloud
>  */
> diff --git a/lib/liberofs_metabox.h b/lib/liberofs_metabox.h
> index bf4051cf18e2..f966c205d9a2 100644
> --- a/lib/liberofs_metabox.h
> +++ b/lib/liberofs_metabox.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> #ifndef __EROFS_LIB_LIBEROFS_METABOX_H
> #define __EROFS_LIB_LIBEROFS_METABOX_H
> 
> diff --git a/lib/liberofs_nbd.h b/lib/liberofs_nbd.h
> index 78c8af511bec..ec7adbf728d2 100644
> --- a/lib/liberofs_nbd.h
> +++ b/lib/liberofs_nbd.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> /*
>  * Copyright (C) 2025 Alibaba Cloud
>  */
> diff --git a/lib/liberofs_oci.h b/lib/liberofs_oci.h
> index 3b3d66dd449d..8eec3f720cd1 100644
> --- a/lib/liberofs_oci.h
> +++ b/lib/liberofs_oci.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> /*
>  * Copyright (C) 2025 Tencent, Inc.
>  *             http://www.tencent.com/
> diff --git a/lib/liberofs_private.h b/lib/liberofs_private.h
> index ebd9e7034860..64bcae83d84c 100644
> --- a/lib/liberofs_private.h
> +++ b/lib/liberofs_private.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0-only OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> 
> #ifdef HAVE_LIBSELINUX
> #include <selinux/selinux.h>
> diff --git a/lib/liberofs_rebuild.h b/lib/liberofs_rebuild.h
> index 69802fb9542c..6459dbd42a64 100644
> --- a/lib/liberofs_rebuild.h
> +++ b/lib/liberofs_rebuild.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> #ifndef __EROFS_LIB_LIBEROFS_REBUILD_H
> #define __EROFS_LIB_LIBEROFS_REBUILD_H
> 
> diff --git a/lib/liberofs_s3.h b/lib/liberofs_s3.h
> index f4886cd4ecf8..c81834785c5f 100644
> --- a/lib/liberofs_s3.h
> +++ b/lib/liberofs_s3.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> /*
>  * Copyright (C) 2025 HUAWEI, Inc.
>  *             http://www.huawei.com/
> diff --git a/lib/liberofs_uuid.h b/lib/liberofs_uuid.h
> index 63b358a854d4..e8bb1be94fde 100644
> --- a/lib/liberofs_uuid.h
> +++ b/lib/liberofs_uuid.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> #ifndef __EROFS_LIB_UUID_H
> #define __EROFS_LIB_UUID_H
> 
> diff --git a/lib/metabox.c b/lib/metabox.c
> index 12706aafdb36..d5ce9e3243b8 100644
> --- a/lib/metabox.c
> +++ b/lib/metabox.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> #include <stdlib.h>
> #include "erofs/inode.h"
> #include "erofs/importer.h"
> diff --git a/lib/namei.c b/lib/namei.c
> index 896e348bc3ee..f19e4b13d69a 100644
> --- a/lib/namei.c
> +++ b/lib/namei.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * Created by Li Guifu <blucerlee@gmail.com>
>  */
> diff --git a/lib/rebuild.c b/lib/rebuild.c
> index f89a17c44193..7ab2b499923c 100644
> --- a/lib/rebuild.c
> +++ b/lib/rebuild.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> #define _GNU_SOURCE
> #include <unistd.h>
> #include <stdlib.h>
> diff --git a/lib/remotes/docker_config.c b/lib/remotes/docker_config.c
> index 00db1bb6dc1d..8e236fca1e33 100644
> --- a/lib/remotes/docker_config.c
> +++ b/lib/remotes/docker_config.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * Copyright (C) 2026 Tencent, Inc.
>  *             http://www.tencent.com/
> diff --git a/lib/remotes/oci.c b/lib/remotes/oci.c
> index f96be13387a7..80a1e38b1531 100644
> --- a/lib/remotes/oci.c
> +++ b/lib/remotes/oci.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * Copyright (C) 2025 Tencent, Inc.
>  *             http://www.tencent.com/
> diff --git a/lib/remotes/s3.c b/lib/remotes/s3.c
> index 768232ad0b66..1385e16018cd 100644
> --- a/lib/remotes/s3.c
> +++ b/lib/remotes/s3.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * Copyright (C) 2025 HUAWEI, Inc.
>  *             http://www.huawei.com/
> diff --git a/lib/rolling_hash.h b/lib/rolling_hash.h
> index 448db34edc1b..cfabfca87109 100644
> --- a/lib/rolling_hash.h
> +++ b/lib/rolling_hash.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> /*
>  * Copyright (C) 2022 Alibaba Cloud
>  */
> diff --git a/lib/sha256.h b/lib/sha256.h
> index 851b80c722d3..6bcf03c26805 100644
> --- a/lib/sha256.h
> +++ b/lib/sha256.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
> #ifndef __EROFS_LIB_SHA256_H
> #define __EROFS_LIB_SHA256_H
> 
> diff --git a/lib/super.c b/lib/super.c
> index 088c9a01fc2f..6ad27c054333 100644
> --- a/lib/super.c
> +++ b/lib/super.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * Created by Li Guifu <blucerlee@gmail.com>
>  */
> diff --git a/lib/tar.c b/lib/tar.c
> index 599e41342255..87a6a619dd76 100644
> --- a/lib/tar.c
> +++ b/lib/tar.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> #include <unistd.h>
> #include <stdlib.h>
> #include <string.h>
> diff --git a/lib/uuid.c b/lib/uuid.c
> index 1fae857f2c8d..3b1bd38e63a9 100644
> --- a/lib/uuid.c
> +++ b/lib/uuid.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * Copyright (C) 2023 Norbert Lange <nolange79@gmail.com>
>  */
> diff --git a/lib/uuid_unparse.c b/lib/uuid_unparse.c
> index 3255c4bdd7a5..890acda8ce96 100644
> --- a/lib/uuid_unparse.c
> +++ b/lib/uuid_unparse.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * Copyright (C) 2023 Norbert Lange <nolange79@gmail.com>
>  */
> diff --git a/lib/vmdk.c b/lib/vmdk.c
> index 8080c515bf75..316a8ffc94b2 100644
> --- a/lib/vmdk.c
> +++ b/lib/vmdk.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> #include "erofs/internal.h"
> 
> static int erofs_vmdk_desc_add_extent(FILE *f, u64 sectors,
> diff --git a/lib/workqueue.c b/lib/workqueue.c
> index 1f3fa7ca34ed..8c78d7920fe9 100644
> --- a/lib/workqueue.c
> +++ b/lib/workqueue.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> #include <pthread.h>
> #include <stdlib.h>
> #include "erofs/print.h"
> diff --git a/lib/xattr.c b/lib/xattr.c
> index 565070a698dc..b11cd3b681ae 100644
> --- a/lib/xattr.c
> +++ b/lib/xattr.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * Copyright (C) 2019 Li Guifu <blucerlee@gmail.com>
>  *                    Gao Xiang <xiang@kernel.org>
> diff --git a/lib/zmap.c b/lib/zmap.c
> index 4a6507726ba8..5b44b60ed586 100644
> --- a/lib/zmap.c
> +++ b/lib/zmap.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> /*
>  * (a large amount of code was adapted from Linux kernel. )
>  *
> -- 
> 2.43.5
> 



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] erofs-utils: switch other source files into MIT license
  2026-04-02  6:09 ` [PATCH 2/2] erofs-utils: switch other source files into MIT license Gao Xiang
@ 2026-04-02  6:18   ` hudsonZhu
  2026-04-02  6:19   ` zhaoyifan (H)
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 10+ messages in thread
From: hudsonZhu @ 2026-04-02  6:18 UTC (permalink / raw)
  To: Gao Xiang; +Cc: linux-erofs

Reviewed-by: Chengyu Zhu <hudsonzhu@tencent.com>

> 2026年4月2日 14:09,Gao Xiang <hsiangkao@linux.alibaba.com> 写道:
> 
> Let's switch other source files to MIT license since we're absolutely
> NOT working on secret rocket science, so licenses should not be
> a bottleneck to innovation in the Cloud Native and AI era.
> 
> Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
> ---
> COPYING                    | 14 +++++++-------
> Makefile.am                |  2 +-
> autogen.sh                 |  2 +-
> contrib/Makefile.am        |  2 +-
> contrib/stress.c           |  2 +-
> dump/Makefile.am           |  2 +-
> dump/main.c                |  2 +-
> fsck/Makefile.am           |  2 +-
> fsck/main.c                |  2 +-
> fuse/Makefile.am           |  2 +-
> fuse/macosx.h              |  2 +-
> fuse/main.c                |  2 +-
> man/Makefile.am            |  2 +-
> mkfs/Makefile.am           |  2 +-
> mkfs/main.c                |  2 +-
> mount/Makefile.am          |  2 +-
> mount/main.c               |  2 +-
> scripts/get-version-number |  2 +-
> 18 files changed, 24 insertions(+), 24 deletions(-)
> 
> diff --git a/COPYING b/COPYING
> index e781cc21ff15..81aee791f173 100644
> --- a/COPYING
> +++ b/COPYING
> @@ -3,13 +3,13 @@ erofs-utils uses two different license patterns:
>  - most liberofs files in `lib` and `include` directories
>    use GPL-2.0+ OR MIT dual license;
> 
> - - all other files use GPL-2.0+ license, unless
> -   explicitly stated otherwise.
> + - all other files use MIT license, unless explicitly stated
> +   otherwise.
> 
> Relevant licenses can be found in the LICENSES directory.
> 
> -This model is selected to emphasize that
> -files in `lib` and `include` directories are designed to be included in
> -3rd-party applications, while all other files are intended to be used
> -"as is", as part of their intended scenarios, with no intention to
> -support 3rd-party integration use cases.
> +This model is selected to emphasize that erofs-utils can be integrated
> +into various ecosystems as much as possible.
> +
> +However, liberofs should be GPL-2.0+ OR MIT dual license since some
> +parts can be shared with the Linux kernel.
> diff --git a/Makefile.am b/Makefile.am
> index 7cb93a697627..e79222e965a9 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -1,4 +1,4 @@
> -# SPDX-License-Identifier: GPL-2.0+
> +# SPDX-License-Identifier: MIT
> 
> ACLOCAL_AMFLAGS = -I m4
> 
> diff --git a/autogen.sh b/autogen.sh
> index fd81db4d6fb3..89c510c35cab 100755
> --- a/autogen.sh
> +++ b/autogen.sh
> @@ -1,5 +1,5 @@
> #!/bin/sh
> -# SPDX-License-Identifier: GPL-2.0+
> +# SPDX-License-Identifier: MIT
> 
> aclocal && \
> autoheader && \
> diff --git a/contrib/Makefile.am b/contrib/Makefile.am
> index 4eb7abed8856..5bedb9441b2e 100644
> --- a/contrib/Makefile.am
> +++ b/contrib/Makefile.am
> @@ -1,4 +1,4 @@
> -# SPDX-License-Identifier: GPL-2.0+
> +# SPDX-License-Identifier: MIT
> # Makefile.am
> 
> AUTOMAKE_OPTIONS	= foreign
> diff --git a/contrib/stress.c b/contrib/stress.c
> index 0ef8c67c126b..65773bce9e27 100644
> --- a/contrib/stress.c
> +++ b/contrib/stress.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+
> +// SPDX-License-Identifier: MIT
> /*
>  * stress test for EROFS filesystem
>  *
> diff --git a/dump/Makefile.am b/dump/Makefile.am
> index c2e0c745a640..2611fd28c762 100644
> --- a/dump/Makefile.am
> +++ b/dump/Makefile.am
> @@ -1,4 +1,4 @@
> -# SPDX-License-Identifier: GPL-2.0+
> +# SPDX-License-Identifier: MIT
> # Makefile.am
> 
> AUTOMAKE_OPTIONS = foreign
> diff --git a/dump/main.c b/dump/main.c
> index 78c50d511587..6c7258a5db40 100644
> --- a/dump/main.c
> +++ b/dump/main.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+
> +// SPDX-License-Identifier: MIT
> /*
>  * Copyright (C) 2021-2022 HUAWEI, Inc.
>  *             http://www.huawei.com/
> diff --git a/fsck/Makefile.am b/fsck/Makefile.am
> index 488b401c8995..8eebadd7d1e5 100644
> --- a/fsck/Makefile.am
> +++ b/fsck/Makefile.am
> @@ -1,4 +1,4 @@
> -# SPDX-License-Identifier: GPL-2.0+
> +# SPDX-License-Identifier: MIT
> # Makefile.am
> 
> AUTOMAKE_OPTIONS = foreign
> diff --git a/fsck/main.c b/fsck/main.c
> index 16a354f460a8..21ada195edab 100644
> --- a/fsck/main.c
> +++ b/fsck/main.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+
> +// SPDX-License-Identifier: MIT
> /*
>  * Copyright 2021 Google LLC
>  * Author: Daeho Jeong <daehojeong@google.com>
> diff --git a/fuse/Makefile.am b/fuse/Makefile.am
> index 1e8f518bad1d..9fe560849336 100644
> --- a/fuse/Makefile.am
> +++ b/fuse/Makefile.am
> @@ -1,4 +1,4 @@
> -# SPDX-License-Identifier: GPL-2.0+
> +# SPDX-License-Identifier: MIT
> 
> AUTOMAKE_OPTIONS = foreign
> noinst_HEADERS = $(top_srcdir)/fuse/macosx.h
> diff --git a/fuse/macosx.h b/fuse/macosx.h
> index 81ac47f551d6..4bb4bb75d5a2 100644
> --- a/fuse/macosx.h
> +++ b/fuse/macosx.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ */
> +/* SPDX-License-Identifier: MIT */
> #ifdef __APPLE__
> #undef LIST_HEAD
> #endif
> diff --git a/fuse/main.c b/fuse/main.c
> index b6347828eacf..40f8684abe43 100644
> --- a/fuse/main.c
> +++ b/fuse/main.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+
> +// SPDX-License-Identifier: MIT
> /*
>  * Created by Li Guifu <blucerlee@gmail.com>
>  * Lowlevel added by Li Yiyan <lyy0627@sjtu.edu.cn>
> diff --git a/man/Makefile.am b/man/Makefile.am
> index b9b598954725..88bf3a16d995 100644
> --- a/man/Makefile.am
> +++ b/man/Makefile.am
> @@ -1,4 +1,4 @@
> -# SPDX-License-Identifier: GPL-2.0+
> +# SPDX-License-Identifier: MIT
> 
> dist_man_MANS = mkfs.erofs.1 dump.erofs.1 fsck.erofs.1
> 
> diff --git a/mkfs/Makefile.am b/mkfs/Makefile.am
> index aaefc11dadc3..386455aced67 100644
> --- a/mkfs/Makefile.am
> +++ b/mkfs/Makefile.am
> @@ -1,4 +1,4 @@
> -# SPDX-License-Identifier: GPL-2.0+
> +# SPDX-License-Identifier: MIT
> 
> AUTOMAKE_OPTIONS = foreign
> bin_PROGRAMS     = mkfs.erofs
> diff --git a/mkfs/main.c b/mkfs/main.c
> index eb13abaec92b..5006f76fa73b 100644
> --- a/mkfs/main.c
> +++ b/mkfs/main.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+
> +// SPDX-License-Identifier: MIT
> /*
>  * Copyright (C) 2018-2019 HUAWEI, Inc.
>  *             http://www.huawei.com/
> diff --git a/mount/Makefile.am b/mount/Makefile.am
> index 7f6efd8b7cf5..637029d4475a 100644
> --- a/mount/Makefile.am
> +++ b/mount/Makefile.am
> @@ -1,4 +1,4 @@
> -# SPDX-License-Identifier: GPL-2.0+
> +# SPDX-License-Identifier: MIT
> # Makefile.am
> 
> AUTOMAKE_OPTIONS = foreign
> diff --git a/mount/main.c b/mount/main.c
> index b6a2deca4d85..e09e58533ecc 100644
> --- a/mount/main.c
> +++ b/mount/main.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+
> +// SPDX-License-Identifier: MIT
> #define _GNU_SOURCE
> #include <dirent.h>
> #include <fcntl.h>
> diff --git a/scripts/get-version-number b/scripts/get-version-number
> index d216b7a424e0..484baebf53c6 100755
> --- a/scripts/get-version-number
> +++ b/scripts/get-version-number
> @@ -1,5 +1,5 @@
> #!/bin/sh
> -# SPDX-License-Identifier: GPL-2.0
> +# SPDX-License-Identifier: MIT
> 
> scm_version()
> {
> -- 
> 2.43.5
> 



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2] erofs-utils: lib: switch to GPL-2.0+ OR MIT dual license
  2026-04-02  6:09 [PATCH 1/2] erofs-utils: lib: switch to GPL-2.0+ OR MIT dual license Gao Xiang
  2026-04-02  6:09 ` [PATCH 2/2] erofs-utils: switch other source files into MIT license Gao Xiang
  2026-04-02  6:18 ` [PATCH 1/2] erofs-utils: lib: switch to GPL-2.0+ OR MIT dual license hudsonZhu
@ 2026-04-02  6:19 ` zhaoyifan (H)
  2026-04-02  6:30 ` Hongbo Li
  2026-04-02  6:32 ` Chunhai Guo
  4 siblings, 0 replies; 10+ messages in thread
From: zhaoyifan (H) @ 2026-04-02  6:19 UTC (permalink / raw)
  To: linux-erofs, Gao Xiang

Reviewed-by: Yifan Zhao <zhaoyifan28@huawei.com>

On 2026/4/2 14:09, Gao Xiang wrote:
> Apache 2.0 is still too strict for some 3rd-party integration.
>
> Let's switch to GPL-2.0+ OR MIT dual license since we're absolutely
> not working on secret rocket science, so licenses should not be a
> bottleneck to innovation in the Cloud Native and AI era.
>
> Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
> ---
>   COPYING                        |   6 +-
>   LICENSES/Apache-2.0            | 186 ---------------------------------
>   include/erofs/atomic.h         |   2 +-
>   include/erofs/bitops.h         |   2 +-
>   include/erofs/blobchunk.h      |   2 +-
>   include/erofs/block_list.h     |   2 +-
>   include/erofs/compress_hints.h |   2 +-
>   include/erofs/config.h         |   2 +-
>   include/erofs/decompress.h     |   2 +-
>   include/erofs/dedupe.h         |   2 +-
>   include/erofs/defs.h           |   2 +-
>   include/erofs/dir.h            |   2 +-
>   include/erofs/diskbuf.h        |   2 +-
>   include/erofs/err.h            |   2 +-
>   include/erofs/exclude.h        |   2 +-
>   include/erofs/importer.h       |   2 +-
>   include/erofs/inode.h          |   2 +-
>   include/erofs/internal.h       |   2 +-
>   include/erofs/io.h             |   2 +-
>   include/erofs/list.h           |   2 +-
>   include/erofs/lock.h           |   2 +-
>   include/erofs/print.h          |   2 +-
>   include/erofs/tar.h            |   2 +-
>   include/erofs/trace.h          |   2 +-
>   include/erofs/workqueue.h      |   2 +-
>   include/erofs/xattr.h          |   2 +-
>   lib/Makefile.am                |   2 +-
>   lib/backends/fanotify.c        |   2 +-
>   lib/backends/nbd.c             |   2 +-
>   lib/base64.c                   |   2 +-
>   lib/bitops.c                   |   2 +-
>   lib/blobchunk.c                |   2 +-
>   lib/block_list.c               |   2 +-
>   lib/cache.c                    |   2 +-
>   lib/compress.c                 |   2 +-
>   lib/compress_hints.c           |   2 +-
>   lib/compressor.c               |   2 +-
>   lib/compressor.h               |   2 +-
>   lib/compressor_deflate.c       |   2 +-
>   lib/compressor_libdeflate.c    |   2 +-
>   lib/compressor_liblzma.c       |   2 +-
>   lib/compressor_libzstd.c       |   2 +-
>   lib/compressor_lz4.c           |   2 +-
>   lib/compressor_lz4hc.c         |   2 +-
>   lib/config.c                   |   2 +-
>   lib/data.c                     |   2 +-
>   lib/decompress.c               |   2 +-
>   lib/dedupe.c                   |   2 +-
>   lib/dedupe_ext.c               |   2 +-
>   lib/dir.c                      |   2 +-
>   lib/diskbuf.c                  |   2 +-
>   lib/exclude.c                  |   2 +-
>   lib/fragments.c                |   2 +-
>   lib/global.c                   |   2 +-
>   lib/gzran.c                    |   2 +-
>   lib/importer.c                 |   2 +-
>   lib/inode.c                    |   2 +-
>   lib/io.c                       |   2 +-
>   lib/kite_deflate.c             |   2 +-
>   lib/liberofs_cache.h           |   2 +-
>   lib/liberofs_compress.h        |   2 +-
>   lib/liberofs_dockerconfig.h    |   2 +-
>   lib/liberofs_fanotify.h        |   2 +-
>   lib/liberofs_fragments.h       |   2 +-
>   lib/liberofs_gzran.h           |   2 +-
>   lib/liberofs_metabox.h         |   2 +-
>   lib/liberofs_nbd.h             |   2 +-
>   lib/liberofs_oci.h             |   2 +-
>   lib/liberofs_private.h         |   2 +-
>   lib/liberofs_rebuild.h         |   2 +-
>   lib/liberofs_s3.h              |   2 +-
>   lib/liberofs_uuid.h            |   2 +-
>   lib/metabox.c                  |   2 +-
>   lib/namei.c                    |   2 +-
>   lib/rebuild.c                  |   2 +-
>   lib/remotes/docker_config.c    |   2 +-
>   lib/remotes/oci.c              |   2 +-
>   lib/remotes/s3.c               |   2 +-
>   lib/rolling_hash.h             |   2 +-
>   lib/sha256.h                   |   2 +-
>   lib/super.c                    |   2 +-
>   lib/tar.c                      |   2 +-
>   lib/uuid.c                     |   2 +-
>   lib/uuid_unparse.c             |   2 +-
>   lib/vmdk.c                     |   2 +-
>   lib/workqueue.c                |   2 +-
>   lib/xattr.c                    |   2 +-
>   lib/zmap.c                     |   2 +-
>   88 files changed, 89 insertions(+), 275 deletions(-)
>   delete mode 100644 LICENSES/Apache-2.0
>
> diff --git a/COPYING b/COPYING
> index 8767cae10b22..e781cc21ff15 100644
> --- a/COPYING
> +++ b/COPYING
> @@ -1,7 +1,7 @@
>   erofs-utils uses two different license patterns:
>   
>    - most liberofs files in `lib` and `include` directories
> -   use GPL-2.0+ OR Apache-2.0 dual license;
> +   use GPL-2.0+ OR MIT dual license;
>   
>    - all other files use GPL-2.0+ license, unless
>      explicitly stated otherwise.
> @@ -9,7 +9,7 @@ erofs-utils uses two different license patterns:
>   Relevant licenses can be found in the LICENSES directory.
>   
>   This model is selected to emphasize that
> -files in `lib` and `include` directory are designed to be included into
> -3rd-party applications, while all other files, are intended to be used
> +files in `lib` and `include` directories are designed to be included in
> +3rd-party applications, while all other files are intended to be used
>   "as is", as part of their intended scenarios, with no intention to
>   support 3rd-party integration use cases.
> diff --git a/LICENSES/Apache-2.0 b/LICENSES/Apache-2.0
> deleted file mode 100644
> index f6c1877fae13..000000000000
> --- a/LICENSES/Apache-2.0
> +++ /dev/null
> @@ -1,186 +0,0 @@
> -Valid-License-Identifier: Apache-2.0
> -SPDX-URL: https://spdx.org/licenses/Apache-2.0.html
> -Usage-Guide:
> -  The Apache-2.0 may only be used for dual-licensed files where the other
> -  license is GPL2 compatible. If you end up using this it MUST be used
> -  together with a GPL2 compatible license using "OR".
> -  To use the Apache License version 2.0 put the following SPDX tag/value
> -  pair into a comment according to the placement guidelines in the
> -  licensing rules documentation:
> -    SPDX-License-Identifier: Apache-2.0
> -License-Text:
> -
> -Apache License
> -
> -Version 2.0, January 2004
> -
> -http://www.apache.org/licenses/
> -
> -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
> -
> -1. Definitions.
> -
> -"License" shall mean the terms and conditions for use, reproduction, and
> -distribution as defined by Sections 1 through 9 of this document.
> -
> -"Licensor" shall mean the copyright owner or entity authorized by the
> -copyright owner that is granting the License.
> -
> -"Legal Entity" shall mean the union of the acting entity and all other
> -entities that control, are controlled by, or are under common control with
> -that entity. For the purposes of this definition, "control" means (i) the
> -power, direct or indirect, to cause the direction or management of such
> -entity, whether by contract or otherwise, or (ii) ownership of fifty
> -percent (50%) or more of the outstanding shares, or (iii) beneficial
> -ownership of such entity.
> -
> -"You" (or "Your") shall mean an individual or Legal Entity exercising
> -permissions granted by this License.
> -
> -"Source" form shall mean the preferred form for making modifications,
> -including but not limited to software source code, documentation source,
> -and configuration files.
> -
> -"Object" form shall mean any form resulting from mechanical transformation
> -or translation of a Source form, including but not limited to compiled
> -object code, generated documentation, and conversions to other media types.
> -
> -"Work" shall mean the work of authorship, whether in Source or Object form,
> -made available under the License, as indicated by a copyright notice that
> -is included in or attached to the work (an example is provided in the
> -Appendix below).
> -
> -"Derivative Works" shall mean any work, whether in Source or Object form,
> -that is based on (or derived from) the Work and for which the editorial
> -revisions, annotations, elaborations, or other modifications represent, as
> -a whole, an original work of authorship. For the purposes of this License,
> -Derivative Works shall not include works that remain separable from, or
> -merely link (or bind by name) to the interfaces of, the Work and Derivative
> -Works thereof.
> -
> -"Contribution" shall mean any work of authorship, including the original
> -version of the Work and any modifications or additions to that Work or
> -Derivative Works thereof, that is intentionally submitted to Licensor for
> -inclusion in the Work by the copyright owner or by an individual or Legal
> -Entity authorized to submit on behalf of the copyright owner. For the
> -purposes of this definition, "submitted" means any form of electronic,
> -verbal, or written communication sent to the Licensor or its
> -representatives, including but not limited to communication on electronic
> -mailing lists, source code control systems, and issue tracking systems that
> -are managed by, or on behalf of, the Licensor for the purpose of discussing
> -and improving the Work, but excluding communication that is conspicuously
> -marked or otherwise designated in writing by the copyright owner as "Not a
> -Contribution."
> -
> -"Contributor" shall mean Licensor and any individual or Legal Entity on
> -behalf of whom a Contribution has been received by Licensor and
> -subsequently incorporated within the Work.
> -
> -2. Grant of Copyright License. Subject to the terms and conditions of this
> -   License, each Contributor hereby grants to You a perpetual, worldwide,
> -   non-exclusive, no-charge, royalty-free, irrevocable copyright license to
> -   reproduce, prepare Derivative Works of, publicly display, publicly
> -   perform, sublicense, and distribute the Work and such Derivative Works
> -   in Source or Object form.
> -
> -3. Grant of Patent License. Subject to the terms and conditions of this
> -   License, each Contributor hereby grants to You a perpetual, worldwide,
> -   non-exclusive, no-charge, royalty-free, irrevocable (except as stated in
> -   this section) patent license to make, have made, use, offer to sell,
> -   sell, import, and otherwise transfer the Work, where such license
> -   applies only to those patent claims licensable by such Contributor that
> -   are necessarily infringed by their Contribution(s) alone or by
> -   combination of their Contribution(s) with the Work to which such
> -   Contribution(s) was submitted. If You institute patent litigation
> -   against any entity (including a cross-claim or counterclaim in a
> -   lawsuit) alleging that the Work or a Contribution incorporated within
> -   the Work constitutes direct or contributory patent infringement, then
> -   any patent licenses granted to You under this License for that Work
> -   shall terminate as of the date such litigation is filed.
> -
> -4. Redistribution. You may reproduce and distribute copies of the Work or
> -   Derivative Works thereof in any medium, with or without modifications,
> -   and in Source or Object form, provided that You meet the following
> -   conditions:
> -
> -   a. You must give any other recipients of the Work or Derivative Works a
> -      copy of this License; and
> -
> -   b. You must cause any modified files to carry prominent notices stating
> -      that You changed the files; and
> -
> -   c. You must retain, in the Source form of any Derivative Works that You
> -      distribute, all copyright, patent, trademark, and attribution notices
> -      from the Source form of the Work, excluding those notices that do not
> -      pertain to any part of the Derivative Works; and
> -
> -   d. If the Work includes a "NOTICE" text file as part of its
> -      distribution, then any Derivative Works that You distribute must
> -      include a readable copy of the attribution notices contained within
> -      such NOTICE file, excluding those notices that do not pertain to any
> -      part of the Derivative Works, in at least one of the following
> -      places: within a NOTICE text file distributed as part of the
> -      Derivative Works; within the Source form or documentation, if
> -      provided along with the Derivative Works; or, within a display
> -      generated by the Derivative Works, if and wherever such third-party
> -      notices normally appear. The contents of the NOTICE file are for
> -      informational purposes only and do not modify the License. You may
> -      add Your own attribution notices within Derivative Works that You
> -      distribute, alongside or as an addendum to the NOTICE text from the
> -      Work, provided that such additional attribution notices cannot be
> -      construed as modifying the License.
> -
> -    You may add Your own copyright statement to Your modifications and may
> -    provide additional or different license terms and conditions for use,
> -    reproduction, or distribution of Your modifications, or for any such
> -    Derivative Works as a whole, provided Your use, reproduction, and
> -    distribution of the Work otherwise complies with the conditions stated
> -    in this License.
> -
> -5. Submission of Contributions. Unless You explicitly state otherwise, any
> -   Contribution intentionally submitted for inclusion in the Work by You to
> -   the Licensor shall be under the terms and conditions of this License,
> -   without any additional terms or conditions. Notwithstanding the above,
> -   nothing herein shall supersede or modify the terms of any separate
> -   license agreement you may have executed with Licensor regarding such
> -   Contributions.
> -
> -6. Trademarks. This License does not grant permission to use the trade
> -   names, trademarks, service marks, or product names of the Licensor,
> -   except as required for reasonable and customary use in describing the
> -   origin of the Work and reproducing the content of the NOTICE file.
> -
> -7. Disclaimer of Warranty. Unless required by applicable law or agreed to
> -   in writing, Licensor provides the Work (and each Contributor provides
> -   its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
> -   OF ANY KIND, either express or implied, including, without limitation,
> -   any warranties or conditions of TITLE, NON-INFRINGEMENT,
> -   MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely
> -   responsible for determining the appropriateness of using or
> -   redistributing the Work and assume any risks associated with Your
> -   exercise of permissions under this License.
> -
> -8. Limitation of Liability. In no event and under no legal theory, whether
> -   in tort (including negligence), contract, or otherwise, unless required
> -   by applicable law (such as deliberate and grossly negligent acts) or
> -   agreed to in writing, shall any Contributor be liable to You for
> -   damages, including any direct, indirect, special, incidental, or
> -   consequential damages of any character arising as a result of this
> -   License or out of the use or inability to use the Work (including but
> -   not limited to damages for loss of goodwill, work stoppage, computer
> -   failure or malfunction, or any and all other commercial damages or
> -   losses), even if such Contributor has been advised of the possibility of
> -   such damages.
> -
> -9. Accepting Warranty or Additional Liability. While redistributing the
> -   Work or Derivative Works thereof, You may choose to offer, and charge a
> -   fee for, acceptance of support, warranty, indemnity, or other liability
> -   obligations and/or rights consistent with this License. However, in
> -   accepting such obligations, You may act only on Your own behalf and on
> -   Your sole responsibility, not on behalf of any other Contributor, and
> -   only if You agree to indemnify, defend, and hold each Contributor
> -   harmless for any liability incurred by, or claims asserted against, such
> -   Contributor by reason of your accepting any such warranty or additional
> -   liability.
> -
> -END OF TERMS AND CONDITIONS
> diff --git a/include/erofs/atomic.h b/include/erofs/atomic.h
> index 142590bd6c79..3aa19f6ae369 100644
> --- a/include/erofs/atomic.h
> +++ b/include/erofs/atomic.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2024 Alibaba Cloud
>    */
> diff --git a/include/erofs/bitops.h b/include/erofs/bitops.h
> index 058642f5b190..f407cc95292e 100644
> --- a/include/erofs/bitops.h
> +++ b/include/erofs/bitops.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   #ifndef __EROFS_BITOPS_H
>   #define __EROFS_BITOPS_H
>   
> diff --git a/include/erofs/blobchunk.h b/include/erofs/blobchunk.h
> index 48fca63c6c15..1761fdd82432 100644
> --- a/include/erofs/blobchunk.h
> +++ b/include/erofs/blobchunk.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * erofs-utils/lib/blobchunk.h
>    *
> diff --git a/include/erofs/block_list.h b/include/erofs/block_list.h
> index 9d06c9c47d2e..156a5a433ded 100644
> --- a/include/erofs/block_list.h
> +++ b/include/erofs/block_list.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C), 2021, Coolpad Group Limited.
>    * Created by Yue Hu <huyue2@yulong.com>
> diff --git a/include/erofs/compress_hints.h b/include/erofs/compress_hints.h
> index 6ccc03d213ea..3ab7bb4b67f1 100644
> --- a/include/erofs/compress_hints.h
> +++ b/include/erofs/compress_hints.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C), 2008-2021, OPPO Mobile Comm Corp., Ltd.
>    * Created by Huang Jianan <huangjianan@oppo.com>
> diff --git a/include/erofs/config.h b/include/erofs/config.h
> index bb303c48a0db..95d7e9f16065 100644
> --- a/include/erofs/config.h
> +++ b/include/erofs/config.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2018-2019 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/include/erofs/decompress.h b/include/erofs/decompress.h
> index 0d5548327b02..edc017c2b8e4 100644
> --- a/include/erofs/decompress.h
> +++ b/include/erofs/decompress.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C), 2008-2020, OPPO Mobile Comm Corp., Ltd.
>    * Created by Huang Jianan <huangjianan@oppo.com>
> diff --git a/include/erofs/dedupe.h b/include/erofs/dedupe.h
> index f9caa6113d15..267d9b9f12c8 100644
> --- a/include/erofs/dedupe.h
> +++ b/include/erofs/dedupe.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2022 Alibaba Cloud
>    */
> diff --git a/include/erofs/defs.h b/include/erofs/defs.h
> index 71ca11b54ef8..ff87df9d3d51 100644
> --- a/include/erofs/defs.h
> +++ b/include/erofs/defs.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2018 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/include/erofs/dir.h b/include/erofs/dir.h
> index 5460ac48512f..4e0614dfbbce 100644
> --- a/include/erofs/dir.h
> +++ b/include/erofs/dir.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   #ifndef __EROFS_DIR_H
>   #define __EROFS_DIR_H
>   
> diff --git a/include/erofs/diskbuf.h b/include/erofs/diskbuf.h
> index 29d9fe2cf52e..122890b2f919 100644
> --- a/include/erofs/diskbuf.h
> +++ b/include/erofs/diskbuf.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   #ifndef __EROFS_DISKBUF_H
>   #define __EROFS_DISKBUF_H
>   
> diff --git a/include/erofs/err.h b/include/erofs/err.h
> index 59c8c9cc9ae3..7dacc917a4c1 100644
> --- a/include/erofs/err.h
> +++ b/include/erofs/err.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2018 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/include/erofs/exclude.h b/include/erofs/exclude.h
> index 3f17032b48db..0af39a0a5b05 100644
> --- a/include/erofs/exclude.h
> +++ b/include/erofs/exclude.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Created by Li Guifu <bluce.lee@aliyun.com>
>    */
> diff --git a/include/erofs/importer.h b/include/erofs/importer.h
> index 920488453c34..07e40b47954d 100644
> --- a/include/erofs/importer.h
> +++ b/include/erofs/importer.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2025 Alibaba Cloud
>    */
> diff --git a/include/erofs/inode.h b/include/erofs/inode.h
> index ba62ece9a7cc..bf089e83590b 100644
> --- a/include/erofs/inode.h
> +++ b/include/erofs/inode.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2018-2019 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/include/erofs/internal.h b/include/erofs/internal.h
> index 671880f2db3c..c780228c7bfe 100644
> --- a/include/erofs/internal.h
> +++ b/include/erofs/internal.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2019 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/include/erofs/io.h b/include/erofs/io.h
> index 9533efc2d20a..96309fde9646 100644
> --- a/include/erofs/io.h
> +++ b/include/erofs/io.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2018-2019 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/include/erofs/list.h b/include/erofs/list.h
> index a7e30ccc4258..e9208887ee80 100644
> --- a/include/erofs/list.h
> +++ b/include/erofs/list.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2018 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/include/erofs/lock.h b/include/erofs/lock.h
> index c6e30937aac4..884f23ea739e 100644
> --- a/include/erofs/lock.h
> +++ b/include/erofs/lock.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   #ifndef __EROFS_LOCK_H
>   #define __EROFS_LOCK_H
>   
> diff --git a/include/erofs/print.h b/include/erofs/print.h
> index a896d75117de..fa979a3a2d46 100644
> --- a/include/erofs/print.h
> +++ b/include/erofs/print.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2018-2019 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/include/erofs/tar.h b/include/erofs/tar.h
> index cdaef315442d..a8166336d220 100644
> --- a/include/erofs/tar.h
> +++ b/include/erofs/tar.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   #ifndef __EROFS_TAR_H
>   #define __EROFS_TAR_H
>   
> diff --git a/include/erofs/trace.h b/include/erofs/trace.h
> index 398e3318355d..fe6734073580 100644
> --- a/include/erofs/trace.h
> +++ b/include/erofs/trace.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2020 Gao Xiang <hsiangkao@aol.com>
>    */
> diff --git a/include/erofs/workqueue.h b/include/erofs/workqueue.h
> index 36037c381c4a..064246c2bfe4 100644
> --- a/include/erofs/workqueue.h
> +++ b/include/erofs/workqueue.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   #ifndef __EROFS_WORKQUEUE_H
>   #define __EROFS_WORKQUEUE_H
>   
> diff --git a/include/erofs/xattr.h b/include/erofs/xattr.h
> index 96546364f316..235688649592 100644
> --- a/include/erofs/xattr.h
> +++ b/include/erofs/xattr.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   #ifndef __EROFS_XATTR_H
>   #define __EROFS_XATTR_H
>   
> diff --git a/lib/Makefile.am b/lib/Makefile.am
> index 5f8812f48c93..27bf71094bad 100644
> --- a/lib/Makefile.am
> +++ b/lib/Makefile.am
> @@ -1,4 +1,4 @@
> -# SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +# SPDX-License-Identifier: GPL-2.0+ OR MIT
>   
>   noinst_LTLIBRARIES = liberofs.la
>   noinst_HEADERS = $(top_srcdir)/include/erofs_fs.h \
> diff --git a/lib/backends/fanotify.c b/lib/backends/fanotify.c
> index bbe131ac11c2..cf8b61667705 100644
> --- a/lib/backends/fanotify.c
> +++ b/lib/backends/fanotify.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   #define _GNU_SOURCE
>   #include <errno.h>
>   #include <fcntl.h>
> diff --git a/lib/backends/nbd.c b/lib/backends/nbd.c
> index da2733477f8e..c488053d99d3 100644
> --- a/lib/backends/nbd.c
> +++ b/lib/backends/nbd.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2025 Alibaba Cloud
>    */
> diff --git a/lib/base64.c b/lib/base64.c
> index a45f7b6f2a1a..623d83cb9f2f 100644
> --- a/lib/base64.c
> +++ b/lib/base64.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   #include "liberofs_base64.h"
>   #include <string.h>
>   
> diff --git a/lib/bitops.c b/lib/bitops.c
> index bb0c9eeb917a..da012b233ac2 100644
> --- a/lib/bitops.c
> +++ b/lib/bitops.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * erofs-utils/lib/bitops.c
>    *
> diff --git a/lib/blobchunk.c b/lib/blobchunk.c
> index 96c161b27091..e39bf6800059 100644
> --- a/lib/blobchunk.c
> +++ b/lib/blobchunk.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * erofs-utils/lib/blobchunk.c
>    *
> diff --git a/lib/block_list.c b/lib/block_list.c
> index f8dc9138bd92..e6b28424ad36 100644
> --- a/lib/block_list.c
> +++ b/lib/block_list.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C), 2021, Coolpad Group Limited.
>    * Created by Yue Hu <huyue2@yulong.com>
> diff --git a/lib/cache.c b/lib/cache.c
> index 4c7c3863275b..f964e4737767 100644
> --- a/lib/cache.c
> +++ b/lib/cache.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2018-2019 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/lib/compress.c b/lib/compress.c
> index 4a0d890ae87d..62d2672cb665 100644
> --- a/lib/compress.c
> +++ b/lib/compress.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2018-2019 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/lib/compress_hints.c b/lib/compress_hints.c
> index 322ec97f474a..a4ff0038ebb5 100644
> --- a/lib/compress_hints.c
> +++ b/lib/compress_hints.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C), 2008-2021, OPPO Mobile Comm Corp., Ltd.
>    * Created by Huang Jianan <huangjianan@oppo.com>
> diff --git a/lib/compressor.c b/lib/compressor.c
> index cf55abcf5359..7593b336ffc8 100644
> --- a/lib/compressor.c
> +++ b/lib/compressor.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2018-2019 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/lib/compressor.h b/lib/compressor.h
> index 86b45a759874..7b7ef37f8218 100644
> --- a/lib/compressor.h
> +++ b/lib/compressor.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2018-2019 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/lib/compressor_deflate.c b/lib/compressor_deflate.c
> index f567d2c731af..9521aec6914d 100644
> --- a/lib/compressor_deflate.c
> +++ b/lib/compressor_deflate.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2023, Alibaba Cloud
>    * Copyright (C) 2023, Gao Xiang <xiang@kernel.org>
> diff --git a/lib/compressor_libdeflate.c b/lib/compressor_libdeflate.c
> index 18f5f7b4048c..da39e354974c 100644
> --- a/lib/compressor_libdeflate.c
> +++ b/lib/compressor_libdeflate.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   #include "erofs/internal.h"
>   #include "erofs/print.h"
>   #include "erofs/config.h"
> diff --git a/lib/compressor_liblzma.c b/lib/compressor_liblzma.c
> index 49a90a23525a..ac5d02ea00a2 100644
> --- a/lib/compressor_liblzma.c
> +++ b/lib/compressor_liblzma.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2021 Gao Xiang <xiang@kernel.org>
>    */
> diff --git a/lib/compressor_libzstd.c b/lib/compressor_libzstd.c
> index 6330f445ffa6..06f16c272e80 100644
> --- a/lib/compressor_libzstd.c
> +++ b/lib/compressor_libzstd.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   #include "erofs/internal.h"
>   #include "erofs/print.h"
>   #include "erofs/config.h"
> diff --git a/lib/compressor_lz4.c b/lib/compressor_lz4.c
> index f3d88b09fa4a..5f3530a7e6f0 100644
> --- a/lib/compressor_lz4.c
> +++ b/lib/compressor_lz4.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2018-2019 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/lib/compressor_lz4hc.c b/lib/compressor_lz4hc.c
> index 9955c0d717ac..073e33073a3d 100644
> --- a/lib/compressor_lz4hc.c
> +++ b/lib/compressor_lz4hc.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2018-2019 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/lib/config.c b/lib/config.c
> index ab7eb01e1914..b7dbced071f7 100644
> --- a/lib/config.c
> +++ b/lib/config.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2018-2019 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/lib/data.c b/lib/data.c
> index 6fd1389cc09f..1bb9269cb836 100644
> --- a/lib/data.c
> +++ b/lib/data.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2020 Gao Xiang <hsiangkao@aol.com>
>    * Compression support by Huang Jianan <huangjianan@oppo.com>
> diff --git a/lib/decompress.c b/lib/decompress.c
> index e66693c5883e..d23135e0cd43 100644
> --- a/lib/decompress.c
> +++ b/lib/decompress.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C), 2008-2020, OPPO Mobile Comm Corp., Ltd.
>    * Created by Huang Jianan <huangjianan@oppo.com>
> diff --git a/lib/dedupe.c b/lib/dedupe.c
> index bdd890cc2e82..91ea31cc3ec4 100644
> --- a/lib/dedupe.c
> +++ b/lib/dedupe.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2022 Alibaba Cloud
>    */
> diff --git a/lib/dedupe_ext.c b/lib/dedupe_ext.c
> index d7a9b737e428..ae00bbe5e03d 100644
> --- a/lib/dedupe_ext.c
> +++ b/lib/dedupe_ext.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   #include "erofs/dedupe.h"
>   #include "liberofs_xxhash.h"
>   #include <stdlib.h>
> diff --git a/lib/dir.c b/lib/dir.c
> index 98edb8e1695c..bf611d9b9678 100644
> --- a/lib/dir.c
> +++ b/lib/dir.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   #include <stdlib.h>
>   #include <sys/stat.h>
>   #include "erofs/print.h"
> diff --git a/lib/diskbuf.c b/lib/diskbuf.c
> index 0bf42da6a8af..b32a39adf67a 100644
> --- a/lib/diskbuf.c
> +++ b/lib/diskbuf.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   #include "erofs/diskbuf.h"
>   #include "erofs/internal.h"
>   #include "erofs/print.h"
> diff --git a/lib/exclude.c b/lib/exclude.c
> index 5f6107b24a60..6beb46bc2def 100644
> --- a/lib/exclude.c
> +++ b/lib/exclude.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Created by Li Guifu <bluce.lee@aliyun.com>
>    */
> diff --git a/lib/fragments.c b/lib/fragments.c
> index 0f07e33b3679..13afce3be537 100644
> --- a/lib/fragments.c
> +++ b/lib/fragments.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C), 2022, Coolpad Group Limited.
>    * Created by Yue Hu <huyue2@coolpad.com>
> diff --git a/lib/global.c b/lib/global.c
> index c3d8aec875e9..938aa0a79422 100644
> --- a/lib/global.c
> +++ b/lib/global.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2025 Alibaba Cloud
>    */
> diff --git a/lib/gzran.c b/lib/gzran.c
> index b861c581e408..3973c1f37a75 100644
> --- a/lib/gzran.c
> +++ b/lib/gzran.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2025 Alibaba Cloud
>    */
> diff --git a/lib/importer.c b/lib/importer.c
> index 26c86a0b0098..c404b0f7fadb 100644
> --- a/lib/importer.c
> +++ b/lib/importer.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2025 Alibaba Cloud
>    */
> diff --git a/lib/inode.c b/lib/inode.c
> index 2cfc6c58bda8..c932981a47b7 100644
> --- a/lib/inode.c
> +++ b/lib/inode.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2018-2019 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/lib/io.c b/lib/io.c
> index 0c5eb2c29989..3ba45ccf8cbd 100644
> --- a/lib/io.c
> +++ b/lib/io.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2018 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/lib/kite_deflate.c b/lib/kite_deflate.c
> index 29e44b3b4a92..c1d3c6db7f48 100644
> --- a/lib/kite_deflate.c
> +++ b/lib/kite_deflate.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * erofs-utils/lib/kite_deflate.c
>    *
> diff --git a/lib/liberofs_cache.h b/lib/liberofs_cache.h
> index baac609fb49f..ddaca5497390 100644
> --- a/lib/liberofs_cache.h
> +++ b/lib/liberofs_cache.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2018 HUAWEI, Inc.
>    *             http://www.huawei.com
> diff --git a/lib/liberofs_compress.h b/lib/liberofs_compress.h
> index 4b9dd42f1318..da6eb1a00d9d 100644
> --- a/lib/liberofs_compress.h
> +++ b/lib/liberofs_compress.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2019 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/lib/liberofs_dockerconfig.h b/lib/liberofs_dockerconfig.h
> index 1580e1c329e5..6752926a8f58 100644
> --- a/lib/liberofs_dockerconfig.h
> +++ b/lib/liberofs_dockerconfig.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2026 Tencent, Inc.
>    *             http://www.tencent.com/
> diff --git a/lib/liberofs_fanotify.h b/lib/liberofs_fanotify.h
> index 965090ff2f22..6ecc0e26bcbc 100644
> --- a/lib/liberofs_fanotify.h
> +++ b/lib/liberofs_fanotify.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   #ifndef __EROFS_LIB_LIBEROFS_FANOTIFY_H
>   #define __EROFS_LIB_LIBEROFS_FANOTIFY_H
>   
> diff --git a/lib/liberofs_fragments.h b/lib/liberofs_fragments.h
> index 11833ebc938d..cf549367bc5d 100644
> --- a/lib/liberofs_fragments.h
> +++ b/lib/liberofs_fragments.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2022, Coolpad Group Limited.
>    * Copyright (C) 2025 Alibaba Cloud
> diff --git a/lib/liberofs_gzran.h b/lib/liberofs_gzran.h
> index 443fe1558ac5..fa86cc3a7839 100644
> --- a/lib/liberofs_gzran.h
> +++ b/lib/liberofs_gzran.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2025 Alibaba Cloud
>    */
> diff --git a/lib/liberofs_metabox.h b/lib/liberofs_metabox.h
> index bf4051cf18e2..f966c205d9a2 100644
> --- a/lib/liberofs_metabox.h
> +++ b/lib/liberofs_metabox.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   #ifndef __EROFS_LIB_LIBEROFS_METABOX_H
>   #define __EROFS_LIB_LIBEROFS_METABOX_H
>   
> diff --git a/lib/liberofs_nbd.h b/lib/liberofs_nbd.h
> index 78c8af511bec..ec7adbf728d2 100644
> --- a/lib/liberofs_nbd.h
> +++ b/lib/liberofs_nbd.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2025 Alibaba Cloud
>    */
> diff --git a/lib/liberofs_oci.h b/lib/liberofs_oci.h
> index 3b3d66dd449d..8eec3f720cd1 100644
> --- a/lib/liberofs_oci.h
> +++ b/lib/liberofs_oci.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2025 Tencent, Inc.
>    *             http://www.tencent.com/
> diff --git a/lib/liberofs_private.h b/lib/liberofs_private.h
> index ebd9e7034860..64bcae83d84c 100644
> --- a/lib/liberofs_private.h
> +++ b/lib/liberofs_private.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0-only OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   
>   #ifdef HAVE_LIBSELINUX
>   #include <selinux/selinux.h>
> diff --git a/lib/liberofs_rebuild.h b/lib/liberofs_rebuild.h
> index 69802fb9542c..6459dbd42a64 100644
> --- a/lib/liberofs_rebuild.h
> +++ b/lib/liberofs_rebuild.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   #ifndef __EROFS_LIB_LIBEROFS_REBUILD_H
>   #define __EROFS_LIB_LIBEROFS_REBUILD_H
>   
> diff --git a/lib/liberofs_s3.h b/lib/liberofs_s3.h
> index f4886cd4ecf8..c81834785c5f 100644
> --- a/lib/liberofs_s3.h
> +++ b/lib/liberofs_s3.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2025 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/lib/liberofs_uuid.h b/lib/liberofs_uuid.h
> index 63b358a854d4..e8bb1be94fde 100644
> --- a/lib/liberofs_uuid.h
> +++ b/lib/liberofs_uuid.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   #ifndef __EROFS_LIB_UUID_H
>   #define __EROFS_LIB_UUID_H
>   
> diff --git a/lib/metabox.c b/lib/metabox.c
> index 12706aafdb36..d5ce9e3243b8 100644
> --- a/lib/metabox.c
> +++ b/lib/metabox.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   #include <stdlib.h>
>   #include "erofs/inode.h"
>   #include "erofs/importer.h"
> diff --git a/lib/namei.c b/lib/namei.c
> index 896e348bc3ee..f19e4b13d69a 100644
> --- a/lib/namei.c
> +++ b/lib/namei.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Created by Li Guifu <blucerlee@gmail.com>
>    */
> diff --git a/lib/rebuild.c b/lib/rebuild.c
> index f89a17c44193..7ab2b499923c 100644
> --- a/lib/rebuild.c
> +++ b/lib/rebuild.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   #define _GNU_SOURCE
>   #include <unistd.h>
>   #include <stdlib.h>
> diff --git a/lib/remotes/docker_config.c b/lib/remotes/docker_config.c
> index 00db1bb6dc1d..8e236fca1e33 100644
> --- a/lib/remotes/docker_config.c
> +++ b/lib/remotes/docker_config.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2026 Tencent, Inc.
>    *             http://www.tencent.com/
> diff --git a/lib/remotes/oci.c b/lib/remotes/oci.c
> index f96be13387a7..80a1e38b1531 100644
> --- a/lib/remotes/oci.c
> +++ b/lib/remotes/oci.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2025 Tencent, Inc.
>    *             http://www.tencent.com/
> diff --git a/lib/remotes/s3.c b/lib/remotes/s3.c
> index 768232ad0b66..1385e16018cd 100644
> --- a/lib/remotes/s3.c
> +++ b/lib/remotes/s3.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2025 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/lib/rolling_hash.h b/lib/rolling_hash.h
> index 448db34edc1b..cfabfca87109 100644
> --- a/lib/rolling_hash.h
> +++ b/lib/rolling_hash.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2022 Alibaba Cloud
>    */
> diff --git a/lib/sha256.h b/lib/sha256.h
> index 851b80c722d3..6bcf03c26805 100644
> --- a/lib/sha256.h
> +++ b/lib/sha256.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   #ifndef __EROFS_LIB_SHA256_H
>   #define __EROFS_LIB_SHA256_H
>   
> diff --git a/lib/super.c b/lib/super.c
> index 088c9a01fc2f..6ad27c054333 100644
> --- a/lib/super.c
> +++ b/lib/super.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Created by Li Guifu <blucerlee@gmail.com>
>    */
> diff --git a/lib/tar.c b/lib/tar.c
> index 599e41342255..87a6a619dd76 100644
> --- a/lib/tar.c
> +++ b/lib/tar.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   #include <unistd.h>
>   #include <stdlib.h>
>   #include <string.h>
> diff --git a/lib/uuid.c b/lib/uuid.c
> index 1fae857f2c8d..3b1bd38e63a9 100644
> --- a/lib/uuid.c
> +++ b/lib/uuid.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2023 Norbert Lange <nolange79@gmail.com>
>    */
> diff --git a/lib/uuid_unparse.c b/lib/uuid_unparse.c
> index 3255c4bdd7a5..890acda8ce96 100644
> --- a/lib/uuid_unparse.c
> +++ b/lib/uuid_unparse.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2023 Norbert Lange <nolange79@gmail.com>
>    */
> diff --git a/lib/vmdk.c b/lib/vmdk.c
> index 8080c515bf75..316a8ffc94b2 100644
> --- a/lib/vmdk.c
> +++ b/lib/vmdk.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   #include "erofs/internal.h"
>   
>   static int erofs_vmdk_desc_add_extent(FILE *f, u64 sectors,
> diff --git a/lib/workqueue.c b/lib/workqueue.c
> index 1f3fa7ca34ed..8c78d7920fe9 100644
> --- a/lib/workqueue.c
> +++ b/lib/workqueue.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   #include <pthread.h>
>   #include <stdlib.h>
>   #include "erofs/print.h"
> diff --git a/lib/xattr.c b/lib/xattr.c
> index 565070a698dc..b11cd3b681ae 100644
> --- a/lib/xattr.c
> +++ b/lib/xattr.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2019 Li Guifu <blucerlee@gmail.com>
>    *                    Gao Xiang <xiang@kernel.org>
> diff --git a/lib/zmap.c b/lib/zmap.c
> index 4a6507726ba8..5b44b60ed586 100644
> --- a/lib/zmap.c
> +++ b/lib/zmap.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * (a large amount of code was adapted from Linux kernel. )
>    *


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] erofs-utils: switch other source files into MIT license
  2026-04-02  6:09 ` [PATCH 2/2] erofs-utils: switch other source files into MIT license Gao Xiang
  2026-04-02  6:18   ` hudsonZhu
@ 2026-04-02  6:19   ` zhaoyifan (H)
  2026-04-02  6:32   ` Chunhai Guo
  2026-04-02  6:34   ` Hongbo Li
  3 siblings, 0 replies; 10+ messages in thread
From: zhaoyifan (H) @ 2026-04-02  6:19 UTC (permalink / raw)
  To: Gao Xiang, linux-erofs

Reviewed-by: Yifan Zhao <zhaoyifan28@huawei.com>

On 2026/4/2 14:09, Gao Xiang wrote:
> Let's switch other source files to MIT license since we're absolutely
> NOT working on secret rocket science, so licenses should not be
> a bottleneck to innovation in the Cloud Native and AI era.
>
> Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
> ---
>   COPYING                    | 14 +++++++-------
>   Makefile.am                |  2 +-
>   autogen.sh                 |  2 +-
>   contrib/Makefile.am        |  2 +-
>   contrib/stress.c           |  2 +-
>   dump/Makefile.am           |  2 +-
>   dump/main.c                |  2 +-
>   fsck/Makefile.am           |  2 +-
>   fsck/main.c                |  2 +-
>   fuse/Makefile.am           |  2 +-
>   fuse/macosx.h              |  2 +-
>   fuse/main.c                |  2 +-
>   man/Makefile.am            |  2 +-
>   mkfs/Makefile.am           |  2 +-
>   mkfs/main.c                |  2 +-
>   mount/Makefile.am          |  2 +-
>   mount/main.c               |  2 +-
>   scripts/get-version-number |  2 +-
>   18 files changed, 24 insertions(+), 24 deletions(-)
>
> diff --git a/COPYING b/COPYING
> index e781cc21ff15..81aee791f173 100644
> --- a/COPYING
> +++ b/COPYING
> @@ -3,13 +3,13 @@ erofs-utils uses two different license patterns:
>    - most liberofs files in `lib` and `include` directories
>      use GPL-2.0+ OR MIT dual license;
>   
> - - all other files use GPL-2.0+ license, unless
> -   explicitly stated otherwise.
> + - all other files use MIT license, unless explicitly stated
> +   otherwise.
>   
>   Relevant licenses can be found in the LICENSES directory.
>   
> -This model is selected to emphasize that
> -files in `lib` and `include` directories are designed to be included in
> -3rd-party applications, while all other files are intended to be used
> -"as is", as part of their intended scenarios, with no intention to
> -support 3rd-party integration use cases.
> +This model is selected to emphasize that erofs-utils can be integrated
> +into various ecosystems as much as possible.
> +
> +However, liberofs should be GPL-2.0+ OR MIT dual license since some
> +parts can be shared with the Linux kernel.
> diff --git a/Makefile.am b/Makefile.am
> index 7cb93a697627..e79222e965a9 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -1,4 +1,4 @@
> -# SPDX-License-Identifier: GPL-2.0+
> +# SPDX-License-Identifier: MIT
>   
>   ACLOCAL_AMFLAGS = -I m4
>   
> diff --git a/autogen.sh b/autogen.sh
> index fd81db4d6fb3..89c510c35cab 100755
> --- a/autogen.sh
> +++ b/autogen.sh
> @@ -1,5 +1,5 @@
>   #!/bin/sh
> -# SPDX-License-Identifier: GPL-2.0+
> +# SPDX-License-Identifier: MIT
>   
>   aclocal && \
>   autoheader && \
> diff --git a/contrib/Makefile.am b/contrib/Makefile.am
> index 4eb7abed8856..5bedb9441b2e 100644
> --- a/contrib/Makefile.am
> +++ b/contrib/Makefile.am
> @@ -1,4 +1,4 @@
> -# SPDX-License-Identifier: GPL-2.0+
> +# SPDX-License-Identifier: MIT
>   # Makefile.am
>   
>   AUTOMAKE_OPTIONS	= foreign
> diff --git a/contrib/stress.c b/contrib/stress.c
> index 0ef8c67c126b..65773bce9e27 100644
> --- a/contrib/stress.c
> +++ b/contrib/stress.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+
> +// SPDX-License-Identifier: MIT
>   /*
>    * stress test for EROFS filesystem
>    *
> diff --git a/dump/Makefile.am b/dump/Makefile.am
> index c2e0c745a640..2611fd28c762 100644
> --- a/dump/Makefile.am
> +++ b/dump/Makefile.am
> @@ -1,4 +1,4 @@
> -# SPDX-License-Identifier: GPL-2.0+
> +# SPDX-License-Identifier: MIT
>   # Makefile.am
>   
>   AUTOMAKE_OPTIONS = foreign
> diff --git a/dump/main.c b/dump/main.c
> index 78c50d511587..6c7258a5db40 100644
> --- a/dump/main.c
> +++ b/dump/main.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+
> +// SPDX-License-Identifier: MIT
>   /*
>    * Copyright (C) 2021-2022 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/fsck/Makefile.am b/fsck/Makefile.am
> index 488b401c8995..8eebadd7d1e5 100644
> --- a/fsck/Makefile.am
> +++ b/fsck/Makefile.am
> @@ -1,4 +1,4 @@
> -# SPDX-License-Identifier: GPL-2.0+
> +# SPDX-License-Identifier: MIT
>   # Makefile.am
>   
>   AUTOMAKE_OPTIONS = foreign
> diff --git a/fsck/main.c b/fsck/main.c
> index 16a354f460a8..21ada195edab 100644
> --- a/fsck/main.c
> +++ b/fsck/main.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+
> +// SPDX-License-Identifier: MIT
>   /*
>    * Copyright 2021 Google LLC
>    * Author: Daeho Jeong <daehojeong@google.com>
> diff --git a/fuse/Makefile.am b/fuse/Makefile.am
> index 1e8f518bad1d..9fe560849336 100644
> --- a/fuse/Makefile.am
> +++ b/fuse/Makefile.am
> @@ -1,4 +1,4 @@
> -# SPDX-License-Identifier: GPL-2.0+
> +# SPDX-License-Identifier: MIT
>   
>   AUTOMAKE_OPTIONS = foreign
>   noinst_HEADERS = $(top_srcdir)/fuse/macosx.h
> diff --git a/fuse/macosx.h b/fuse/macosx.h
> index 81ac47f551d6..4bb4bb75d5a2 100644
> --- a/fuse/macosx.h
> +++ b/fuse/macosx.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ */
> +/* SPDX-License-Identifier: MIT */
>   #ifdef __APPLE__
>   #undef LIST_HEAD
>   #endif
> diff --git a/fuse/main.c b/fuse/main.c
> index b6347828eacf..40f8684abe43 100644
> --- a/fuse/main.c
> +++ b/fuse/main.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+
> +// SPDX-License-Identifier: MIT
>   /*
>    * Created by Li Guifu <blucerlee@gmail.com>
>    * Lowlevel added by Li Yiyan <lyy0627@sjtu.edu.cn>
> diff --git a/man/Makefile.am b/man/Makefile.am
> index b9b598954725..88bf3a16d995 100644
> --- a/man/Makefile.am
> +++ b/man/Makefile.am
> @@ -1,4 +1,4 @@
> -# SPDX-License-Identifier: GPL-2.0+
> +# SPDX-License-Identifier: MIT
>   
>   dist_man_MANS = mkfs.erofs.1 dump.erofs.1 fsck.erofs.1
>   
> diff --git a/mkfs/Makefile.am b/mkfs/Makefile.am
> index aaefc11dadc3..386455aced67 100644
> --- a/mkfs/Makefile.am
> +++ b/mkfs/Makefile.am
> @@ -1,4 +1,4 @@
> -# SPDX-License-Identifier: GPL-2.0+
> +# SPDX-License-Identifier: MIT
>   
>   AUTOMAKE_OPTIONS = foreign
>   bin_PROGRAMS     = mkfs.erofs
> diff --git a/mkfs/main.c b/mkfs/main.c
> index eb13abaec92b..5006f76fa73b 100644
> --- a/mkfs/main.c
> +++ b/mkfs/main.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+
> +// SPDX-License-Identifier: MIT
>   /*
>    * Copyright (C) 2018-2019 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/mount/Makefile.am b/mount/Makefile.am
> index 7f6efd8b7cf5..637029d4475a 100644
> --- a/mount/Makefile.am
> +++ b/mount/Makefile.am
> @@ -1,4 +1,4 @@
> -# SPDX-License-Identifier: GPL-2.0+
> +# SPDX-License-Identifier: MIT
>   # Makefile.am
>   
>   AUTOMAKE_OPTIONS = foreign
> diff --git a/mount/main.c b/mount/main.c
> index b6a2deca4d85..e09e58533ecc 100644
> --- a/mount/main.c
> +++ b/mount/main.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+
> +// SPDX-License-Identifier: MIT
>   #define _GNU_SOURCE
>   #include <dirent.h>
>   #include <fcntl.h>
> diff --git a/scripts/get-version-number b/scripts/get-version-number
> index d216b7a424e0..484baebf53c6 100755
> --- a/scripts/get-version-number
> +++ b/scripts/get-version-number
> @@ -1,5 +1,5 @@
>   #!/bin/sh
> -# SPDX-License-Identifier: GPL-2.0
> +# SPDX-License-Identifier: MIT
>   
>   scm_version()
>   {


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2] erofs-utils: lib: switch to GPL-2.0+ OR MIT dual license
  2026-04-02  6:09 [PATCH 1/2] erofs-utils: lib: switch to GPL-2.0+ OR MIT dual license Gao Xiang
                   ` (2 preceding siblings ...)
  2026-04-02  6:19 ` zhaoyifan (H)
@ 2026-04-02  6:30 ` Hongbo Li
  2026-04-02  6:32 ` Chunhai Guo
  4 siblings, 0 replies; 10+ messages in thread
From: Hongbo Li @ 2026-04-02  6:30 UTC (permalink / raw)
  To: linux-erofs



On 2026/4/2 14:09, Gao Xiang wrote:
> Apache 2.0 is still too strict for some 3rd-party integration.
> 
> Let's switch to GPL-2.0+ OR MIT dual license since we're absolutely
> not working on secret rocket science, so licenses should not be a
> bottleneck to innovation in the Cloud Native and AI era.
> 
> Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>

Reviewed-by: Hongbo Li <lihongbo22@huawei.com>

Thanks,
Hongbo

> ---
>   COPYING                        |   6 +-
>   LICENSES/Apache-2.0            | 186 ---------------------------------
>   include/erofs/atomic.h         |   2 +-
>   include/erofs/bitops.h         |   2 +-
>   include/erofs/blobchunk.h      |   2 +-
>   include/erofs/block_list.h     |   2 +-
>   include/erofs/compress_hints.h |   2 +-
>   include/erofs/config.h         |   2 +-
>   include/erofs/decompress.h     |   2 +-
>   include/erofs/dedupe.h         |   2 +-
>   include/erofs/defs.h           |   2 +-
>   include/erofs/dir.h            |   2 +-
>   include/erofs/diskbuf.h        |   2 +-
>   include/erofs/err.h            |   2 +-
>   include/erofs/exclude.h        |   2 +-
>   include/erofs/importer.h       |   2 +-
>   include/erofs/inode.h          |   2 +-
>   include/erofs/internal.h       |   2 +-
>   include/erofs/io.h             |   2 +-
>   include/erofs/list.h           |   2 +-
>   include/erofs/lock.h           |   2 +-
>   include/erofs/print.h          |   2 +-
>   include/erofs/tar.h            |   2 +-
>   include/erofs/trace.h          |   2 +-
>   include/erofs/workqueue.h      |   2 +-
>   include/erofs/xattr.h          |   2 +-
>   lib/Makefile.am                |   2 +-
>   lib/backends/fanotify.c        |   2 +-
>   lib/backends/nbd.c             |   2 +-
>   lib/base64.c                   |   2 +-
>   lib/bitops.c                   |   2 +-
>   lib/blobchunk.c                |   2 +-
>   lib/block_list.c               |   2 +-
>   lib/cache.c                    |   2 +-
>   lib/compress.c                 |   2 +-
>   lib/compress_hints.c           |   2 +-
>   lib/compressor.c               |   2 +-
>   lib/compressor.h               |   2 +-
>   lib/compressor_deflate.c       |   2 +-
>   lib/compressor_libdeflate.c    |   2 +-
>   lib/compressor_liblzma.c       |   2 +-
>   lib/compressor_libzstd.c       |   2 +-
>   lib/compressor_lz4.c           |   2 +-
>   lib/compressor_lz4hc.c         |   2 +-
>   lib/config.c                   |   2 +-
>   lib/data.c                     |   2 +-
>   lib/decompress.c               |   2 +-
>   lib/dedupe.c                   |   2 +-
>   lib/dedupe_ext.c               |   2 +-
>   lib/dir.c                      |   2 +-
>   lib/diskbuf.c                  |   2 +-
>   lib/exclude.c                  |   2 +-
>   lib/fragments.c                |   2 +-
>   lib/global.c                   |   2 +-
>   lib/gzran.c                    |   2 +-
>   lib/importer.c                 |   2 +-
>   lib/inode.c                    |   2 +-
>   lib/io.c                       |   2 +-
>   lib/kite_deflate.c             |   2 +-
>   lib/liberofs_cache.h           |   2 +-
>   lib/liberofs_compress.h        |   2 +-
>   lib/liberofs_dockerconfig.h    |   2 +-
>   lib/liberofs_fanotify.h        |   2 +-
>   lib/liberofs_fragments.h       |   2 +-
>   lib/liberofs_gzran.h           |   2 +-
>   lib/liberofs_metabox.h         |   2 +-
>   lib/liberofs_nbd.h             |   2 +-
>   lib/liberofs_oci.h             |   2 +-
>   lib/liberofs_private.h         |   2 +-
>   lib/liberofs_rebuild.h         |   2 +-
>   lib/liberofs_s3.h              |   2 +-
>   lib/liberofs_uuid.h            |   2 +-
>   lib/metabox.c                  |   2 +-
>   lib/namei.c                    |   2 +-
>   lib/rebuild.c                  |   2 +-
>   lib/remotes/docker_config.c    |   2 +-
>   lib/remotes/oci.c              |   2 +-
>   lib/remotes/s3.c               |   2 +-
>   lib/rolling_hash.h             |   2 +-
>   lib/sha256.h                   |   2 +-
>   lib/super.c                    |   2 +-
>   lib/tar.c                      |   2 +-
>   lib/uuid.c                     |   2 +-
>   lib/uuid_unparse.c             |   2 +-
>   lib/vmdk.c                     |   2 +-
>   lib/workqueue.c                |   2 +-
>   lib/xattr.c                    |   2 +-
>   lib/zmap.c                     |   2 +-
>   88 files changed, 89 insertions(+), 275 deletions(-)
>   delete mode 100644 LICENSES/Apache-2.0
> 
> diff --git a/COPYING b/COPYING
> index 8767cae10b22..e781cc21ff15 100644
> --- a/COPYING
> +++ b/COPYING
> @@ -1,7 +1,7 @@
>   erofs-utils uses two different license patterns:
>   
>    - most liberofs files in `lib` and `include` directories
> -   use GPL-2.0+ OR Apache-2.0 dual license;
> +   use GPL-2.0+ OR MIT dual license;
>   
>    - all other files use GPL-2.0+ license, unless
>      explicitly stated otherwise.
> @@ -9,7 +9,7 @@ erofs-utils uses two different license patterns:
>   Relevant licenses can be found in the LICENSES directory.
>   
>   This model is selected to emphasize that
> -files in `lib` and `include` directory are designed to be included into
> -3rd-party applications, while all other files, are intended to be used
> +files in `lib` and `include` directories are designed to be included in
> +3rd-party applications, while all other files are intended to be used
>   "as is", as part of their intended scenarios, with no intention to
>   support 3rd-party integration use cases.
> diff --git a/LICENSES/Apache-2.0 b/LICENSES/Apache-2.0
> deleted file mode 100644
> index f6c1877fae13..000000000000
> --- a/LICENSES/Apache-2.0
> +++ /dev/null
> @@ -1,186 +0,0 @@
> -Valid-License-Identifier: Apache-2.0
> -SPDX-URL: https://spdx.org/licenses/Apache-2.0.html
> -Usage-Guide:
> -  The Apache-2.0 may only be used for dual-licensed files where the other
> -  license is GPL2 compatible. If you end up using this it MUST be used
> -  together with a GPL2 compatible license using "OR".
> -  To use the Apache License version 2.0 put the following SPDX tag/value
> -  pair into a comment according to the placement guidelines in the
> -  licensing rules documentation:
> -    SPDX-License-Identifier: Apache-2.0
> -License-Text:
> -
> -Apache License
> -
> -Version 2.0, January 2004
> -
> -http://www.apache.org/licenses/
> -
> -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
> -
> -1. Definitions.
> -
> -"License" shall mean the terms and conditions for use, reproduction, and
> -distribution as defined by Sections 1 through 9 of this document.
> -
> -"Licensor" shall mean the copyright owner or entity authorized by the
> -copyright owner that is granting the License.
> -
> -"Legal Entity" shall mean the union of the acting entity and all other
> -entities that control, are controlled by, or are under common control with
> -that entity. For the purposes of this definition, "control" means (i) the
> -power, direct or indirect, to cause the direction or management of such
> -entity, whether by contract or otherwise, or (ii) ownership of fifty
> -percent (50%) or more of the outstanding shares, or (iii) beneficial
> -ownership of such entity.
> -
> -"You" (or "Your") shall mean an individual or Legal Entity exercising
> -permissions granted by this License.
> -
> -"Source" form shall mean the preferred form for making modifications,
> -including but not limited to software source code, documentation source,
> -and configuration files.
> -
> -"Object" form shall mean any form resulting from mechanical transformation
> -or translation of a Source form, including but not limited to compiled
> -object code, generated documentation, and conversions to other media types.
> -
> -"Work" shall mean the work of authorship, whether in Source or Object form,
> -made available under the License, as indicated by a copyright notice that
> -is included in or attached to the work (an example is provided in the
> -Appendix below).
> -
> -"Derivative Works" shall mean any work, whether in Source or Object form,
> -that is based on (or derived from) the Work and for which the editorial
> -revisions, annotations, elaborations, or other modifications represent, as
> -a whole, an original work of authorship. For the purposes of this License,
> -Derivative Works shall not include works that remain separable from, or
> -merely link (or bind by name) to the interfaces of, the Work and Derivative
> -Works thereof.
> -
> -"Contribution" shall mean any work of authorship, including the original
> -version of the Work and any modifications or additions to that Work or
> -Derivative Works thereof, that is intentionally submitted to Licensor for
> -inclusion in the Work by the copyright owner or by an individual or Legal
> -Entity authorized to submit on behalf of the copyright owner. For the
> -purposes of this definition, "submitted" means any form of electronic,
> -verbal, or written communication sent to the Licensor or its
> -representatives, including but not limited to communication on electronic
> -mailing lists, source code control systems, and issue tracking systems that
> -are managed by, or on behalf of, the Licensor for the purpose of discussing
> -and improving the Work, but excluding communication that is conspicuously
> -marked or otherwise designated in writing by the copyright owner as "Not a
> -Contribution."
> -
> -"Contributor" shall mean Licensor and any individual or Legal Entity on
> -behalf of whom a Contribution has been received by Licensor and
> -subsequently incorporated within the Work.
> -
> -2. Grant of Copyright License. Subject to the terms and conditions of this
> -   License, each Contributor hereby grants to You a perpetual, worldwide,
> -   non-exclusive, no-charge, royalty-free, irrevocable copyright license to
> -   reproduce, prepare Derivative Works of, publicly display, publicly
> -   perform, sublicense, and distribute the Work and such Derivative Works
> -   in Source or Object form.
> -
> -3. Grant of Patent License. Subject to the terms and conditions of this
> -   License, each Contributor hereby grants to You a perpetual, worldwide,
> -   non-exclusive, no-charge, royalty-free, irrevocable (except as stated in
> -   this section) patent license to make, have made, use, offer to sell,
> -   sell, import, and otherwise transfer the Work, where such license
> -   applies only to those patent claims licensable by such Contributor that
> -   are necessarily infringed by their Contribution(s) alone or by
> -   combination of their Contribution(s) with the Work to which such
> -   Contribution(s) was submitted. If You institute patent litigation
> -   against any entity (including a cross-claim or counterclaim in a
> -   lawsuit) alleging that the Work or a Contribution incorporated within
> -   the Work constitutes direct or contributory patent infringement, then
> -   any patent licenses granted to You under this License for that Work
> -   shall terminate as of the date such litigation is filed.
> -
> -4. Redistribution. You may reproduce and distribute copies of the Work or
> -   Derivative Works thereof in any medium, with or without modifications,
> -   and in Source or Object form, provided that You meet the following
> -   conditions:
> -
> -   a. You must give any other recipients of the Work or Derivative Works a
> -      copy of this License; and
> -
> -   b. You must cause any modified files to carry prominent notices stating
> -      that You changed the files; and
> -
> -   c. You must retain, in the Source form of any Derivative Works that You
> -      distribute, all copyright, patent, trademark, and attribution notices
> -      from the Source form of the Work, excluding those notices that do not
> -      pertain to any part of the Derivative Works; and
> -
> -   d. If the Work includes a "NOTICE" text file as part of its
> -      distribution, then any Derivative Works that You distribute must
> -      include a readable copy of the attribution notices contained within
> -      such NOTICE file, excluding those notices that do not pertain to any
> -      part of the Derivative Works, in at least one of the following
> -      places: within a NOTICE text file distributed as part of the
> -      Derivative Works; within the Source form or documentation, if
> -      provided along with the Derivative Works; or, within a display
> -      generated by the Derivative Works, if and wherever such third-party
> -      notices normally appear. The contents of the NOTICE file are for
> -      informational purposes only and do not modify the License. You may
> -      add Your own attribution notices within Derivative Works that You
> -      distribute, alongside or as an addendum to the NOTICE text from the
> -      Work, provided that such additional attribution notices cannot be
> -      construed as modifying the License.
> -
> -    You may add Your own copyright statement to Your modifications and may
> -    provide additional or different license terms and conditions for use,
> -    reproduction, or distribution of Your modifications, or for any such
> -    Derivative Works as a whole, provided Your use, reproduction, and
> -    distribution of the Work otherwise complies with the conditions stated
> -    in this License.
> -
> -5. Submission of Contributions. Unless You explicitly state otherwise, any
> -   Contribution intentionally submitted for inclusion in the Work by You to
> -   the Licensor shall be under the terms and conditions of this License,
> -   without any additional terms or conditions. Notwithstanding the above,
> -   nothing herein shall supersede or modify the terms of any separate
> -   license agreement you may have executed with Licensor regarding such
> -   Contributions.
> -
> -6. Trademarks. This License does not grant permission to use the trade
> -   names, trademarks, service marks, or product names of the Licensor,
> -   except as required for reasonable and customary use in describing the
> -   origin of the Work and reproducing the content of the NOTICE file.
> -
> -7. Disclaimer of Warranty. Unless required by applicable law or agreed to
> -   in writing, Licensor provides the Work (and each Contributor provides
> -   its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
> -   OF ANY KIND, either express or implied, including, without limitation,
> -   any warranties or conditions of TITLE, NON-INFRINGEMENT,
> -   MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely
> -   responsible for determining the appropriateness of using or
> -   redistributing the Work and assume any risks associated with Your
> -   exercise of permissions under this License.
> -
> -8. Limitation of Liability. In no event and under no legal theory, whether
> -   in tort (including negligence), contract, or otherwise, unless required
> -   by applicable law (such as deliberate and grossly negligent acts) or
> -   agreed to in writing, shall any Contributor be liable to You for
> -   damages, including any direct, indirect, special, incidental, or
> -   consequential damages of any character arising as a result of this
> -   License or out of the use or inability to use the Work (including but
> -   not limited to damages for loss of goodwill, work stoppage, computer
> -   failure or malfunction, or any and all other commercial damages or
> -   losses), even if such Contributor has been advised of the possibility of
> -   such damages.
> -
> -9. Accepting Warranty or Additional Liability. While redistributing the
> -   Work or Derivative Works thereof, You may choose to offer, and charge a
> -   fee for, acceptance of support, warranty, indemnity, or other liability
> -   obligations and/or rights consistent with this License. However, in
> -   accepting such obligations, You may act only on Your own behalf and on
> -   Your sole responsibility, not on behalf of any other Contributor, and
> -   only if You agree to indemnify, defend, and hold each Contributor
> -   harmless for any liability incurred by, or claims asserted against, such
> -   Contributor by reason of your accepting any such warranty or additional
> -   liability.
> -
> -END OF TERMS AND CONDITIONS
> diff --git a/include/erofs/atomic.h b/include/erofs/atomic.h
> index 142590bd6c79..3aa19f6ae369 100644
> --- a/include/erofs/atomic.h
> +++ b/include/erofs/atomic.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2024 Alibaba Cloud
>    */
> diff --git a/include/erofs/bitops.h b/include/erofs/bitops.h
> index 058642f5b190..f407cc95292e 100644
> --- a/include/erofs/bitops.h
> +++ b/include/erofs/bitops.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   #ifndef __EROFS_BITOPS_H
>   #define __EROFS_BITOPS_H
>   
> diff --git a/include/erofs/blobchunk.h b/include/erofs/blobchunk.h
> index 48fca63c6c15..1761fdd82432 100644
> --- a/include/erofs/blobchunk.h
> +++ b/include/erofs/blobchunk.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * erofs-utils/lib/blobchunk.h
>    *
> diff --git a/include/erofs/block_list.h b/include/erofs/block_list.h
> index 9d06c9c47d2e..156a5a433ded 100644
> --- a/include/erofs/block_list.h
> +++ b/include/erofs/block_list.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C), 2021, Coolpad Group Limited.
>    * Created by Yue Hu <huyue2@yulong.com>
> diff --git a/include/erofs/compress_hints.h b/include/erofs/compress_hints.h
> index 6ccc03d213ea..3ab7bb4b67f1 100644
> --- a/include/erofs/compress_hints.h
> +++ b/include/erofs/compress_hints.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C), 2008-2021, OPPO Mobile Comm Corp., Ltd.
>    * Created by Huang Jianan <huangjianan@oppo.com>
> diff --git a/include/erofs/config.h b/include/erofs/config.h
> index bb303c48a0db..95d7e9f16065 100644
> --- a/include/erofs/config.h
> +++ b/include/erofs/config.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2018-2019 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/include/erofs/decompress.h b/include/erofs/decompress.h
> index 0d5548327b02..edc017c2b8e4 100644
> --- a/include/erofs/decompress.h
> +++ b/include/erofs/decompress.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C), 2008-2020, OPPO Mobile Comm Corp., Ltd.
>    * Created by Huang Jianan <huangjianan@oppo.com>
> diff --git a/include/erofs/dedupe.h b/include/erofs/dedupe.h
> index f9caa6113d15..267d9b9f12c8 100644
> --- a/include/erofs/dedupe.h
> +++ b/include/erofs/dedupe.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2022 Alibaba Cloud
>    */
> diff --git a/include/erofs/defs.h b/include/erofs/defs.h
> index 71ca11b54ef8..ff87df9d3d51 100644
> --- a/include/erofs/defs.h
> +++ b/include/erofs/defs.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2018 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/include/erofs/dir.h b/include/erofs/dir.h
> index 5460ac48512f..4e0614dfbbce 100644
> --- a/include/erofs/dir.h
> +++ b/include/erofs/dir.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   #ifndef __EROFS_DIR_H
>   #define __EROFS_DIR_H
>   
> diff --git a/include/erofs/diskbuf.h b/include/erofs/diskbuf.h
> index 29d9fe2cf52e..122890b2f919 100644
> --- a/include/erofs/diskbuf.h
> +++ b/include/erofs/diskbuf.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   #ifndef __EROFS_DISKBUF_H
>   #define __EROFS_DISKBUF_H
>   
> diff --git a/include/erofs/err.h b/include/erofs/err.h
> index 59c8c9cc9ae3..7dacc917a4c1 100644
> --- a/include/erofs/err.h
> +++ b/include/erofs/err.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2018 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/include/erofs/exclude.h b/include/erofs/exclude.h
> index 3f17032b48db..0af39a0a5b05 100644
> --- a/include/erofs/exclude.h
> +++ b/include/erofs/exclude.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Created by Li Guifu <bluce.lee@aliyun.com>
>    */
> diff --git a/include/erofs/importer.h b/include/erofs/importer.h
> index 920488453c34..07e40b47954d 100644
> --- a/include/erofs/importer.h
> +++ b/include/erofs/importer.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2025 Alibaba Cloud
>    */
> diff --git a/include/erofs/inode.h b/include/erofs/inode.h
> index ba62ece9a7cc..bf089e83590b 100644
> --- a/include/erofs/inode.h
> +++ b/include/erofs/inode.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2018-2019 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/include/erofs/internal.h b/include/erofs/internal.h
> index 671880f2db3c..c780228c7bfe 100644
> --- a/include/erofs/internal.h
> +++ b/include/erofs/internal.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2019 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/include/erofs/io.h b/include/erofs/io.h
> index 9533efc2d20a..96309fde9646 100644
> --- a/include/erofs/io.h
> +++ b/include/erofs/io.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2018-2019 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/include/erofs/list.h b/include/erofs/list.h
> index a7e30ccc4258..e9208887ee80 100644
> --- a/include/erofs/list.h
> +++ b/include/erofs/list.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2018 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/include/erofs/lock.h b/include/erofs/lock.h
> index c6e30937aac4..884f23ea739e 100644
> --- a/include/erofs/lock.h
> +++ b/include/erofs/lock.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   #ifndef __EROFS_LOCK_H
>   #define __EROFS_LOCK_H
>   
> diff --git a/include/erofs/print.h b/include/erofs/print.h
> index a896d75117de..fa979a3a2d46 100644
> --- a/include/erofs/print.h
> +++ b/include/erofs/print.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2018-2019 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/include/erofs/tar.h b/include/erofs/tar.h
> index cdaef315442d..a8166336d220 100644
> --- a/include/erofs/tar.h
> +++ b/include/erofs/tar.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   #ifndef __EROFS_TAR_H
>   #define __EROFS_TAR_H
>   
> diff --git a/include/erofs/trace.h b/include/erofs/trace.h
> index 398e3318355d..fe6734073580 100644
> --- a/include/erofs/trace.h
> +++ b/include/erofs/trace.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2020 Gao Xiang <hsiangkao@aol.com>
>    */
> diff --git a/include/erofs/workqueue.h b/include/erofs/workqueue.h
> index 36037c381c4a..064246c2bfe4 100644
> --- a/include/erofs/workqueue.h
> +++ b/include/erofs/workqueue.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   #ifndef __EROFS_WORKQUEUE_H
>   #define __EROFS_WORKQUEUE_H
>   
> diff --git a/include/erofs/xattr.h b/include/erofs/xattr.h
> index 96546364f316..235688649592 100644
> --- a/include/erofs/xattr.h
> +++ b/include/erofs/xattr.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   #ifndef __EROFS_XATTR_H
>   #define __EROFS_XATTR_H
>   
> diff --git a/lib/Makefile.am b/lib/Makefile.am
> index 5f8812f48c93..27bf71094bad 100644
> --- a/lib/Makefile.am
> +++ b/lib/Makefile.am
> @@ -1,4 +1,4 @@
> -# SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +# SPDX-License-Identifier: GPL-2.0+ OR MIT
>   
>   noinst_LTLIBRARIES = liberofs.la
>   noinst_HEADERS = $(top_srcdir)/include/erofs_fs.h \
> diff --git a/lib/backends/fanotify.c b/lib/backends/fanotify.c
> index bbe131ac11c2..cf8b61667705 100644
> --- a/lib/backends/fanotify.c
> +++ b/lib/backends/fanotify.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   #define _GNU_SOURCE
>   #include <errno.h>
>   #include <fcntl.h>
> diff --git a/lib/backends/nbd.c b/lib/backends/nbd.c
> index da2733477f8e..c488053d99d3 100644
> --- a/lib/backends/nbd.c
> +++ b/lib/backends/nbd.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2025 Alibaba Cloud
>    */
> diff --git a/lib/base64.c b/lib/base64.c
> index a45f7b6f2a1a..623d83cb9f2f 100644
> --- a/lib/base64.c
> +++ b/lib/base64.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   #include "liberofs_base64.h"
>   #include <string.h>
>   
> diff --git a/lib/bitops.c b/lib/bitops.c
> index bb0c9eeb917a..da012b233ac2 100644
> --- a/lib/bitops.c
> +++ b/lib/bitops.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * erofs-utils/lib/bitops.c
>    *
> diff --git a/lib/blobchunk.c b/lib/blobchunk.c
> index 96c161b27091..e39bf6800059 100644
> --- a/lib/blobchunk.c
> +++ b/lib/blobchunk.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * erofs-utils/lib/blobchunk.c
>    *
> diff --git a/lib/block_list.c b/lib/block_list.c
> index f8dc9138bd92..e6b28424ad36 100644
> --- a/lib/block_list.c
> +++ b/lib/block_list.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C), 2021, Coolpad Group Limited.
>    * Created by Yue Hu <huyue2@yulong.com>
> diff --git a/lib/cache.c b/lib/cache.c
> index 4c7c3863275b..f964e4737767 100644
> --- a/lib/cache.c
> +++ b/lib/cache.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2018-2019 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/lib/compress.c b/lib/compress.c
> index 4a0d890ae87d..62d2672cb665 100644
> --- a/lib/compress.c
> +++ b/lib/compress.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2018-2019 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/lib/compress_hints.c b/lib/compress_hints.c
> index 322ec97f474a..a4ff0038ebb5 100644
> --- a/lib/compress_hints.c
> +++ b/lib/compress_hints.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C), 2008-2021, OPPO Mobile Comm Corp., Ltd.
>    * Created by Huang Jianan <huangjianan@oppo.com>
> diff --git a/lib/compressor.c b/lib/compressor.c
> index cf55abcf5359..7593b336ffc8 100644
> --- a/lib/compressor.c
> +++ b/lib/compressor.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2018-2019 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/lib/compressor.h b/lib/compressor.h
> index 86b45a759874..7b7ef37f8218 100644
> --- a/lib/compressor.h
> +++ b/lib/compressor.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2018-2019 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/lib/compressor_deflate.c b/lib/compressor_deflate.c
> index f567d2c731af..9521aec6914d 100644
> --- a/lib/compressor_deflate.c
> +++ b/lib/compressor_deflate.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2023, Alibaba Cloud
>    * Copyright (C) 2023, Gao Xiang <xiang@kernel.org>
> diff --git a/lib/compressor_libdeflate.c b/lib/compressor_libdeflate.c
> index 18f5f7b4048c..da39e354974c 100644
> --- a/lib/compressor_libdeflate.c
> +++ b/lib/compressor_libdeflate.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   #include "erofs/internal.h"
>   #include "erofs/print.h"
>   #include "erofs/config.h"
> diff --git a/lib/compressor_liblzma.c b/lib/compressor_liblzma.c
> index 49a90a23525a..ac5d02ea00a2 100644
> --- a/lib/compressor_liblzma.c
> +++ b/lib/compressor_liblzma.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2021 Gao Xiang <xiang@kernel.org>
>    */
> diff --git a/lib/compressor_libzstd.c b/lib/compressor_libzstd.c
> index 6330f445ffa6..06f16c272e80 100644
> --- a/lib/compressor_libzstd.c
> +++ b/lib/compressor_libzstd.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   #include "erofs/internal.h"
>   #include "erofs/print.h"
>   #include "erofs/config.h"
> diff --git a/lib/compressor_lz4.c b/lib/compressor_lz4.c
> index f3d88b09fa4a..5f3530a7e6f0 100644
> --- a/lib/compressor_lz4.c
> +++ b/lib/compressor_lz4.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2018-2019 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/lib/compressor_lz4hc.c b/lib/compressor_lz4hc.c
> index 9955c0d717ac..073e33073a3d 100644
> --- a/lib/compressor_lz4hc.c
> +++ b/lib/compressor_lz4hc.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2018-2019 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/lib/config.c b/lib/config.c
> index ab7eb01e1914..b7dbced071f7 100644
> --- a/lib/config.c
> +++ b/lib/config.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2018-2019 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/lib/data.c b/lib/data.c
> index 6fd1389cc09f..1bb9269cb836 100644
> --- a/lib/data.c
> +++ b/lib/data.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2020 Gao Xiang <hsiangkao@aol.com>
>    * Compression support by Huang Jianan <huangjianan@oppo.com>
> diff --git a/lib/decompress.c b/lib/decompress.c
> index e66693c5883e..d23135e0cd43 100644
> --- a/lib/decompress.c
> +++ b/lib/decompress.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C), 2008-2020, OPPO Mobile Comm Corp., Ltd.
>    * Created by Huang Jianan <huangjianan@oppo.com>
> diff --git a/lib/dedupe.c b/lib/dedupe.c
> index bdd890cc2e82..91ea31cc3ec4 100644
> --- a/lib/dedupe.c
> +++ b/lib/dedupe.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2022 Alibaba Cloud
>    */
> diff --git a/lib/dedupe_ext.c b/lib/dedupe_ext.c
> index d7a9b737e428..ae00bbe5e03d 100644
> --- a/lib/dedupe_ext.c
> +++ b/lib/dedupe_ext.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   #include "erofs/dedupe.h"
>   #include "liberofs_xxhash.h"
>   #include <stdlib.h>
> diff --git a/lib/dir.c b/lib/dir.c
> index 98edb8e1695c..bf611d9b9678 100644
> --- a/lib/dir.c
> +++ b/lib/dir.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   #include <stdlib.h>
>   #include <sys/stat.h>
>   #include "erofs/print.h"
> diff --git a/lib/diskbuf.c b/lib/diskbuf.c
> index 0bf42da6a8af..b32a39adf67a 100644
> --- a/lib/diskbuf.c
> +++ b/lib/diskbuf.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   #include "erofs/diskbuf.h"
>   #include "erofs/internal.h"
>   #include "erofs/print.h"
> diff --git a/lib/exclude.c b/lib/exclude.c
> index 5f6107b24a60..6beb46bc2def 100644
> --- a/lib/exclude.c
> +++ b/lib/exclude.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Created by Li Guifu <bluce.lee@aliyun.com>
>    */
> diff --git a/lib/fragments.c b/lib/fragments.c
> index 0f07e33b3679..13afce3be537 100644
> --- a/lib/fragments.c
> +++ b/lib/fragments.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C), 2022, Coolpad Group Limited.
>    * Created by Yue Hu <huyue2@coolpad.com>
> diff --git a/lib/global.c b/lib/global.c
> index c3d8aec875e9..938aa0a79422 100644
> --- a/lib/global.c
> +++ b/lib/global.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2025 Alibaba Cloud
>    */
> diff --git a/lib/gzran.c b/lib/gzran.c
> index b861c581e408..3973c1f37a75 100644
> --- a/lib/gzran.c
> +++ b/lib/gzran.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2025 Alibaba Cloud
>    */
> diff --git a/lib/importer.c b/lib/importer.c
> index 26c86a0b0098..c404b0f7fadb 100644
> --- a/lib/importer.c
> +++ b/lib/importer.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2025 Alibaba Cloud
>    */
> diff --git a/lib/inode.c b/lib/inode.c
> index 2cfc6c58bda8..c932981a47b7 100644
> --- a/lib/inode.c
> +++ b/lib/inode.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2018-2019 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/lib/io.c b/lib/io.c
> index 0c5eb2c29989..3ba45ccf8cbd 100644
> --- a/lib/io.c
> +++ b/lib/io.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2018 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/lib/kite_deflate.c b/lib/kite_deflate.c
> index 29e44b3b4a92..c1d3c6db7f48 100644
> --- a/lib/kite_deflate.c
> +++ b/lib/kite_deflate.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * erofs-utils/lib/kite_deflate.c
>    *
> diff --git a/lib/liberofs_cache.h b/lib/liberofs_cache.h
> index baac609fb49f..ddaca5497390 100644
> --- a/lib/liberofs_cache.h
> +++ b/lib/liberofs_cache.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2018 HUAWEI, Inc.
>    *             http://www.huawei.com
> diff --git a/lib/liberofs_compress.h b/lib/liberofs_compress.h
> index 4b9dd42f1318..da6eb1a00d9d 100644
> --- a/lib/liberofs_compress.h
> +++ b/lib/liberofs_compress.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2019 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/lib/liberofs_dockerconfig.h b/lib/liberofs_dockerconfig.h
> index 1580e1c329e5..6752926a8f58 100644
> --- a/lib/liberofs_dockerconfig.h
> +++ b/lib/liberofs_dockerconfig.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2026 Tencent, Inc.
>    *             http://www.tencent.com/
> diff --git a/lib/liberofs_fanotify.h b/lib/liberofs_fanotify.h
> index 965090ff2f22..6ecc0e26bcbc 100644
> --- a/lib/liberofs_fanotify.h
> +++ b/lib/liberofs_fanotify.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   #ifndef __EROFS_LIB_LIBEROFS_FANOTIFY_H
>   #define __EROFS_LIB_LIBEROFS_FANOTIFY_H
>   
> diff --git a/lib/liberofs_fragments.h b/lib/liberofs_fragments.h
> index 11833ebc938d..cf549367bc5d 100644
> --- a/lib/liberofs_fragments.h
> +++ b/lib/liberofs_fragments.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2022, Coolpad Group Limited.
>    * Copyright (C) 2025 Alibaba Cloud
> diff --git a/lib/liberofs_gzran.h b/lib/liberofs_gzran.h
> index 443fe1558ac5..fa86cc3a7839 100644
> --- a/lib/liberofs_gzran.h
> +++ b/lib/liberofs_gzran.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2025 Alibaba Cloud
>    */
> diff --git a/lib/liberofs_metabox.h b/lib/liberofs_metabox.h
> index bf4051cf18e2..f966c205d9a2 100644
> --- a/lib/liberofs_metabox.h
> +++ b/lib/liberofs_metabox.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   #ifndef __EROFS_LIB_LIBEROFS_METABOX_H
>   #define __EROFS_LIB_LIBEROFS_METABOX_H
>   
> diff --git a/lib/liberofs_nbd.h b/lib/liberofs_nbd.h
> index 78c8af511bec..ec7adbf728d2 100644
> --- a/lib/liberofs_nbd.h
> +++ b/lib/liberofs_nbd.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2025 Alibaba Cloud
>    */
> diff --git a/lib/liberofs_oci.h b/lib/liberofs_oci.h
> index 3b3d66dd449d..8eec3f720cd1 100644
> --- a/lib/liberofs_oci.h
> +++ b/lib/liberofs_oci.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2025 Tencent, Inc.
>    *             http://www.tencent.com/
> diff --git a/lib/liberofs_private.h b/lib/liberofs_private.h
> index ebd9e7034860..64bcae83d84c 100644
> --- a/lib/liberofs_private.h
> +++ b/lib/liberofs_private.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0-only OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   
>   #ifdef HAVE_LIBSELINUX
>   #include <selinux/selinux.h>
> diff --git a/lib/liberofs_rebuild.h b/lib/liberofs_rebuild.h
> index 69802fb9542c..6459dbd42a64 100644
> --- a/lib/liberofs_rebuild.h
> +++ b/lib/liberofs_rebuild.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   #ifndef __EROFS_LIB_LIBEROFS_REBUILD_H
>   #define __EROFS_LIB_LIBEROFS_REBUILD_H
>   
> diff --git a/lib/liberofs_s3.h b/lib/liberofs_s3.h
> index f4886cd4ecf8..c81834785c5f 100644
> --- a/lib/liberofs_s3.h
> +++ b/lib/liberofs_s3.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2025 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/lib/liberofs_uuid.h b/lib/liberofs_uuid.h
> index 63b358a854d4..e8bb1be94fde 100644
> --- a/lib/liberofs_uuid.h
> +++ b/lib/liberofs_uuid.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   #ifndef __EROFS_LIB_UUID_H
>   #define __EROFS_LIB_UUID_H
>   
> diff --git a/lib/metabox.c b/lib/metabox.c
> index 12706aafdb36..d5ce9e3243b8 100644
> --- a/lib/metabox.c
> +++ b/lib/metabox.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   #include <stdlib.h>
>   #include "erofs/inode.h"
>   #include "erofs/importer.h"
> diff --git a/lib/namei.c b/lib/namei.c
> index 896e348bc3ee..f19e4b13d69a 100644
> --- a/lib/namei.c
> +++ b/lib/namei.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Created by Li Guifu <blucerlee@gmail.com>
>    */
> diff --git a/lib/rebuild.c b/lib/rebuild.c
> index f89a17c44193..7ab2b499923c 100644
> --- a/lib/rebuild.c
> +++ b/lib/rebuild.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   #define _GNU_SOURCE
>   #include <unistd.h>
>   #include <stdlib.h>
> diff --git a/lib/remotes/docker_config.c b/lib/remotes/docker_config.c
> index 00db1bb6dc1d..8e236fca1e33 100644
> --- a/lib/remotes/docker_config.c
> +++ b/lib/remotes/docker_config.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2026 Tencent, Inc.
>    *             http://www.tencent.com/
> diff --git a/lib/remotes/oci.c b/lib/remotes/oci.c
> index f96be13387a7..80a1e38b1531 100644
> --- a/lib/remotes/oci.c
> +++ b/lib/remotes/oci.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2025 Tencent, Inc.
>    *             http://www.tencent.com/
> diff --git a/lib/remotes/s3.c b/lib/remotes/s3.c
> index 768232ad0b66..1385e16018cd 100644
> --- a/lib/remotes/s3.c
> +++ b/lib/remotes/s3.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2025 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/lib/rolling_hash.h b/lib/rolling_hash.h
> index 448db34edc1b..cfabfca87109 100644
> --- a/lib/rolling_hash.h
> +++ b/lib/rolling_hash.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   /*
>    * Copyright (C) 2022 Alibaba Cloud
>    */
> diff --git a/lib/sha256.h b/lib/sha256.h
> index 851b80c722d3..6bcf03c26805 100644
> --- a/lib/sha256.h
> +++ b/lib/sha256.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
>   #ifndef __EROFS_LIB_SHA256_H
>   #define __EROFS_LIB_SHA256_H
>   
> diff --git a/lib/super.c b/lib/super.c
> index 088c9a01fc2f..6ad27c054333 100644
> --- a/lib/super.c
> +++ b/lib/super.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Created by Li Guifu <blucerlee@gmail.com>
>    */
> diff --git a/lib/tar.c b/lib/tar.c
> index 599e41342255..87a6a619dd76 100644
> --- a/lib/tar.c
> +++ b/lib/tar.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   #include <unistd.h>
>   #include <stdlib.h>
>   #include <string.h>
> diff --git a/lib/uuid.c b/lib/uuid.c
> index 1fae857f2c8d..3b1bd38e63a9 100644
> --- a/lib/uuid.c
> +++ b/lib/uuid.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2023 Norbert Lange <nolange79@gmail.com>
>    */
> diff --git a/lib/uuid_unparse.c b/lib/uuid_unparse.c
> index 3255c4bdd7a5..890acda8ce96 100644
> --- a/lib/uuid_unparse.c
> +++ b/lib/uuid_unparse.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2023 Norbert Lange <nolange79@gmail.com>
>    */
> diff --git a/lib/vmdk.c b/lib/vmdk.c
> index 8080c515bf75..316a8ffc94b2 100644
> --- a/lib/vmdk.c
> +++ b/lib/vmdk.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   #include "erofs/internal.h"
>   
>   static int erofs_vmdk_desc_add_extent(FILE *f, u64 sectors,
> diff --git a/lib/workqueue.c b/lib/workqueue.c
> index 1f3fa7ca34ed..8c78d7920fe9 100644
> --- a/lib/workqueue.c
> +++ b/lib/workqueue.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   #include <pthread.h>
>   #include <stdlib.h>
>   #include "erofs/print.h"
> diff --git a/lib/xattr.c b/lib/xattr.c
> index 565070a698dc..b11cd3b681ae 100644
> --- a/lib/xattr.c
> +++ b/lib/xattr.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * Copyright (C) 2019 Li Guifu <blucerlee@gmail.com>
>    *                    Gao Xiang <xiang@kernel.org>
> diff --git a/lib/zmap.c b/lib/zmap.c
> index 4a6507726ba8..5b44b60ed586 100644
> --- a/lib/zmap.c
> +++ b/lib/zmap.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
>   /*
>    * (a large amount of code was adapted from Linux kernel. )
>    *


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2] erofs-utils: lib: switch to GPL-2.0+ OR MIT dual license
  2026-04-02  6:09 [PATCH 1/2] erofs-utils: lib: switch to GPL-2.0+ OR MIT dual license Gao Xiang
                   ` (3 preceding siblings ...)
  2026-04-02  6:30 ` Hongbo Li
@ 2026-04-02  6:32 ` Chunhai Guo
  4 siblings, 0 replies; 10+ messages in thread
From: Chunhai Guo @ 2026-04-02  6:32 UTC (permalink / raw)
  To: Gao Xiang, linux-erofs@lists.ozlabs.org

On 4/2/2026 2:09 PM, Gao Xiang wrote:
> Apache 2.0 is still too strict for some 3rd-party integration.
>
> Let's switch to GPL-2.0+ OR MIT dual license since we're absolutely
> not working on secret rocket science, so licenses should not be a
> bottleneck to innovation in the Cloud Native and AI era.
>
> Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
>

Reviewed-by: Chunhai Guo <guochunhai@vivo.com>


Thanks,


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] erofs-utils: switch other source files into MIT license
  2026-04-02  6:09 ` [PATCH 2/2] erofs-utils: switch other source files into MIT license Gao Xiang
  2026-04-02  6:18   ` hudsonZhu
  2026-04-02  6:19   ` zhaoyifan (H)
@ 2026-04-02  6:32   ` Chunhai Guo
  2026-04-02  6:34   ` Hongbo Li
  3 siblings, 0 replies; 10+ messages in thread
From: Chunhai Guo @ 2026-04-02  6:32 UTC (permalink / raw)
  To: Gao Xiang, linux-erofs@lists.ozlabs.org

On 4/2/2026 2:09 PM, Gao Xiang wrote:
> Let's switch other source files to MIT license since we're absolutely
> NOT working on secret rocket science, so licenses should not be
> a bottleneck to innovation in the Cloud Native and AI era.
>
> Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>

Reviewed-by: Chunhai Guo <guochunhai@vivo.com>


Thanks,


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] erofs-utils: switch other source files into MIT license
  2026-04-02  6:09 ` [PATCH 2/2] erofs-utils: switch other source files into MIT license Gao Xiang
                     ` (2 preceding siblings ...)
  2026-04-02  6:32   ` Chunhai Guo
@ 2026-04-02  6:34   ` Hongbo Li
  3 siblings, 0 replies; 10+ messages in thread
From: Hongbo Li @ 2026-04-02  6:34 UTC (permalink / raw)
  To: linux-erofs



On 2026/4/2 14:09, Gao Xiang wrote:
> Let's switch other source files to MIT license since we're absolutely
> NOT working on secret rocket science, so licenses should not be
> a bottleneck to innovation in the Cloud Native and AI era.
> 
> Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>

Reviewed-by: Hongbo Li <lihongbo22@huawei.com>

Thanks,
Hongbo

> ---
>   COPYING                    | 14 +++++++-------
>   Makefile.am                |  2 +-
>   autogen.sh                 |  2 +-
>   contrib/Makefile.am        |  2 +-
>   contrib/stress.c           |  2 +-
>   dump/Makefile.am           |  2 +-
>   dump/main.c                |  2 +-
>   fsck/Makefile.am           |  2 +-
>   fsck/main.c                |  2 +-
>   fuse/Makefile.am           |  2 +-
>   fuse/macosx.h              |  2 +-
>   fuse/main.c                |  2 +-
>   man/Makefile.am            |  2 +-
>   mkfs/Makefile.am           |  2 +-
>   mkfs/main.c                |  2 +-
>   mount/Makefile.am          |  2 +-
>   mount/main.c               |  2 +-
>   scripts/get-version-number |  2 +-
>   18 files changed, 24 insertions(+), 24 deletions(-)
> 
> diff --git a/COPYING b/COPYING
> index e781cc21ff15..81aee791f173 100644
> --- a/COPYING
> +++ b/COPYING
> @@ -3,13 +3,13 @@ erofs-utils uses two different license patterns:
>    - most liberofs files in `lib` and `include` directories
>      use GPL-2.0+ OR MIT dual license;
>   
> - - all other files use GPL-2.0+ license, unless
> -   explicitly stated otherwise.
> + - all other files use MIT license, unless explicitly stated
> +   otherwise.
>   
>   Relevant licenses can be found in the LICENSES directory.
>   
> -This model is selected to emphasize that
> -files in `lib` and `include` directories are designed to be included in
> -3rd-party applications, while all other files are intended to be used
> -"as is", as part of their intended scenarios, with no intention to
> -support 3rd-party integration use cases.
> +This model is selected to emphasize that erofs-utils can be integrated
> +into various ecosystems as much as possible.
> +
> +However, liberofs should be GPL-2.0+ OR MIT dual license since some
> +parts can be shared with the Linux kernel.
> diff --git a/Makefile.am b/Makefile.am
> index 7cb93a697627..e79222e965a9 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -1,4 +1,4 @@
> -# SPDX-License-Identifier: GPL-2.0+
> +# SPDX-License-Identifier: MIT
>   
>   ACLOCAL_AMFLAGS = -I m4
>   
> diff --git a/autogen.sh b/autogen.sh
> index fd81db4d6fb3..89c510c35cab 100755
> --- a/autogen.sh
> +++ b/autogen.sh
> @@ -1,5 +1,5 @@
>   #!/bin/sh
> -# SPDX-License-Identifier: GPL-2.0+
> +# SPDX-License-Identifier: MIT
>   
>   aclocal && \
>   autoheader && \
> diff --git a/contrib/Makefile.am b/contrib/Makefile.am
> index 4eb7abed8856..5bedb9441b2e 100644
> --- a/contrib/Makefile.am
> +++ b/contrib/Makefile.am
> @@ -1,4 +1,4 @@
> -# SPDX-License-Identifier: GPL-2.0+
> +# SPDX-License-Identifier: MIT
>   # Makefile.am
>   
>   AUTOMAKE_OPTIONS	= foreign
> diff --git a/contrib/stress.c b/contrib/stress.c
> index 0ef8c67c126b..65773bce9e27 100644
> --- a/contrib/stress.c
> +++ b/contrib/stress.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+
> +// SPDX-License-Identifier: MIT
>   /*
>    * stress test for EROFS filesystem
>    *
> diff --git a/dump/Makefile.am b/dump/Makefile.am
> index c2e0c745a640..2611fd28c762 100644
> --- a/dump/Makefile.am
> +++ b/dump/Makefile.am
> @@ -1,4 +1,4 @@
> -# SPDX-License-Identifier: GPL-2.0+
> +# SPDX-License-Identifier: MIT
>   # Makefile.am
>   
>   AUTOMAKE_OPTIONS = foreign
> diff --git a/dump/main.c b/dump/main.c
> index 78c50d511587..6c7258a5db40 100644
> --- a/dump/main.c
> +++ b/dump/main.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+
> +// SPDX-License-Identifier: MIT
>   /*
>    * Copyright (C) 2021-2022 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/fsck/Makefile.am b/fsck/Makefile.am
> index 488b401c8995..8eebadd7d1e5 100644
> --- a/fsck/Makefile.am
> +++ b/fsck/Makefile.am
> @@ -1,4 +1,4 @@
> -# SPDX-License-Identifier: GPL-2.0+
> +# SPDX-License-Identifier: MIT
>   # Makefile.am
>   
>   AUTOMAKE_OPTIONS = foreign
> diff --git a/fsck/main.c b/fsck/main.c
> index 16a354f460a8..21ada195edab 100644
> --- a/fsck/main.c
> +++ b/fsck/main.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+
> +// SPDX-License-Identifier: MIT
>   /*
>    * Copyright 2021 Google LLC
>    * Author: Daeho Jeong <daehojeong@google.com>
> diff --git a/fuse/Makefile.am b/fuse/Makefile.am
> index 1e8f518bad1d..9fe560849336 100644
> --- a/fuse/Makefile.am
> +++ b/fuse/Makefile.am
> @@ -1,4 +1,4 @@
> -# SPDX-License-Identifier: GPL-2.0+
> +# SPDX-License-Identifier: MIT
>   
>   AUTOMAKE_OPTIONS = foreign
>   noinst_HEADERS = $(top_srcdir)/fuse/macosx.h
> diff --git a/fuse/macosx.h b/fuse/macosx.h
> index 81ac47f551d6..4bb4bb75d5a2 100644
> --- a/fuse/macosx.h
> +++ b/fuse/macosx.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ */
> +/* SPDX-License-Identifier: MIT */
>   #ifdef __APPLE__
>   #undef LIST_HEAD
>   #endif
> diff --git a/fuse/main.c b/fuse/main.c
> index b6347828eacf..40f8684abe43 100644
> --- a/fuse/main.c
> +++ b/fuse/main.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+
> +// SPDX-License-Identifier: MIT
>   /*
>    * Created by Li Guifu <blucerlee@gmail.com>
>    * Lowlevel added by Li Yiyan <lyy0627@sjtu.edu.cn>
> diff --git a/man/Makefile.am b/man/Makefile.am
> index b9b598954725..88bf3a16d995 100644
> --- a/man/Makefile.am
> +++ b/man/Makefile.am
> @@ -1,4 +1,4 @@
> -# SPDX-License-Identifier: GPL-2.0+
> +# SPDX-License-Identifier: MIT
>   
>   dist_man_MANS = mkfs.erofs.1 dump.erofs.1 fsck.erofs.1
>   
> diff --git a/mkfs/Makefile.am b/mkfs/Makefile.am
> index aaefc11dadc3..386455aced67 100644
> --- a/mkfs/Makefile.am
> +++ b/mkfs/Makefile.am
> @@ -1,4 +1,4 @@
> -# SPDX-License-Identifier: GPL-2.0+
> +# SPDX-License-Identifier: MIT
>   
>   AUTOMAKE_OPTIONS = foreign
>   bin_PROGRAMS     = mkfs.erofs
> diff --git a/mkfs/main.c b/mkfs/main.c
> index eb13abaec92b..5006f76fa73b 100644
> --- a/mkfs/main.c
> +++ b/mkfs/main.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+
> +// SPDX-License-Identifier: MIT
>   /*
>    * Copyright (C) 2018-2019 HUAWEI, Inc.
>    *             http://www.huawei.com/
> diff --git a/mount/Makefile.am b/mount/Makefile.am
> index 7f6efd8b7cf5..637029d4475a 100644
> --- a/mount/Makefile.am
> +++ b/mount/Makefile.am
> @@ -1,4 +1,4 @@
> -# SPDX-License-Identifier: GPL-2.0+
> +# SPDX-License-Identifier: MIT
>   # Makefile.am
>   
>   AUTOMAKE_OPTIONS = foreign
> diff --git a/mount/main.c b/mount/main.c
> index b6a2deca4d85..e09e58533ecc 100644
> --- a/mount/main.c
> +++ b/mount/main.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+
> +// SPDX-License-Identifier: MIT
>   #define _GNU_SOURCE
>   #include <dirent.h>
>   #include <fcntl.h>
> diff --git a/scripts/get-version-number b/scripts/get-version-number
> index d216b7a424e0..484baebf53c6 100755
> --- a/scripts/get-version-number
> +++ b/scripts/get-version-number
> @@ -1,5 +1,5 @@
>   #!/bin/sh
> -# SPDX-License-Identifier: GPL-2.0
> +# SPDX-License-Identifier: MIT
>   
>   scm_version()
>   {


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2026-04-02  6:35 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-02  6:09 [PATCH 1/2] erofs-utils: lib: switch to GPL-2.0+ OR MIT dual license Gao Xiang
2026-04-02  6:09 ` [PATCH 2/2] erofs-utils: switch other source files into MIT license Gao Xiang
2026-04-02  6:18   ` hudsonZhu
2026-04-02  6:19   ` zhaoyifan (H)
2026-04-02  6:32   ` Chunhai Guo
2026-04-02  6:34   ` Hongbo Li
2026-04-02  6:18 ` [PATCH 1/2] erofs-utils: lib: switch to GPL-2.0+ OR MIT dual license hudsonZhu
2026-04-02  6:19 ` zhaoyifan (H)
2026-04-02  6:30 ` Hongbo Li
2026-04-02  6:32 ` Chunhai Guo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox