Earlier quoted context omitted.
The GPL is based around a well-defined set of ethics that centers around giving the user complete freedom to use and modify the software. This is necessary for software to be considered free. It's certainly possible to restrict usage based around a moral code. Look at the JSON License: https://www.json.org/license.html > The Software shall be used for Good, not Evil. So, yes, it would be possible to restrict software…
>The GPL is based around a well-defined set of ethics that centers around giving the user complete freedom to use and modify the software I take issue with this. First of all, this “well-defined” qualifier is ironically poorly defined. What does that mean? It either is or is not derived from some principle or set of principles; it is ultimately an example of ethics being imposed as a restriction. Secondly, you don’t…
For your second question, you are right that you don't have 'complete freedom,' which another commenter pointed out cannot even theoretically exist. The closest you really get is public domain, in which you're not even restricted like the MIT; you don't even have to list the author! (IANAL, so this is not legal advice, but just my understanding.) However, the GPL is not interested in guaranteeing complete freedom, in the style of very permissive licenses. Instead, it's interested in maximizing end-user freedom. An MIT library can immediately be placed in a proprietary program, and now the end-user has none of the Four Freedoms, though the author of the program still has all of them. So, the GPL puts restrictions on developers and how they can use the software ('limiting freedom', if you want, though it's the freedom to limit others' Four Freedoms that is being limited), to guarantee that the Four Freedoms reach the end-user. This does lead to incompatibility as you've outlined, and so goreportcard would have to adopt the GPL to use the library and remain compliant (again, IANAL), but from the perspective of the GNU foundation, this maximizes the total number of freedoms retained because it continues to protect end-users. I hope this helps, I wanted to expand on what the goals of the GPL actually are, since you seemed to earnestly be asking.