nvllsvm / freecyngn

A small tool to remove proprietary parts from CyanogenMod 13
Do What The F*ck You Want To Public License
126 stars 10 forks source link

Wth? #4

Closed mid-kid closed 10 years ago

mid-kid commented 10 years ago

Cyanogenmod has no propietary parts.

whisperpush is oss (whisperpush CM repo) cmaccount is oss voiceplus is oss IDK why you have to replace "propietary" stuff in settings.apk (By disassembling it FFS!) and cms are the cyanogenmod services which have no independent git repo, but I'm sure you can find the source somewhere.

mar-v-in commented 10 years ago

Settings contains Google Analytics client library that is both propreitary and privacy attacking. Whisperpush and CMAccount: Both are not really open source because they use the google play services that are proprietary. As Google is an essential part of both, you can't patch it (like with Settings).

For your convenience: don't only take a look at the "project sources" itself, but also on what is imported from external (look in Android.mk)

CMS: Currently seems to be empty but as long as there is no source i consider it to be proprietary - i want to be a step ahead when it starts to contain proprietary code (what is obv the reason why it's created)

mid-kid commented 10 years ago

While it's true whisperpush relies on gsf, I just created a CMaccount to verify it doesn't. However, I don't think there is any source for the server-side of the app. And, as textsecure has an option that makes it not require gsf, I'm pretty sure it can be patched.

As you said (and I definitely agree with you on this part), there is analytics in the settings app, which makes me wonder why.

Still don't know the rationale for VoicePlus.

And I don't know why you're assuming the reason why cms's created is to contain propietary code. I haven't found any reference to it anywhere. And your question on xda never got answered.

Yes, you're right, there are some rough patches on CM's core apps, though, it should be noted that most apps thwmselves are oss. Looks like I didn't do enough homework. :P

mar-v-in commented 10 years ago

From what I see in the CMAccount source code, gsf is used for various s2c messages, expecially remote locate and remote wipe. see https://github.com/CyanogenMod/android_packages_apps_CMAccount/blob/cm-10.2/src/com/cyanogenmod/account/gcm/GCMIntentService.java - however I never checked if it works without gsf

Patching TextSecure (which is intended to be a secure and private communication software) to not use GCM is not what I want to do - it should be the default! - The reason why i decided to patch the Settings app is easy: you can't simply remove or replace it.

Oh yes, I forgot about VoicePlus: While itself is fully open source, it relies on proprietary gsf and google login service to be installed on the device (google login service is required for the account obv). While this is not a big issue it's just waste of resources to have VoicePlus on a free android device - so I decided to also remove it.

On CMS: take a look at https://github.com/cyngn/android_vendor_cyngn - it clearly states that cms is for CM apps being installed from Google Play. There is exactly one reason why CM wants an app not to be included in CM but what to ship it through Google Play: it's not open source.

I tend to link users to the following link on the CM/Google issues: https://plus.google.com/103583939320326217147/posts/gcgoGPyLcwf (don't miss to read the last comment)

mid-kid commented 10 years ago

You're right, GCM in TextSecure should be optional. And actually, it is. Only, CM folks have done something with it.

As for the others, you're right, thanks for explaining.

This is the kind of stuff that makes me want to have a Replicant-compatible device >.<

mar-v-in commented 10 years ago

You may want to take a look at omnirom - it's a complete open android system, only things that might not be open are device dependent (firmware and stuff like that).

mid-kid commented 10 years ago

Looks awesome. Only 1 problem. The devil of "no support for haida" descended from hell and banned me from using it. Yeah... I might try to port it... someday...