pd / easy-after-load

Automatically eval-after-load a files' contents when emacs loads a library
1 stars 2 forks source link

Please specify the license for you Emacs packages #2

Closed tarsius closed 7 years ago

tarsius commented 7 years ago

Could you please specify the license used by your Emacs packages?

Assuming that you want to release under "the GPL v3 or any later version", the best way to do that would be to add this to the library header:

;; This file is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.

;; This file is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;; GNU General Public License for more details.

;; You should have received a copy of the GNU General Public License
;; along with this program.  If not, see <http://www.gnu.org/licenses/>.

You could also, or instead, add a LICENSE file containing the text of the GPL-3. But if you only add that file, then the "or (at your option) any later version" bit won't be known.

If this is too noisy for you, then you could also add one of these lines to the header:

;; License: GNU General Public License version 3, or (at your option) any later version
;; License: GNU General Public License version 3, or any later version
;; License: GNU GPL version 3, or (at your option) any later version
;; License: GPL version 3, or (at your option) any later version
;; License: GPL version 3, or any later version
;; License: GPL v3, or (at your option) any later version
;; License: GPL v3, or any later version
;; License: GPL-3+

These are your packages I am aware of that don't specify their license: easy-after-load, quickref, swallow-window, and yard-mode.

tarsius commented 7 years ago

Friendly ping!

Sorry for being pushy, but it looks like Richard Stallman is going to request the removal of all unlicensed packages from Melpa in less than two weeks. If enough maintainers soon act in response to requests such as this one, then I might be able to convince him not to make that mistake, giving the remaining authors more time to act.

I think it would be a bit mistake to remove the unlicensed packages without giving maintainers enough time to act as that has the potential of causing a lot of bad blood.

So if you do have the time to do it now, then please do so. It would buy other maintainers more time.

Thanks a lot!

Ps: I am also contacting the maintainers of some packages that are not being distributed on Melpa. If your package is one of those, then please specify the license soon anyway.

Pps: You don't have to use the "GPLv3" or "GPLv3, or (at your option) any later version". You could also use another license that is compatible to the GPLv3, such as the MIT license. Please note that "the MIT license" is ambigious. To avoid that ambiguity you should put this text in a file named LICENSE.

Copyright (c) <year> <copyright holders>

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Please also consider adding the same text to each library header. Only adding a line ;; License: MIT to library headers should be avoided because of the mentioned ambiguity.

pd commented 7 years ago

Fair enough, I can loop through them and tack a license on them all soon. Is there some canonical reference or mailing list thread or such I can look at? Just to be clear on how licenses are being identified, what licenses are accepted, etc.

tarsius commented 7 years ago

Here you go: https://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00341.html.

tarsius commented 7 years ago

And the code I use to detect licenses can be found here: https://github.com/emacscollective/elx/tree/license-wip. (It wasn't my finest code to begin with, and additionally I have to iterate fast on messy data right now...)

tarsius commented 7 years ago

Thanks!

pd commented 7 years ago

No problem, thanks for the heads up! Running through my other repos and adding the license there, too.

tarsius commented 7 years ago

Unfortunately easy-after-load has already been removed from Melpa: https://github.com/melpa/melpa/commit/cf92ce1a2bc92c73071d157e7e223982bbd3f818

Could you please restore the recipe? Otherwise I will do it in a few days or weeks when I have a batch of recipes to restore. It would be nice if rms were a bit more patient so that we would not have to do this work.