Minetest logo

IRC log for #minetest-dev, 2021-08-04

| Channels | #minetest-dev index | Today | | Google Search | Plaintext

All times shown according to UTC.

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 <celeron55@gmail.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 nick@github 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

| Channels | #minetest-dev index | Today | | Google Search | Plaintext