sachac / subed

subed is a subtitle editor for Emacs
177 stars 16 forks source link

Adopt REUSE standard for copyright and licensing #29

Closed seabass-labrax closed 3 years ago

seabass-labrax commented 3 years ago

Hello @rndusr! Thank you for creating subed; it has been very useful to me. I have written some patches for it that @sachac suggested might improve subed for other users as well.

While writing these, I noticed that subed doesn't include full copyright and license information. This is very important in free software licensing audits, for instance to check license compatibility or to properly credit the authors of a file that you want to copy.

I would like to suggest adopting the REUSE standard for this. As someone who has does several such audits for my entries to the Free Software Directory, I can personally vouch for the utility of REUSE! With compliance to the REUSE specification, all files have header comments containing the full copyright and SPDX license identifier, and all the relevant licenses are stored in a LICENSES/ directory. This means that all of the information needed to reuse the code for another program is there in the header.

I have added REUSE headers as best I can using the information in the Git log; I'll attach my pull request here. Before merging my changes, however, there are a few things that need to be done.

We need to ask all of the contributors to subed to confirm that they hold the copyright to their edits and didn't copy them from another project (if so the copyright notices would need to be changed to reflect that). If you give the 'green light' I'll mention their names so that they can confirm that here in this issue.

Secondly, please could you confirm that the Git history hasn't been changed? Similarly, that might require a change to the copyright notices.

And finally, there is the screenshot.png file - I have taken the liberty to label this as CC0-1.0 as it contains a frame from a film, and CC0 explicitly disclaims all responsibility for any other copyrighted material (section 4c). Please don't merge my changes unless you want to waive your image into the public domain! I have been using subed to add captions to a friend's conference talk (which is under a GPL-friendly license) so I can take a screenshot of that if you would like to replace the image with something that is definitely free to use here.

I'm looking forward to your response! :)

seabass-labrax commented 3 years ago

30

rndusr commented 3 years ago

I never would've thought one of my half-dead projects would get a legal department. :)

I know pretty much nothing about software licensing and don't really understand what this would do. I always assumed that by contributing to other people's projects I would license my contribution under the license of the project. (You're probably getting a chuckle out of my naivety. :))

Who would do a software licensing audit for subed and why? Sounds like something a corporation would do?

could you confirm that the Git history hasn't been changed?

The Git history should contain all the contributions that are not from me. I may have pushed a rebase at some point, but I don't think I'd obscure someone else's work like that. But I can't guarantee anything.

screenshot.png

I don't care who does what with the screenshot, but I really like the frame and the dialog. Unless your friend is Frankenstein, I'd like to keep it. :)

Sorry if I'm a downer, but as the owner of this project I'm ultimately responsible and this sounds like boring work that has no practical effect.

I can't find the time or energy to write code for this project, so I doubt I'll always remember to check the copyright notices if someone contributes.

And I don't want to scare people away. If I wanted to fix a bug in someone else's project and I was greeted with legal stuff, there's a significant chance I wouldn't bother.

So I'm basically asking: Why should I care?

seabass-labrax commented 3 years ago

Thank you very much for taking the time to respond :) My apologies for the pathetic attempt at reciprocating your speedy response, and indeed for the content of my last message: I must have accidentally left legal-textbook-mode on ;)

I never would've thought one of my half-dead projects would get a legal department. :)

I know pretty much nothing about software licensing and don't really understand what this would do. I always assumed that by contributing to other people's projects I would license my contribution under the license of the project. (You're probably getting a chuckle out of my naivety. :))

I wouldn't dream of laughing at you, and besides, you are quite right! The REUSE standard doesn't replace that convention, it just makes it easier for people to work out what a file is licensed under.

Who would do a software licensing audit for subed and why? Sounds like something a corporation would do?

The biggest benefit of REUSE is probably to software distributions. For instance, currently every package in Debian is manually checked to make sure it can be legally included. This takes ages because every project has a different way of listing the legal stuff: some have a LICENSE file, some have COPYING, some have it at the top of each file...

REUSE is intended to be a standard for this, so anyone who wants to bundle code into a distribution (be that a Linux distribution or something like Doom Emacs) or otherwise copy the code can automatically add all the credits and licenses.

I don't care who does what with the screenshot, but I really like the frame and the dialog.

It sounds to me like CC0 is perfect then: it is essentially a notice saying "you can do anything you want with the image, but don't sue if you get into trouble with someone else"! Indeed, I also really like your screenshot :)

Unless your friend is Frankenstein, I'd like to keep it. :)

Actually my friend is called Ciarán, but I know he is into the horror genre so I shall have to ask him if there's any relation...!

... and this sounds like boring work that has no practical effect.

The long mundane work is the work I've just done :) However, I do realise that you may not want to take up the responsibility of checking that all contributions have the correct headers.

Therefore, I've created another pull request (#34) which you may find more appealing. Instead of requiring the name of every copyright holder in each file, it just has 'The subed Authors'. There's a file called AUTHORS.org that is not necessarily a list of copyright holders, but just allows contributors to put their names there if they would like to be credited.

The only disadvantage to this way is that it's more difficult to contact all the copyright holders, for instance to relicense the project. However, you've chosen a fine license for your project already - with an or-later clause no less! :) - so I don't think that's an important limitation.

And I don't want to scare people away. If I wanted to fix a bug in someone else's project and I was greeted with legal stuff, there's a significant chance I wouldn't bother.

Personally, I'd have rather the opposite reaction! For instance, the inclusion of these kinds of notices would reassure me that the project isn't just farming out work for what will become a proprietary software package. Your repository was already reassuring in this, what with the GPL statements, but there's no harm in making it explicit with REUSE.

Please do let me know what you think of the revised pull request; I'm more than happy to try to answer any further questions you might have about REUSE :)

rndusr commented 3 years ago

Thank you for explaining this to a legal dyslexic.

I don't like the "overhead" of licensing stuff all over the place, but it's much better than the previous PR. And if it helps package maintainers, I'm game.

I don't care who does what with the screenshot, but I really like the frame and the dialog.

It sounds to me like CC0 is perfect then: it is essentially a notice saying "you can do anything you want with the image, but don't sue if you get into trouble with someone else"! Indeed, I also really like your screenshot :)

I think I forgot to mention that the movie in the screenshot is public domain: https://en.wikipedia.org/wiki/The_Brain_That_Wouldn%27t_Die But I guess that doesn't matter if the screenshot is licensed under CC0.

the inclusion of these kinds of notices would reassure me that the project isn't just farming out work for what will become a proprietary software package.

That's a scenario I find hard to imagine for a small Emacs package. But if MS offers me millions, I could get weak, so it's better to be prepared. :)

Thanks again for taking the extra time.

seabass-labrax commented 3 years ago

I don't like the "overhead" of licensing stuff all over the place, but it's much better than the previous PR. And if it helps package maintainers, I'm game.

Indeed, the .license files are a bit messy. Ideally, the license comments would be at the top of each file (as in the Makefile, for instance). However, since Emacs reads that first comment line for file-local variables, I used the fallback option of having separate license files. I'm intending to bring this up with the developers of REUSE and/or Emacs so that in the future it could be neater.

I think I forgot to mention that the movie in the screenshot is public domain: https://en.wikipedia.org/wiki/The_Brain_That_Wouldn%27t_Die

Ah, that's nice! It could make rather good Sunday afternoon entertainment :)

the inclusion of these kinds of notices would reassure me that the project isn't just farming out work for what will become a proprietary software package.

That's a scenario I find hard to imagine for a small Emacs package. But if MS offers me millions, I could get weak, so it's better to be prepared. :)

I don't think that I personally have such funds as Microsoft to finance your retirement to the Mediterranean, but please accept my sincere gratitude for subed all the same!

Thanks again for taking the extra time.

Likewise, thank you for taking the extra time to review my alternative proposal.

As a side note, I'm writing this in Emacs with mail-mode, Magit and Forge. I won't claim I wasn't warned it would come to this ;)

Unless you'd like to discuss further in this thread, I'm happy for this issue to be closed now.

Happy Easter!

rndusr commented 3 years ago

Sorry, I forgot about this. Thanks for cleaning up. :)