Time Nick Message 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 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 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
and the 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 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 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 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: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