Time |
Nick |
Message |
00:19 |
|
specing_ joined #minetest-dev |
03:39 |
|
Extex joined #minetest-dev |
04:16 |
|
olliy1or joined #minetest-dev |
06:27 |
|
ssieb joined #minetest-dev |
07:05 |
|
Guest88 joined #minetest-dev |
09:04 |
|
hecks joined #minetest-dev |
09:41 |
|
entuland joined #minetest-dev |
09:50 |
|
calcul0n__ joined #minetest-dev |
09:52 |
|
Fixer joined #minetest-dev |
10:32 |
|
tech_exorcist joined #minetest-dev |
11:31 |
hecks |
must our copyright pasta be 18 lines long |
11:31 |
hecks |
can't we switch to doing it the way irrlicht does? |
11:35 |
hecks |
I see that the pasta actually comes from LGPL itself and is supposedly recommended to do that way, but come on |
11:42 |
celeron55 |
well it's the ages old convention, it could possibly be shortened |
11:42 |
hecks |
we're also sort of botching the credit assignment by doing |
11:42 |
hecks |
Minetest (c) [source file author] |
11:44 |
hecks |
https://paste.uguu.se/?da0abcbab0cbffc1#3zs7gw7MaAQEAJPZYYFU6uxYtkH6Ei4KAgYTktarWzVd |
11:45 |
hecks |
is what i'd rather do |
11:45 |
celeron55 |
s/GNU General Public License/GNU Lesser General Public License/g |
11:45 |
hecks |
ah whoops |
11:46 |
celeron55 |
i guess the thing to ask is, what would a lawyer say |
11:46 |
hecks |
with enough money and lawyers you can make anything true really |
11:47 |
celeron55 |
i like the warranty statement in every file, but some licenses probably have a shorter one |
11:47 |
celeron55 |
and it's probably not needed |
11:48 |
hecks |
people are welcome to sue me |
11:48 |
hecks |
go ahead |
11:48 |
celeron55 |
in one project that i published under apache 2.0, my beginning of source files looked like this: |
11:48 |
celeron55 |
// http://www.apache.org/licenses/LICENSE-2.0 |
11:48 |
celeron55 |
// Copyright 2014 Perttu Ahola <celeron55gmail.com> |
11:49 |
celeron55 |
no reference to a project and no sentences of any kind |
11:49 |
hecks |
that's pretty clean |
11:49 |
hecks |
and honestly yeah |
11:49 |
hecks |
a source file is part of a project until it isn't |
11:50 |
celeron55 |
i think a file is the unit that needs to be clearly licensed if possible, of course media files are a bit problematic even while most have metadata you could include the information in |
11:51 |
celeron55 |
it's just such a routine thing to strip media files of all metadata that nobody even thinks about it |
11:51 |
celeron55 |
and nobody ever looks at it |
11:51 |
hecks |
stripping the metadata is not a defense in court though |
11:52 |
celeron55 |
the default is not being permitted to re-distribute anything - the goal is to make it clear (to a lawyer) that you _are_ allowed to do it, albeit with the rules the license sets |
11:53 |
celeron55 |
i think that 2-liner of mine probably isn't clear enough, it needs... some words |
11:53 |
hecks |
anyway i just wish the gnu pasta didn't take up half the height of a term window =] |
11:58 |
celeron55 |
"This file can be redistributed and modified according to the GNU Lesser General Public License v2.1+. See LICENSE.txt and doc/lgpl-2.1.txt" |
11:58 |
celeron55 |
that fits in two 80 character lines |
11:58 |
celeron55 |
i'd be fine with that |
11:59 |
celeron55 |
of course the copyright line first |
11:59 |
hecks |
yeah that's a 6x reduction in length :] |
12:00 |
hecks |
also using // instead of /* means even less noise |
12:00 |
hecks |
I'd substitute "this file" for "this code" maybe |
12:00 |
hecks |
or maybe not |
12:02 |
hecks |
"This file can be modified and redistributed under" would sound a little better |
12:02 |
celeron55 |
i'd maybe make an exception in the case of single-file scripts that can be used on their own |
12:02 |
celeron55 |
and include the full oldskool header |
12:02 |
hecks |
sure, those are whole programs |
12:03 |
hecks |
like the GL generator |
12:03 |
celeron55 |
but if using the file requires programming, then the short one |
12:03 |
hecks |
which will ironically also have to paste the MIT notice for khronos content into the files it spits out |
12:06 |
hecks |
git itself provides the best paper trail for everything anyway |
12:06 |
hecks |
regarding copyright |
12:06 |
hecks |
as long as individual files are licensed appropriately it's probably enough |
12:09 |
hecks |
one reason why I wanted to see the pasta reduced is that it bloats short code files the most |
12:09 |
celeron55 |
the copyright notice will practically always be more or less wrong as many people do small edits to files and arguably they hold the copyright to those small edits |
12:10 |
hecks |
=] pretty much |
12:10 |
celeron55 |
but i don't think that's worth handling in any way |
12:10 |
hecks |
also half of all new files are probably miscopyrighted to you just through people pasting the stupid thing |
12:10 |
celeron55 |
a lawyer would say to always add anyone who edits the file to the copyright listing |
12:10 |
hecks |
:DDDDD good luck with that |
12:11 |
hecks |
also add every single license notice from every three line example you find on the internet |
12:11 |
hecks |
any time you use stackoverflow, add another MIT block to the top of the file |
12:11 |
hecks |
yeah so uh |
12:11 |
celeron55 |
well as long as the person in the copyright is likely to be able to tell who the actual copyright holders are (i.e. they can use git), it's fine |
12:12 |
celeron55 |
not that it helps at all to have just a nickname in there, that's wholly useless in a court |
12:12 |
hecks |
the github account matters |
12:12 |
celeron55 |
maybe use nickgithub instead of nick |
12:13 |
hecks |
it doesn't matter, the git commit has that |
12:13 |
hecks |
my GH account for this is entirely disposable in fact, it was made just for minetest |
12:13 |
hecks |
anyway I'd like to encourage more shorter code files and the giant pasta may be a psychological obstacle to that |
12:16 |
hecks |
imagine a templated interface with only one function |
12:16 |
hecks |
that's literally a five line header |
12:17 |
celeron55 |
i think you can make a PR about this, if you're not patient enough to wait for comments here first |
12:18 |
celeron55 |
there's literally no guideline for the license header either |
12:18 |
celeron55 |
probably will need one once you have to choose between the short and long ones |
12:20 |
|
specing_ joined #minetest-dev |
12:40 |
|
Taoki joined #minetest-dev |
13:23 |
pgimeno |
about copyright holders, what I've seen the most is to say "Copyright the Minetest contributors" and list them in a file |
13:25 |
pgimeno |
or "Copyright <main author> and the <project name> contributors" or something along these lines |
13:40 |
hecks |
the thing is that legally, you really only own the code that you commit |
13:41 |
hecks |
you hold the copyright to the content of those commits and you can actually use and relicense those parts however you want |
13:42 |
pgimeno |
that's right, you can only claim copyright on the lines you've contributed |
13:42 |
hecks |
as far as I'm aware you are not signing off copyright to any other entity as you commit, beyond the agreement that all merged code must be LGPL2.1+ |
13:42 |
hecks |
so there is no such entity as "the minetest contributors" |
13:42 |
pgimeno |
the copyright notice is still for the whole work though; if a book has two authors, and one of them only has written one chapter, the book is still the copyright of both |
13:43 |
pgimeno |
there isn't a copyright notice per chapter or anything like that |
13:44 |
pgimeno |
it doesn't harm to attach a copyright that isn't yours to a file (like in the case of an authors file); only if you claim copyright over some lines it would be checked if they were written by you |
13:45 |
hecks |
it's fine to have a contributors file but most files have been touched by too many people to list inline |
13:45 |
hecks |
and the git history is the authoritative source in any case |
13:45 |
celeron55 |
well, i'm fine with adding "and contributors" to the copyright line, after the main author |
13:45 |
celeron55 |
the thing is, having your name there gives you some credit |
13:45 |
pgimeno |
you're not going to be accused of plagiarism if you're listed in the AUTHORS file of a work and the header says "Copyright the XXX contributors; see AUTHORS |
13:45 |
celeron55 |
it's not worthless |
13:45 |
pgimeno |
" |
13:45 |
hecks |
I'm just worried about it growing out of proportion |
13:46 |
celeron55 |
3 lines of 80 characters. if it fits, it's fine |
13:46 |
celeron55 |
less isn't enough anyway so that's the space to work with |
13:47 |
hecks |
well I'm talking about the case where anyone who commits adds their name to the first line |
13:47 |
hecks |
you will run out of these 80 columns real quick |
13:47 |
celeron55 |
yeah i don't think that's doable |
13:47 |
hecks |
so I probably wouldn't do that just to avoid it |
13:47 |
pgimeno |
I've been checking and some files carry nerzhul's copyrights instead of celeron55's, e.g. https://github.com/minetest/minetest/blob/master/src/network/clientpackethandler.cpp |
13:48 |
sfan5 |
files carry the copyright of whoever created them |
13:48 |
pgimeno |
sfan5: files should carry the copyright of every contributor, even though that's impractical in most projects |
13:48 |
hecks |
do they legally though |
13:49 |
celeron55 |
well, that file is a huge mangle of code written by me and many others and reorganizing to that file by nerzhul |
13:49 |
sfan5 |
well not legally |
13:49 |
hecks |
I think in court, the git log would have precedence over the (c) in the pasta which is usually just incorrect |
13:49 |
celeron55 |
it's hard to say whose name should be there if you don't just say nerzhul created that specific file and put the stuff there |
13:49 |
sfan5 |
I'm just saying what the text in the files says |
13:49 |
pgimeno |
see https://www.gnu.org/licenses/gpl-howto.html section "The copyright notice" |
13:49 |
hecks |
might as well just add (and other contributors) boilerplate to that line |
13:49 |
pgimeno |
"If several people helped write the code, use all their names." |
13:49 |
hecks |
=] |
13:49 |
hecks |
thanks stallman |
13:50 |
celeron55 |
well |
13:50 |
celeron55 |
what if, instead of listing names, it listed the command to get the names from git |
13:50 |
hecks |
"and others" is fine actually |
13:50 |
specing |
hecks: what happens if person B moves person A's code from one file to another? Clearly, person A would no longer be mentioned in log |
13:50 |
hecks |
et al. is used in academia for this reason too |
13:51 |
pgimeno |
"and the Minetest contributors" is fine, as long as there's a file CONTRIBUTORS listing them |
13:51 |
MTDiscord |
<Warr1024> A lot of the guidance on source attribution also dates back to a time when the "preferred form for editing" did not include source control itself, which is probably no longer true today. |
13:52 |
hecks |
ok then just |
13:52 |
hecks |
(c) the minetest dev team and contributors |
13:52 |
hecks |
and end it right there |
13:52 |
pgimeno |
fine with me |
13:52 |
hecks |
don't even try to keep track of this |
13:52 |
MTDiscord |
<Warr1024> What I use for my own work is a single blanket license that covers the entire project, and it lists all contributors, once each. |
13:53 |
MTDiscord |
<Warr1024> In my case I also list contributors because I don't always have the necessary metadata to create commits with them as author, or there will be multi-author commits. |
13:54 |
hecks |
oh actually specing: it doesn't matter if code is moved because it does exist in git's history somewhere still |
13:54 |
pgimeno |
specing: if A has a copyright claim over the code, they can always show the previous commit where their code was added |
13:54 |
pgimeno |
heh, caught me typing |
13:55 |
hecks |
all that matters is that the author can prove ownership as long as they correctly filled in their config |
14:02 |
hecks |
so I guess we could advise people that they should author commits correctly if they need to prove copyright in case of trouble |
14:02 |
hecks |
if they want to that is |
14:14 |
hecks |
another thing I'm suspicious about is the year in the copyright notice |
14:15 |
hecks |
I know there are different jurisdictions, but consider this https://www.law.cornell.edu/uscode/text/17/401 |
14:16 |
hecks |
so in all cases the year should probably be the year the file was created |
14:16 |
hecks |
I don't know if we're following this rule or not but we should |
14:17 |
|
olliy joined #minetest-dev |
14:19 |
pgimeno |
according to Stallman, the year the release was prepared |
14:20 |
pgimeno |
Minetest 5.4 is a different work from Minetest 5.3 |
14:21 |
pgimeno |
and yes, every project that wants to do this right updates the copyright year every year |
14:21 |
hecks |
but what if the guy doing the builds is creating a derivative work himself... ;] |
14:22 |
hecks |
this is an argument in favor of treating each source file as a separate work |
14:23 |
hecks |
/ [filename] (c) [year of file creation] [author] and contributors // This file is a part of the Minetest project, licensed under the GNU // Lesser General Public License v2.1+. See LICENSE.txt and doc/lgpl-2.1.txt |
14:24 |
celeron55 |
we have all kinds of public development builds and whatnot, it doesn't make sense to consider stable versions anything special at all |
14:24 |
hecks |
where [author] is either the guy who created the file, or if he doesn't feel like naming himself, a "Minetest development team" placeholder may be used |
14:25 |
sfan5 |
I think any time spent discussing this could be used better |
14:25 |
hecks |
maybe but the copyright pasta is an eyesore and it's straight up wrong |
14:25 |
hecks |
the problem is that in many cases it actually lies |
14:26 |
celeron55 |
sfan5: i agree |
14:26 |
celeron55 |
just make the PR, this will be dealth efficiently there |
14:26 |
celeron55 |
dealt* |
14:26 |
hecks |
sure |
14:26 |
celeron55 |
or just let it be as it is |
14:26 |
hecks |
:DDDDDDDD |
14:27 |
hecks |
i'll let him talk with our lawyer, ywwv |
14:57 |
|
longerstaff13 joined #minetest-dev |
15:51 |
|
Extex joined #minetest-dev |
16:50 |
|
calcul0n_ joined #minetest-dev |
18:35 |
|
Alias joined #minetest-dev |
19:33 |
|
longerstaff13 joined #minetest-dev |
20:29 |
|
Guest joined #minetest-dev |
21:16 |
|
ShadowBot` joined #minetest-dev |
23:06 |
|
Extex joined #minetest-dev |
23:39 |
|
AliasAlreadyTake joined #minetest-dev |