hyprwm / hyprlang

The official implementation library for the hypr config language.
https://wiki.hyprland.org/Hypr-Ecosystem/hyprlang/
GNU Lesser General Public License v3.0
137 stars 16 forks source link

Copyright Information #28

Closed NyxTrail closed 8 months ago

NyxTrail commented 8 months ago

Hello,

It seems like a copyright notice is missing on this project. Is this intentional?

vaxerski commented 8 months ago

uhh copyright notice for...?

NyxTrail commented 8 months ago

I mean to say, projects usually have a line that says:

Copyright (c) 2022-2023, vaxerski All rights reserved.

Don't know what these are called. But I have been attempting to build Hyprlang for Debian and the lint checker warned me about these being missing.

vaxerski commented 8 months ago

I don't think so since gpl?

NyxTrail commented 8 months ago

The doc here: https://www.gnu.org/licenses/gpl-3.0.en.html , recommends attaching the following notice to each file:

<one line to give the program's name and a brief idea of what it does.>
    Copyright (C) <year>  <name of author>
...

Had a look at some other projects to understand how they do it:

But, this document from FSF seems to indicate we can assign the copyright to FSF itself: https://www.gnu.org/licenses/why-assign.html https://www.gnu.org/licenses/gpl-faq.html#AssignCopyright so that they can enforce the GPL on a project's behalf. Is this why you think the lines are not needed? (Initially, I thought this refers to projects owned/created by FSF. But after re-reading the first link, I am not so sure anymore.)

But then, Midnight Commander has copyright explicitly assigned to the FSF in each file: https://github.com/MidnightCommander/mc/blob/d792f707fc486f6239715f216d5d59c1799d4274/src/util.c#L4

Note: I only looked at GPLv3. But, I think we should do similar stuff for LGPL as well. flatpak seems to be one project that does so: Eg: https://github.com/flatpak/flatpak/blob/2cb17b4eb82ecedaa98b5b7f954cf3e52fa95682/common/flatpak-chain-input-stream-private.h#L4

PS: I really don't know what I am talking about. Just trying to make sense of all this.

vaxerski commented 8 months ago

that's GPL, and we are using LGPL.

I have no idea what I am talking about either. I just added the license.

LGPL has no place to put my own "copyright"

vaxerski commented 8 months ago

@fufexan any ideas?

fufexan commented 8 months ago

Theoretically (L)GPL states that each file should contain license and author information. From what I could find on the internet, it should be in the form

//  SPDX-FileCopyrightText: 2019 Jane Doe <jane@example.com>
//  SPDX-License-Identifier: LGPL-3.0-only

However, there are many repos where I haven't seen this being done, so I'm not sure whether it's a must.

NyxTrail commented 8 months ago

that's GPL, and we are using LGPL.

Yeah, I noticed that. I just found it easier to search for GPL than LGPL. flatpak is a project that I found that uses LGPL: https://github.com/flatpak/flatpak/blob/2cb17b4eb82ecedaa98b5b7f954cf3e52fa95682/COPYING

And they include copyright information like so: https://github.com/search?q=repo%3Aflatpak%2Fflatpak%20copyright&type=code

And this is some code that uses LGPL and has copyright assigned to a person (instead of orgs like RedHat, etc): https://github.com/flatpak/flatpak/blob/2cb17b4eb82ecedaa98b5b7f954cf3e52fa95682/common/flatpak-chain-input-stream-private.h#L4

The SPDX format doesn't seem to be necessary. But, it does seem to be used in some files in flatpak too: https://github.com/search?q=repo%3Aflatpak%2Fflatpak%20SPDX-LICENSE&type=code

However, there are many repos where I haven't seen this being done, so I'm not sure whether it's a must.

May be it is not. I have reached out to the Debian folks for guidance on their recommendation. Will update once I have an update.

NyxTrail commented 8 months ago

I got the following information from the Debian folks:

Do we require projects to include the copyright information along with LGPL?

Yes, there must be a copyright statement.  Only the person, people, group, 
or organization that holds the copyright can issue a license for other people 
to use the work.  So, you must have someone claiming a copyright or they do 
not have the legal ability to release the work to others under the LGPL.

If the copyright has to be included, is it enough to include it in a COPYRIGHT file? Or, does it need to be included in each file?

No, it is not required that each individual file contain a copyright 
statement or the header of the LGPL at the top.  The FSF recommends such as a 
best practice, and I would agree that it is desirable, but it is not required.

They further suggested that the copyright (and licencing) information could be included in the root of the project.

So, as I see it, there are two ways this can be done:

  1. Include a COPYRIGHT file, like the Calibre project I mentioned before.
  2. Include the copyright info in each file. This seems to be the preferred way. I think the format can be either a comment with copyright and license mentioned, or the standard format mentioned by @fufexan .
vaxerski commented 8 months ago

I'll add a centralized COPYRIGHT file with Hypr Development, then.

vaxerski commented 8 months ago

7edc9a664e99cdc3f9a0032388f8c70bcebf15ae

can this be closed?