NOTE: Changed the person in example from "I/me" to "PersonXYZ"
Given, hypothetically:
- PersonXYZ wrote some software (will refer to as SoftwareXYZ) that uses a proprietary library (will refer to as LibraryABC).
- PersonXYZ licensed that software under GPL-3.0 without adding any linking exceptions.
- PersonXYZ is not the author of the proprietary library, someone other than PersonXYZ has copyright on it (will refer to as PersonABC).
Then, what exactly are the implications for doing the following:
CONVEY-SOURCE-CODE: Conveying only the "source code" of PersonXYZ's software
Maybe this would be fine as per (GPL-3.0 / Section 4: Conveying Verbatim Copies)
You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.
But nobody (except PersonXYZ) would ever be able to avail themselves of the permission to GPL-3.0 / Section 6: Conveying Non-Source Forms. So if someone can only avail themselves of some of the permitted actions in GPL-3.0 then is the software really GPL-3.0 licensed?
CONVEY-OBJECT-CODE: Conveying the "object code" of PersonXYZ's software without distributing "Corresponding Source":
NOTE: PersonXYZ would not be able to convey the "Corresponding Source" as this includes the proprietary library and PersonXYZ doesn't have permission to convey it in any form.
I don't see how this would make sense as GPL-3.0 / Section 6: Conveying Non-Source Forms states:
You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: ...
As per GPL FAQ / DeveloperViolate PersonXYZ's would not really be liable in any way but the resulting "object code" will not be conveyable by anyone without violating GPL so it is not clear how the software is then actually released under GPL-3.0? Maybe it is not released under GPL-3.0 even though PersonXYZ labeled it as such?
There is also GPL-3.0 / Section 12: No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program.
The GPL FAQ has the following to say on somewhat similar cases:
What legal issues come up if I use GPL-incompatible libraries with GPL software? (#GPLIncompatibleLibs)
If you want your program to link against a library not covered by the system library exception, you need to provide permission to do that. Below are two example license notices that you can use to do that; one for GPLv3, and the other for GPLv2. In either case, you should put this text in each file to which you are granting this permission.
But it is not entirely clear that you have to do this if you only distribute/convey source code and not object code, as this does not mention distribution/conveying here nor does it make it clear what the basis for this FAQ entry is, maybe it is just section 6?
Any insights into the implications of these scenarios and this situation would be helpful.
import
from my software which is also hypothetically python - not that I think it is incredibly important.