@mattab opened this Issue on June 2nd 2014 Member

Piwik was asked by Richard Stallman and FSF, whether we would like to make Piwik a GNU package:

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

Would you like to make Piwik a GNU package?

See below comments for more info.


General changes to Piwik:

Improve Privacy in Piwik
issues suggested by FSF Richard Stallman that we think would help improve Privacy by default in Piwik:

  • [x] Do not store Accept-language full string, only store detected language #5365
  • [x] Enable IP anonimisation by default, let users disable anonymisation during Piwik installation #5052
  • [ ] When IP anonimisation is enabled, hash the IP address in a way that prevents fingerprinting #5907
  • [ ] Generate a Disclaimer explaining analytics data tracking and privacy #3725
  • [ ] Create a Privacy Seal #6173
@mattab commented on June 10th 2014 Member

Here's the explanation of what it means for a program to be a GNU
package, which also explains the responsibilities of a GNU package


Making a program GNU software means that its developers and the GNU
project agree that "This program is part of the GNU project, released
under the aegis of GNU"--and say so in the program.

This means that we normally put the program on ftp.gnu.org (although
we can instead refer to your choice of ftp site, as long as it allows
connections from anyone anywhere).

This means that the official site for the program should be on
www.gnu.org, specifically in /software/PROGRAMNAME. Whenever you give
out the URL for the package home page, you would give this address.
It is ok to use another site for secondary topics, such as pages meant
for people helping develop the package, and for running data bases.
(We can make an exception and put the web pages somewhere else if
there is a really pressing reason.)

It means that the developers agree to pay attention to making the
program work well with the rest of the GNU system--and conversely that
the GNU project will encourage other GNU maintainers to pay attention
to making their programs fit in well with it.

Just what it means to make programs work well together is mainly a
practical matter that depends on what the program does. But there are
a few general principles. Certain parts of the GNU coding standards
directly affect the consistency of the whole system. These include
the standards for configuring and building a program, and the
standards for command-line options. It is important to make all GNU
programs follow these standards, where they are applicable.

Another important GNU standard is that GNU programs should come with
documentation in Texinfo format. That is the GNU standard
documentation format, and it can be converted automatically into
various other formats. You can use DocBook format or another suitable
format for the documentation sources, as long as converting it
automatically into Texinfo gives good results.

If a GNU program wants to be extensible, it should use GUILE
(http://www.gnu.org/software/guile/guile.html) as the programming
language for extensibility--that is the GNU standard extensibility
package. For some programs there's a reason to do things differently,
but please use GUILE if that is feasible.

A GNU program should use the latest version of the license that the
GNU Project recommends--not just any free software license. For most
packages, this means using the GNU GPL.

A GNU program should not recommend use of any non-free program, and it
should not refer the user to any non-free documentation for free
software. The campaign for free documentation to go with free
software is a major focus of the GNU project (see
http://www.gnu.org/philosophy/free-doc.html); to show that we are
serious about it, we must not undermine our position by recommending
documentation that isn't free.

Occasionally there are issues of terminology which are important for
the success of the GNU project as a whole. So we expect maintainers
of GNU programs to follow them. For example, the documentation files
and comments in the program should speak of GNU/Linux systems, rather
than calling the whole system "Linux", and should use the term "free
software" rather than "open source". Since a GNU program is released
under the auspices of GNU, it should not say anything that contradicts
the GNU Project's views.

For a program to be GNU software does not require transferring
copyright to the FSF; that is a separate question. If you transfer
the copyright to the FSF, the FSF will enforce the GPL for the program
if someone violates it; if you keep the copyright, enforcement will be
up to you.

As the GNU maintainer of the package, please make sure to stay in
touch with the GNU Project. If we come across a problem relating to
the package, we need to tell you about it, and to discuss with you how
to solve it. Sometimes we will need to ask you to work with other
maintainers to solve a problem that involves using multiple packages
together. This probably will happen less than once a year, but please
make sure we can contact you in case it does happen.

For details on all policies and recommendations for GNU packages,
please see the GNU maintainers information, at
http://www.gnu.org/prep/maintain/, and GNU coding standards, at

@mattab commented on June 10th 2014 Member

In https://github.com/piwik/piwik/commit/a8fbaf86abc13de414f1e2ceb855a49bb28de593

Piwik is a free/libre analytics platform. Refs #4455 GNU Package requirement to use free/libre instead of open source

@mattab commented on June 10th 2014 Member

Evaluators found these superficial problems. Could you fix them?

  • The phrase "Open source" is used repeatedly: "Piwik - Open source web
    analytics" is used in all the file headers.
    • Would you please change that to "free/libre web analytics"?
  • In few places on the website, Piwik talks about "open source". It would be better not to use that term anywhere at all. Instead use free/libre
  • Similarly, "Linux" is used in several places unambiguously to refer to
    the operating system (i.e. in a variable called "desktopOSArray"
    alongside "Windows", "Mac", et al. (file:
    • Please use "GNU/Linux" when you're talking about our system.
  • The author did a great job of clearly outlining the licenses of the
    many 3rd-party dependencies. However, many licenses are referred to
    as the "MIT license". I don't have time to check every single one
    individually but I assume it's probably referring to the Expat
    license. This should be clarified.
    • Indeed it should be.
  • There are some libs dual-licensed
    with the "MIT" and the GPLv2, which I guess is ok with the GPLv3+ of
    the main Piwik source, but I figured that I'd point it out anyway.
    • What's happening with these libraries?
  • Piwik contains Javascript code which doesn't display its licenses for LibreJS: Make Piwik LibreJS compatible #3770

Created an issue on the Device detector library: https://github.com/piwik/device-detector/issues/14 so that we write GNU/Linux instead of Linux.

@mattab commented on June 10th 2014 Member

In ef3f037e96fed8fd711843811abc2601de14c2fe: Piwik is a free/libre analytics platform. Refs #5276

@mattab commented on June 10th 2014 Member

In fc3eeee485eb85de42b714fc8a4a0b81773f048a: MIT licenses -> MIT (Expat) Refs #5276

@mattab commented on June 10th 2014 Member

In 66568338216c261668a871e1e41a28c9e755bda8: Adding LibreJS license information in piwik.js Fixes #3770 #5276

@mattab commented on June 10th 2014 Member
@mattab commented on June 18th 2014 Member

Another suggestion

#5052 During installation of Piwik, ask users to enable IP anonymisation for advanced Privacy

For general privacy discussion see #6160

@mattab commented on May 24th 2018 Member

This won't happen

@mackuba commented on January 25th 2019


if you gave up on this idea, could you consider reverting https://github.com/matomo-org/device-detector/issues/14? I'd wager that a vast majority of people who use Matomo don't use the term "GNU/Linux" personally and might even be confused by it...

@Findus23 commented on January 25th 2019 Member

@mackuba Personally I have to disagree. Device Detector doesn't detect the kernel itself, but the userspace around GNU and all other software installed. And for people who get confused by this detail there is a icon next to it that shows them that this is the "Linux" they know.

But this isn't really a strong opinion (after all the user agent just says Linux x86_64) and the last thing I want is this to end up as a huge fight.

@sgiehl commented on January 25th 2019 Member

I don't have a opinion on that at all. But it seem to be an ongoing discussion which name is "better". It even has it's own wikipedia page: https://en.wikipedia.org/wiki/GNU/Linux_naming_controversy

This Issue was closed on May 24th 2018
Powered by GitHub Issue Mirror