MySQL and MariaDB GPL licence error?
To comply with GPL requirements, MySQL and MariaDB include a COPYING or LICENSE file, which has
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA.
and maybe something’s wrong with that.
To comply with RPM Package Manager requirements, distros such as Red Hat or Fedora suggest a tool rpmlint. And rpmlint reads that file and spits out:
E: incorrect-fsf-address
where “fsf” means Free Software foundation, and “E” means Error.
First noticeable thing: the zip code 02110-1335, which appears in MariaDB COPYING, is odd. Google’s AI tells me “The zip code for 51 Franklin Street, Fifth Floor, is 02110-1301” not 02110-1335. MySQL and some other licences have 02110-1301, and the confusion goes back years. But changing the zip code doesn’t make the error message go away.
Second noticeable thing: the FSF moved out of the Franklin Street address in August 2024, says Wikipedia. They’re now a USPS postbox at
31 Milk St # 960789 Boston, MA 02196 USA
and now the wording is
You should have received a copy of the GNU General Public License along with this program; if not, see <https://www.gnu.org/licenses/>.
This explains why rpmlint didn’t complain before but will with the latest RPM-based distros. That’s why I ran into the error myself — I was preparing an update of ocelotgui and upgraded to Fedora 42 before I did so.
All right, so which of those does rpmlint think is correct? It doesn’t say, but it’s open source, so I looked at the source code, which is at https://github.com/rpm-software-management/rpmlint. Here are the important lines, in ./rpmlint/checks/FilesCheck.py (I’ve added some line feeds and removed some spaces):
... fsf_wrong_address_regex = re.compile (br'(675\s+Mass\s+Ave|59\s+Temple\s+Place|02139|51\s+Franklin\s+St)', re.IGNORECASE) ... if fsf_license_regex.search(self._file_chunk) and \ fsf_wrong_address_regex.search(self._file_chunk): self.output.add_info('E', pkg, 'incorrect-fsf-address', fname) ...
Oh, so if I say Mars or Shangri-La, okay, as long as it’s not an address that used to be valid, in any of my package’s text files.
First Fun Fact: a code expert who goes by the name mendhak actually wrote to the Franklin Street address in 2022, enclosing American stamps and passing through all the old-technology barriers — and got a reply from FSF, it’s documented in I wrote to the address in the GPLv2 license notice and received the GPLv3 license.
Second Fun Fact: that rpmlint GitHub site also has a COPYING file, https://github.com/rpm-software-management/rpmlint/blob/main/COPYING — which still has the Franklin Street address!
“And if I laugh at any mortal thing, / ‘Tis that I may not weep” (Byron)