Docs: Added licensing to contributing guide #198

Open
mxlgv wants to merge 2 commits from add-license-file-header-to-guide into main
Owner

Also renamed COPYING.TXT to LICENSE

Also renamed COPYING.TXT to LICENSE
mxlgv added 1 commit 2025-04-04 08:30:23 +00:00
Docs: Added licensing to contributing guide
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 27s
Build system / Build (pull_request) Successful in 12m40s
1e663f36c8
Also renamed COPYING.TXT to LICENSE

Signed-off-by: Max Logaev <maxlogaev@proton.me>
mxlgv added the
PR
Review required
Kind
Documentation
labels 2025-04-04 08:30:53 +00:00
Member

I think we should have SPDX header details in a STYLE_GUIDE.md, linked to via CONTRIBUTING.

As per Discord:

Detailed SPDX comments in source files are encouraged by the REUSE software initiative from FSFE. It is also supported by the SPDX standard under Annex H. Although the suggestion is to put the Copyright field first, it seems more typical to place the license identifier first.

I think we should have SPDX header details in a `STYLE_GUIDE.md`, linked to via CONTRIBUTING. As per Discord: > Detailed SPDX comments in source files are encouraged by the [REUSE software](https://reuse.software) initiative from FSFE. It is also supported by the SPDX standard under[ Annex H](https://spdx.github.io/spdx-spec/v2.3/file-tags/). Although the suggestion is to put the Copyright field first, it seems more typical to place the license identifier first.
Member

I prepared a draft style guide in issue #202

I prepared a draft style guide in issue #202
Sweetbread requested changes 2025-04-15 15:36:29 +00:00
CONTRIBUTING.md Outdated
@@ -68,1 +68,4 @@
## Licensing
For new source code files and for existing ones without a license, you need to add the following header to the beginning of the file:
Owner

What does "need" mean? SHOULD or MUST I do?

What does "need" mean? SHOULD or MUST I do?
Member

Would you be more happy with wording I suggested in #202?

Would you be more happy with wording I suggested in #202?
mxlgv marked this conversation as resolved
CONTRIBUTING.md Outdated
@@ -69,0 +70,4 @@
For new source code files and for existing ones without a license, you need to add the following header to the beginning of the file:
```asm
; SPDX-License-Identifier: GPL-2.0-only
Owner

For what? There's LICENSE file already, so, by fraudulent, every file in this repo under GPLv2

For what? There's LICENSE file already, so, by fraudulent, every file in this repo under GPLv2
Owner

Each program can have its own licence. Sometimes even different files of a program can have different licences if compatible. For example, one kernel file can be GPL2-only while another GPL2+.

Each program can have its own licence. Sometimes even different files of a program can have different licences if compatible. For example, one kernel file can be GPL2-only while another GPL2+.
Member

I would encourage new code to move towards more permissive licenses, where possible.

I would encourage new code to move towards more permissive licenses, where possible.
mxlgv marked this conversation as resolved
CONTRIBUTING.md Outdated
@@ -69,0 +71,4 @@
For new source code files and for existing ones without a license, you need to add the following header to the beginning of the file:
```asm
; SPDX-License-Identifier: GPL-2.0-only
; Program - Brief description.
Owner

Description of what? Of a program? Should I add a description to each its file?

Description of what? Of a program? Should I add a description to each its file?
Member

Yes. Ideally a one line description, where appropriate.

Yes. Ideally a one line description, where appropriate.
mxlgv marked this conversation as resolved
Member

Hey @mxlgv @dunkaist @Sweetbread can we agree how to move this forward? 🙏
My thoughts:

  1. Yes- change: COPYING.TXT to LICENSE. Make sure everything works with Docpack, etc. (may require to produce LICENSE.TXT at build time or simply add the extension ?)
  2. Simply make sure CONTRIBUTING points to a STYLE_GUIDE.
  3. Adopt (/modify) my suggestions for the style guide.
Hey @mxlgv @dunkaist @Sweetbread can we agree how to move this forward? 🙏 My thoughts: 1. Yes- change: `COPYING.TXT` to `LICENSE`. Make sure everything works with Docpack, etc. (may require to produce `LICENSE.TXT` at build time or simply add the extension ?) 2. Simply make sure CONTRIBUTING points to a STYLE_GUIDE. 3. Adopt (/modify) my suggestions for the style guide.
Author
Owner

@ace-dent @dunkaist Sorry, it seems this has stalled. The problem is that we simply don't have a specialist who understands these kinds of legal matters. I don't know what the proper procedure should be, especially for a multi-component project like an OS. Some components don't have licenses in their source code headers, which makes it even more complicated. I'm also not sure that the root LICENSE file applies to everything that doesn't have a license in their source code headers.

I can only rely on the authority of a large company: https://github.com/ARM-software/u-boot/tree/master/Licenses. They store licenses in a separate folder and use SPDX identifiers in file headers. I propose doing the same. What to do with unlicensed files remains an open question.

PS:
I'd like to add that, in fact, it seems like all native OS components are GPL-2.0. The problem only exists due to the thoughtless integration of ports into the monorepo.

@ace-dent @dunkaist Sorry, it seems this has stalled. The problem is that we simply don't have a specialist who understands these kinds of legal matters. I don't know what the proper procedure should be, especially for a multi-component project like an OS. Some components don't have licenses in their source code headers, which makes it even more complicated. I'm also not sure that the root LICENSE file applies to everything that doesn't have a license in their source code headers. I can only rely on the authority of a large company: https://github.com/ARM-software/u-boot/tree/master/Licenses. They store licenses in a separate folder and use SPDX identifiers in file headers. I propose doing the same. What to do with unlicensed files remains an open question. PS: I'd like to add that, in fact, it seems like all native OS components are GPL-2.0. The problem only exists due to the thoughtless integration of ports into the monorepo.
mxlgv requested review from ace-dent 2026-02-23 22:58:49 +00:00
mxlgv requested review from Burer 2026-02-23 22:58:50 +00:00
mxlgv force-pushed add-license-file-header-to-guide from 1e663f36c8 to aa3193b04f 2026-02-23 23:05:30 +00:00 Compare
mxlgv added 1 commit 2026-02-23 23:22:42 +00:00
Docs: Added for description and squash
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 21s
Build system / Build (pull_request) Successful in 16m22s
a55bc0db69
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 21s
Required
Details
Build system / Build (pull_request) Successful in 16m22s
Required
Details
This pull request doesn't have enough required approvals yet. 0 of 2 official approvals granted.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin add-license-file-header-to-guide:add-license-file-header-to-guide
git checkout add-license-file-header-to-guide
Sign in to join this conversation.
4 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: KolibriOS/kolibrios#198