If that is so, then this is obviously a killer and quite seemingly arbitrary requirement. Your MS example is quite good.
If that is so, then this is obviously a killer and quite seemingly arbitrary requirement. Your MS example is quite good.
And, it should be noted, the LGPL license, which exists for exactly this purpose!
However it means nobody else can release their own apps (with notifications) on Android based on your code, or anyone else's GPL code. As soon as they link to Firebase and distribute they will violate the GPL by distributing a binary of someone else's GPL code with a proprietary library attached.
You cannot distribute firebase blobs under the gpl. Ergo, you have used a gpl library to make something not gpl.
Which is illegal.
From the GPLv3 itself.
> The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.
Now you can't just go and include random proprietary jars in your app for whatever reason but but linking to the jar for the purposes of using the system notifications and background services seems to me like it would definitely count.
From copyleft.org:
> The system library exception is designed to allow copylefted software to link with these libraries when prohibition of that linking would hurt software freedom more than it would hurt proprietary software.
This is really the core of it -- who is hurt more by disallowing this linking: Google or FOSS apps?
What you can't do is write code which depends on GPL, then distribute it with those GPL components and insist the resulting package is not GPL.
In fact, it's not so much 'dependent than derivative. GPL is a copyright license, and copyright restrictions can only only flow to derivative works.