I have been reading the license file from some libraries so I can figure out what needs to be included in my own app. I notice a lot of software includes only a summary of the license, and not a full copy of the license itself. Why is this so common, and is there some loophole that makes it legal? For example, the MySQL Connector Python module is GPLv2, and this is what their license file says:

# Copyright (c) 2012, 2020, Oracle and/or its affiliates. All rights reserved.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License, version 2.0, as
# published by the Free Software Foundation.
# This program is also distributed with certain software (including
# but not limited to OpenSSL) that is licensed under separate terms,
# as designated in a particular file or component or in included license
# documentation.  The authors of MySQL hereby grant you an
# additional permission to link the program and your derivative works
# with the separately licensed software that they have included with
# MySQL.
# Without limiting anything contained in the foregoing, this file,
# which is part of MySQL Connector/Python, is also subject to the
# Universal FOSS Exception, version 1.0, a copy of which can be found at
# http://oss.oracle.com/licenses/universal-foss-exception.
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# See the GNU General Public License, version 2.0, for more details.
# 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 St, Fifth Floor, Boston, MA 02110-1301  USA

They do publish the full license on their website, but the URL is not included in the code.

1 Answer 1


It is true that most free software licences require that code covered by them be accompanied by a copy of the licence; GPLv2 requires it in s1, for example. But we have also noted that the licence doesn't bind the rightsholder. Assuming Oracle are the sole rightsholder in the code above, as the copyright line suggests they are, then they don't have to obey the GPL when distributing this software.

Does failure to include a copy of the licence make their licence grant invalid? Personally, I think that if they argued that the licence grant explicitly required a copy of the licence along with the code, then because they didn't give one the grant was never valid, it'd be a pretty diseased court that accepted the argument. The rightsholder's intention to distribute under GPLv2 is pretty clearly indicated in the header of that file, and as you note they publish a copy of the licence on their website. I think you're pretty safe to use it, though of course IANAL/IANYL.

It's also worth noting that anyone that redistributes it - which includes some fairly big corporations, who are clearly happy that they have the right to do so - doesn't have this freedom. On my system (Fedora 32), the package that provides this file also includes:

[me@risby ~]% rpm -ql mysql-connector-python3

and down in that file I find:

GNU General Public License Version 2.0, June 1991

The following applies to all products licensed under the GNU General
Public License, Version 2.0: You may not use the identified files
except in compliance with the GNU General Public License, Version
2.0 (the "License.") ...
  • Good point. I guess my question was too broad, but there are loads of other examples. One that comes to mind is ffbinaries.com. They provide binaries only, although FFmpeg is GPLv2 (they build it with GPL enabled).
    – Elliott B
    Sep 9, 2020 at 6:14
  • 1
    At first glance, it looks as if ffbinaries.com are in violation of (L)GPL. Your question, though, asked specifically about a single python project, so that's what I've answered. Do feel free to ask another, more-general, question, but please don't start editing this question to substantially change the focus.
    – MadHatter
    Sep 9, 2020 at 7:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.