monicahq / monica

Personal CRM. Remember everything about your friends, family and business relationships.
https://beta.monicahq.com
GNU Affero General Public License v3.0
21.64k stars 2.16k forks source link

Licenses badly implemented #1955

Open LorenzoAncora opened 6 years ago

LorenzoAncora commented 6 years ago

The licenses for Free Software (GPL, AGPL, ...) require that each source file contains the header with the license and the copyright. You can enter the license through simple initial comments. This should be done in addition to the simple LICENSE file. To legally protect the software, make sure that each commit meets this requirement, as advised by the FSF (Free Software Foundation).

This official document will help you solve the problems with the license: https://www.gnu.org/licenses/gpl-howto.html

LorenzoAncora commented 5 years ago

@djaiss @Mokto @asbiin I am here on behalf of the FSF staff (contact: #fsf @ Freenode) who asked me to guide you to allow Monica to be indexed in the FSF Directory (which only contains Free Software). The standard header you should add at the top of the source files and the scripts is this:

    This file is part of Monica.

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

    Monica 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 Affero General Public License for more details.

    You should have received a copy of the GNU Affero General Public License
    along with Monica.  If not, see <https://www.gnu.org/licenses/>.

It can be included as a code comment, the important thing is that it is present at the beginning of each file to be redistributed through GNU licenses. Only the original authors of the software (obviously) have the right to add these headers: if you have doubts or difficulties of any kind, ask here. It would be a good idea to add the copyright and license notes before the next release.

asbiin commented 5 years ago

@LorenzoAncora @djaiss I'm not really happy to add this licence (14 lines) in each file.

What about adding a lighter version, like:

/*
 * This file is part of MonicaHq.
 * For the full copyright and license information, please view the LICENSE file that was distributed with this source code.
 */
LorenzoAncora commented 5 years ago

@LorenzoAncora @djaiss I'm not really happy to add this licence (14 lines) in each file. What about adding a lighter version [...]

@asbiin we do not recommend it. All projects that properly use the license include an extended header of that type, because shorter versions compromise the validity of the license: as it is not guaranteed that the software is redistributed in its entirety or that the user has access to all its parts, it must be possible to trace the complete copyright information from each individual file. When the repository is not accessible, this license information is even more valuable. It is no coincidence that many open source editors allow you to automatically add this information when creating the source file and have activated by default a feature that allows the folding of comments. The proposed header is designed to be compatible with this functionality. :-)

Adding this header has a negligible impact on bandwidth consumption and repository speed, because VCS supports compression. The few kb added on disk are relevant only in very rare cases (mainly in firmware), so they will not give problems to your users.

If you need further clarification, I remain at your disposal.

LorenzoAncora commented 5 years ago

@asbiin time has passed. If you have solved the problem, please set the "Resolved" label and close this issue.

In the FSD we are always at your disposal. :-) Have a good time.

asbiin commented 4 years ago

@LorenzoAncora Sorry for the delay. We never updated it, I think it's really because we don't see the value of it. I understand it's a problem for you, but what is really the risk behind it? Thanks!

LorenzoAncora commented 4 years ago

@LorenzoAncora Sorry for the delay. We never updated it, I think it's really because we don't see the value of it. I understand it's a problem for you, but what is really the risk behind it? Thanks!

Hi @asbiin , we answered your questions here:

Here's a brief summary of what you need to do to release a program under one of our licenses:

  • Get a copyright disclaimer from your employer or school.
    • Give each file the proper copyright notices. Make sure to clearly identify which versions of the license users can use. [...]
    • Put a license notice in each file. [...] This involves adding two elements to each source file of your program: a copyright notice (such as “Copyright 1999 Terry Jones”), and a statement of copying permission, saying that the program is distributed under the terms of the GNU General Public License (or the Lesser GPL, or the Affero GPL). [...] The purpose of a free software license is to give certain rights to all users of a program. If it is not clear what rights you have given them, that defeats the purpose. Our practices are designed to avoid any uncertainty. If a program has a copy of a license FOO alongside the source files, but doesn't have an explicit statement that “This program is released under license FOO,” that leaves room for uncertainty about whether the license FOO applies to the code [...] programmers often copy source files from one free program into another. If a source file contains no statement about what its license is, then moving it into another context eliminates all trace of that point. This invites confusion and error.

To use the GPL in a public repository it is fundamental to respect what is written above. You cannot modify the license retroactively, so you have to apply the contents written above to the next releases with one or more commits. Consult the rest of the GNU website for further information.

We remain at your disposal. ;-)