Live data from Hacker News

Android now forces apps to include proprietary code for push notifications

reddit.com

121–130 of 284 posts

Re: Android now forces apps to include proprietary code for push notifications

#122
post #6

I'd love to know just how different/bare bones AOSP (Android Open Source Project) is to regular Android. As an experiment, I'd love to compile it, put it on a spare phone and use it as my daily driver for a week.

I compile and run Android (AOSP) on custom devices. We're waiting to start CTS soon, to be able to run Google Services.

Without Google Services, a bare bone AOSP has more or less the same capabilities of some cheap low-end Chinese tablet that cannot run Google Apps.

Re: Android now forces apps to include proprietary code for push notifications

#123

Earlier quoted context omitted.

I don't get it. The Telegram GitHub says: "Since one can't use Google's push messaging in a FOSS app", but I can't work out why? Lots of FOSS apps on GitHub, mine included, use Firebase. It had never occurred to me it might be an issue.

If you use a gpl library, what you make with it must be distributed under the gpl. You cannot distribute firebase blobs under the gpl. Ergo, you have used a gpl library to make something not gpl. Which is illegal.

A GPL app can absolutely link to proprietary software and still be covered under the GPL.

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.

Re: Android now forces apps to include proprietary code for push notifications

#124
post #11
post #2

You can still write free software that uses it and produces a not-entirely-free artifact when compiled, though, right? (Is there a distribution restriction on the artifact, or is it impermissible to link it with GPL apps, or something?) I'm curious if the free software apps are compelled not to link it to preserve the free software status of their code, or just voluntarily refusing on principle (which is laudable, to…

Ubuntu gets around any possible GPL violations by offering to download and install proprietary drivers (ex., Nvidia) and codecs during installation process. Could something similar work for Android apps?

Just curious, does it means that a proprietary application downloaded through an open-source GPL script makes the whole (application + script) "GPL compliant" ?

Re: Android now forces apps to include proprietary code for push notifications

#125
post #59

Earlier quoted context omitted.

IMO Android is working towards having a compatibility layer so that drivers can be freely shared across distros. Look up Project Treble.

That still requires cooperation from the SoC vendors. If they aren't interested then Treble will go nowhere.

Treble is required by the Vendor Test Suite for Android 8 and higher. https://source.android.com/devices/architecture

Re: Android now forces apps to include proprietary code for push notifications

#126
post #75

Earlier quoted context omitted.

So, if I understand correctly, the GPL prevents you from using a non-free library in your code? (Asking honestly: I have tried to find this elsewhere but the FSF page on the GPL is rather ... convoluted). If that is so, then this is obviously a killer and quite seemingly arbitrary requirement. Your MS example is quite good.

The GPL requires that all code with the software under the license to also comply with the GPL, which includes libraries. Therefore, it's simply not possible (legally) to use non-GPL compatible libraries with GPL software. A lot of open-source licenses are compatible, such as the MIT or BSD license, but proprietary licenses are not obviously.

Talk to a lawyer to be sure, but this would fall under the system library exception to the GPLv3 (though maybe not v2)

Re: Android now forces apps to include proprietary code for push notifications

#127

Google is one of the most evil companies out there for a company that started out with don't be evil. The have some very smart people, some amazing tech, but unfortunately they have some very evil people working for them help bent on maintaining their advantage by any means necessary. Without using Google's push notifications, you are going to end up with something that works about 75% of the time. When this first st…

>Google is the most evil, of the companies that started with "don't be evil".

Curious, what companies use that same phrase you are comparing it to?

Or if that isn't what you meant, where is Apple and Microsoft on the Good vs Evil dichotomy?

Re: Android now forces apps to include proprietary code for push notifications

#128
post #75

Earlier quoted context omitted.

So, if I understand correctly, the GPL prevents you from using a non-free library in your code? (Asking honestly: I have tried to find this elsewhere but the FSF page on the GPL is rather ... convoluted). If that is so, then this is obviously a killer and quite seemingly arbitrary requirement. Your MS example is quite good.

The GPL requires that all code with the software under the license to also comply with the GPL, which includes libraries. Therefore, it's simply not possible (legally) to use non-GPL compatible libraries with GPL software. A lot of open-source licenses are compatible, such as the MIT or BSD license, but proprietary licenses are not obviously.

Could an argument be made that this falls into the system library exception?

Re: Android now forces apps to include proprietary code for push notifications

#129

Earlier quoted context omitted.

Signal already implements it. Signal uses E2E encryption, so your attack vector doesn't work. https://community.signalusers.org/t/gcm-will-be-removed-from...

> Signal uses E2E encryption, so your attack vector doesn't work. End-to-end encryption is just that. That Firebase library is running on the client phone (aka, an end), if Google put code into the library allowing it to download updates it would also be running in Signal's context which would allow it to trivially dump and exfiltrate messages, memory, etc from the Signal process. Now, we have no reason to believe su…

In that case, Signal can run the integration in another process. It's extra work, but it also gets around the GPL issue for the main application, so if Google doesn't solve that itself, it's easy for someone else to and share the solution with everybody.

It would also be easy to spot if Google put an updater inside the library because the requested permissions for using the library would change.

Re: Android now forces apps to include proprietary code for push notifications

#130
post #18

Perhaps it is time to treat Google as the enemy, because that is how it is treating us.

Google puts 1 restriction, they are the enemy. Apple has created priopritary connectors, closed off systems, paid barriers to entry, and banning apps from their store. Where is Apple and Microsoft on the scale from Friend to Enemy?

Apple lobbies against right to repair, and Microsoft lobbies for software patents, among other of their user-hostile actions, so they both deservedly fall under 'enemy'.

And do not pretend this '1 restriction' is the full extent of Google's user hostility - it is merely the latest straw.

Edit: You may find calling someone an 'enemy' rather extremist - after all, Google is just doing what's best for its bottom line, same as other companies, right? But when they increase their profit not just by providing a good product/service, but also by altering the market/ecosystem/legal system to leave you worse off, what else would you call them? Perhaps sociopath - but "sociopath that's trying to get you for all you're worth" isn't meaningfully distinct from "enemy".

Post reply on HN