1

When you run 'bc' on a GNU system, it prints out the following text:

~$ bc
bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.

In contrast to several other GNU utilities:

~$ gcc --version
gcc (Debian 8.3.0-6) 8.3.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

and

~$ grep --version
grep (GNU grep) 3.3
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

and

~$ ls --version
ls (GNU coreutils) 8.30
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Is there any reason why bc lists out all of the copyright dates in such a way instead of just using "Copyright 2017 Free Software Foundation, Inc."?

3
  • 2
    Just alias bc='bc -q' and forget about it. bc will only print that "welcome" when its output is a terminal.
    – user313992
    Commented Feb 7, 2020 at 12:12
  • 2
    Your question asks "why", but the only appropriate answer is "because bc's devs like it so". I don't see any value in second-guessing them.
    – user313992
    Commented Feb 7, 2020 at 12:15
  • bc's notice gives the years of the creations of the various portions of the program still in the current release. And see danashultz.com/2013/10/09/… Commented Feb 7, 2020 at 12:34

1 Answer 1

4

bc follows the recommended GNU practices for copyright notices, which involves listing every single publication year, although the copyright notice here lists more years than saw bc releases (even including dc releases).

The other tools only list the year of last publication, using gnulib’s version_etc function which only prints the year as last updated in gnulib.

See also Copyright notice must be regularly updated while the project is active?

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .