Cxbx-reloaded: Remove ASCII-art from header-comments in all our sources

Created on 10 Feb 2019  Â·  11Comments  Â·  Source: Cxbx-Reloaded/Cxbx-Reloaded

As mentioned in #89, Cxbx-Reloaded has a few lines of ASCII-art, appearing in nearly all source code files, inherited from it's Cxbx-roots, looking something like this (slight variations occur) :

// *    .,-:::::    .,::      .::::::::.    .,::      .:
// *  ,;;;'````'    `;;;,  .,;;  ;;;'';;'   `;;;,  .,;;
// *  [[[             '[[,,[['   [[[__[[\.    '[[,,[['
// *  $$$              Y$$$P     $$""""Y$$     Y$$$P
// *  `88bo,__,o,    oP"``"Yo,  _88o,,od8P   oP"``"Yo,
// *    "YUMMMMMP",m"       "Mm,""YUMMMP" ,m"       "Mm,
// *

For this issue, remove all occurrences.

Having this removed, will have the benefit of a less bulky header, no more accidental find-replace changes to it (since it's gone) and no more false positives (unintended hits) when searching for substrings that (also) appear in the ASCII art.

Note : Before taking up this task, discuss with a few active developers what to do with the line immediately below the ASCII art, mentioning a path and filename of the file at hand (because that doesn't really add much value, isn't always updated, and thus cannot be relied upon anyway). If there's consensus to remove that line too, it's probably more efficient to remove that together with the ASCII art while you're at it anyway.

good-for-beginners request

Most helpful comment

Update: We spoke about this briefly in XboxDev, resulting in this response from JayFoxRox. Based on this, I'd say it is fine to remove the logo after all.

https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt see 6. "You may not impose any further
restrictions on the recipients' exercise of the rights granted herein."
the license itself does not contain the Cxbx logo
it's absolutely fine to say "// Licensed under GPLv2 [see License.txt] (c) Authors" and nothing more in the file
that right can't be taken away from you
" and each file should have at least the "copyright" line and a pointer to where the full notice is found."
it's a minimum requirement, anything else would be a "further restriction" which is not allowed

All 11 comments

Because the ascii art was part of the copyright header in original Cxbx, legally, we may not be able to remove it. It all depends if the header as a whole can be identified as a copyright header, or if that applies only to the license portion.

Answering that might become difficult, but we're free to do as we please with the files that we introduced ourselves, right?

I'm okay with it if my files would be updated according to the above...

What does the solution look like, a mass update or as effected files are modified then remove?

@PatrickvL any files we newly created our ours, we can do anything we like with the license header in those, but only as long as the files contain no code derived from other Cxbx code files that were brought in from original Cxbx.

About modifying the header, here documentation about what part belongs to the copyright header:

https://www.gnu.org/licenses/gpl-howto.en.html

For programs that are more than one file, [...] begin the statement with a line saying “This file is part of NAME”. For instance,

This file is part of Foobar.

Foobar 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 of the License, or
(at your option) any later version.

Foobar 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 Foobar.  If not, see <https://www.gnu.org/licenses/>.

To use a different set of GPL versions, you would modify the end of the first long paragraph. For instance, to license under version 2 or later, you would replace “3” with “2”.

This statement should go near the beginning of every source file, close to the copyright notices. When using the Lesser GPL, insert the word “Lesser” before “General” in all three places. When using the GNU AGPL, insert the word “Affero” before “General” in all three places.

Compare that to our header:

// This is an open source non-commercial project. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com
// ******************************************************************
// *
// *    .,-:::::    .,::      .::::::::.    .,::      .:
// *  ,;;;'````'    `;;;,  .,;;  ;;;'';;'   `;;;,  .,;;
// *  [[[             '[[,,[['   [[[__[[\.    '[[,,[['
// *  $$$              Y$$$P     $$""""Y$$     Y$$$P
// *  `88bo,__,o,    oP"``"Yo,  _88o,,od8P   oP"``"Yo,
// *    "YUMMMMMP",m"       "Mm,""YUMMMP" ,m"       "Mm,
// *
// *   src->core->HLE->DSound->DirectSound->DirectSound.cpp
// *
// *  This file is part of the Cxbx project.
// *
// *  Cxbx and Cxbe are free software; you can redistribute them
// *  and/or modify them under the terms of the GNU General Public
// *  License as published by the Free Software Foundation; either
// *  version 2 of the license, or (at your option) any later version.
// *
// *  This program 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 recieved a copy of the GNU General Public License
// *  along with this program; see the file COPYING.
// *  If not, write to the Free Software Foundation, Inc.,
// *  59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA.
// *
// *  (c) 2002-2003 Aaron Robinson <[email protected]>
// *  (c) 2017 blueshogun96
// *  (c) 2017-2018 RadWolfie
// *
// *  All rights reserved
// *
// ******************************************************************

Comparing these two, we can make the following observations:

  • the advised text is present as a sequence of single-line comments
  • the text had word-wrapping applied
  • recieved is replaced with received (in some occurences)
  • Foobar is replaced with Cxbx project / Cxbx / Cxbx and Cxbe / ...
  • we've neglected to mention Cxbx-Reloaded for our own code
  • there's are additional comment lines above and below the advised text, composed of:

    • a "PVS-Studio" marker

    • asterisk-lines

    • the ASC-II art we're discussing here

    • whitespacing

    • copyright attribution line(s)

    • an "All rights reserved" line

Based on that, we can safely assume that the ASCII art is not part of the officially recommended header, and thus can safely be removed.

That means that could possibly get rid of this part, which is a decent header-size reduction, and removes the rarely updated file names.

However, this is still part of the file header, and may have been intended to count as part of the copyright message by the original author, so it's safest to not modify this at all: We don't want to be in breach of the original authors copyright.

// ******************************************************************
// *
// *    .,-:::::    .,::      .::::::::.    .,::      .:
// *  ,;;;'````'    `;;;,  .,;;  ;;;'';;'   `;;;,  .,;;
// *  [[[             '[[,,[['   [[[__[[\.    '[[,,[['
// *  $$$              Y$$$P     $$""""Y$$     Y$$$P
// *  `88bo,__,o,    oP"``"Yo,  _88o,,od8P   oP"``"Yo,
// *    "YUMMMMMP",m"       "Mm,""YUMMMP" ,m"       "Mm,
// *
// *   src->core->HLE->DSound->DirectSound->DirectSound.cpp
// *

My original comment for the ASCII-art (from the issue #89)

I think ASCII art should be kept on main source file, all other source files should not have them. That's my opinion.

I agree with Patrick, any works had not been done by original developers who are not active in this project. We can safely remove the ASCII art.

Update: We spoke about this briefly in XboxDev, resulting in this response from JayFoxRox. Based on this, I'd say it is fine to remove the logo after all.

https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt see 6. "You may not impose any further
restrictions on the recipients' exercise of the rights granted herein."
the license itself does not contain the Cxbx logo
it's absolutely fine to say "// Licensed under GPLv2 [see License.txt] (c) Authors" and nothing more in the file
that right can't be taken away from you
" and each file should have at least the "copyright" line and a pointer to where the full notice is found."
it's a minimum requirement, anything else would be a "further restriction" which is not allowed

I think we can agree it's okay to do this (and we have this discussion to explain our rationale for it).

So: Anyone that feels like it is more than welcome to submit a PR for this!!

This bug can be now closed

Fixed by PR #1557

Was this page helpful?
0 / 5 - 0 ratings

Related issues

gandalfthewhite19890404 picture gandalfthewhite19890404  Â·  3Comments

LukeUsher picture LukeUsher  Â·  3Comments

Margen67 picture Margen67  Â·  3Comments

gandalfthewhite19890404 picture gandalfthewhite19890404  Â·  3Comments

PatrickvL picture PatrickvL  Â·  3Comments