FP2: License for binary blobs

Well, the distributed Firefox OS package is blob-free, but it still requires the blobs to work, so it doesn’t really work without the binary blobs. From what I’ve gathered what you’re referring to is just a sort of a workaround that downloads the blobs from the phone and integrates them to the distributed image instead of distributing them. That’s clever but unfortunately doesn’t mean you’re free from the blobs.

3 Likes

Yes, you are right the Fairphone 2 builds will be blob free, but you will still need the proprietary blob in order to make the builds. This depends on the fact that not all Fairphone 2 drivers are free and open source.

This “issue” is really bothering me. How do other custom rom developers circumvent such a license issue? I think this is the same for many other phones out there. Replacing parts with opensource code, but the rest?

Please fix this license:(

The reason is that Fairphone as a company certainly can’t publicly say that we should share the blobs. What private persons do is a different story.

You are right, though, that this issue should be resolved.

2 Likes

As there are so many struggling with selfcompiling here my,question:

Do the builds contain in any way personal data? I guess no. So is there a problem to share a build anonymously?

And directly refering to this question: do the final builds have the same checksum? so can we publish checksums and everybody who cant selfcompile can be sure that there is nothing manipulated?

I guess, this post answers both of your questions:

1 Like

The question is also whether other people would want to flash anonymously posted ROMs. I personally wouldn’t unless there are means to verify that the ROM is indeed built from the official source and it has not been tempered with. Otherwise malicious parties could spread malware very easily.

1 Like

@tphysm yes, this is answering all my questions. Thanks!

@jftr Very true, indeed. Then i think people have to learn to compile the code by themselves. Maybe with a better tutorial, though i do not know where the difficulties lay, besides maybe installing linux :frowning:

Define a) “personal data”, b) “share a build anonymously”, oh and c) integrity :slight_smile:

a) There are some scripts that add the username/host/timezone/dates to the build (“default.prop”)

b) Depends, eh?

c) Complicated to do, but possible if you set it up correctly and if supported a bit by FP.

Data which might identify me clearly. Clearly enough to get sued by the rightsholders.

Upload it via VPN to an OCH (mega,zippy,etc…)…

No manipulations, changes of the official source code.

I guess that’s a major problem. While it started to sound very interesting, and publishing fposos is indeed a cool idea, IMHO, all that fuss about legalese for the blobs kills this idea, nobody will look for other ROMs, like cm or omnirom or whatever. This leads to the situation you described above, people turn to Samsung et al, even though their hacker friendliness is not that great either… But look at e.g. the Samsung S3, many people still are using it, because it still gets an official cm, for example. So, in terms of sustainability, it’s not that bad either…

6 Likes

Are you saying you don’t need blobs to get CM on Samsung devices? I don’t know whether this is true but have a hard time believing it.

What I have seen so far with (almost?) all devices that get CM is: Binaries are copied from the device itself and then used to build CM. There is no “legalese” which you have to agree to. However, this does not make it better for you. It probably just means that what you do is not covered legally. Having this “legalese” is actually an improvement in my understanding because we get the blobs without having to hunt for them first and we may officially use them.

In most other cases we don’t have this freedom but people are just grabbing and distributing the blobs without asking whether they are allowed to do so. If you think Samsung devices give you enough freedom to distribute CM for their devices, then you can also go forward and distribute builds for Fairphone 2. The only thing stopping you is your conscience which apparently doesn’t stop you in case of Samsung devices :wink:

1 Like

No, “of course” cm has to use binary blobs, they way you describe it. But for other devices there is no legalese, so nobody is hindering you putting the blobs on cm. The FP blobs explicitly are forbidden to be distributed that way in a room not provided by Fairphone so, we would need a bare cm where we could install the blobs afterwards. There’s a lengthy discussion wether that’s possible at all, and probably it isn’t. So no ROM not provided by Fairphone, except for something like replicant. But then lots of things probably won’t work…

And that’s exactly my point: This is just not true. When you buy another device (say from Samsung), you implicitly agree to their terms. The thing is, nobody reads those terms, but I’m 99.9% sure they include a clause prohibiting you from extracting the binaries and distributing them to other people. Developers just don’t care.

The difference with Fairphone is that they explicitly allow you to get the binaries and even present them to you. The caveat is that they also shove the terms under which you may use them up your face and that makes people aware of them and … voila, their consciousness kicks in.

2 Likes

Well, I don’t follow you 100%. For me, it’s a grey area. You are normally and also explicitely hindered to reverse engineer the software or otherwise modify it. There’s no writing (with the samsung I had) to prohibit this propagation. Not up to now. Samsung especially goes at great lengths to hinder you unlocking the bootloader, with Knox and Flash counters and all that, but they don’t follow up on the simple copying for all those official and inofficial CMs, OmniROMS, SlimRoms and what else on third party ROMs. There’s virtually no manufacturer I know of that went against this praxis (except for Google and it’s (in)famous action with gapps, so these are not distributed with CM and the likes)

Do you think Fairphone would?

Good question. Qualcomm would, I guess. But Fairphone might be forced to, even if they don’t want to… At least they wrote it down explicitly, so you are supposed to expect it

I do not understand:

a) Who wrote that licence (clearly not a lawyer)
b) The licence (see above)
c) What the difference between a file everybody can download and sharing the same file in a ROM is.

It’s totally okay to put in a statement “do not decompile our secret sauce”, but if you do so and offer it as a download for everybody, you can also just use it in a ROM.

I think this was written by FP or the ODM, but not by Qualcomm.

1 Like

I’d say this one was written by lawyers…
And they do explicitly forbid the sharing of the blobs as long as it’s not Fairphone distributing them
The decompile stuff just comes on top, but this you get with other devices also.
I did not check the license lately, but it is well possible that this license is Fairphone’s, whether written by them or dictated by the software owner behind them, I don’t know. In the end, it doesn’t matter for us…

The EULAs looks like copy and pasted together, maybe it was Google :wink: Anyway, all I want to say that it does not make a lot of sense. It looks like it was copy and pasted together from different EULAs. It would be nice if FP could explain who wrote the EULA.

The last time I saw “You must not take any actions that may result in the fragmentation of Android.” was in the old Android EULA. It’s not even in there anymore.

Also it’s from the Google SDK, it has nothing to with bin blobs from companies that build cameras or gps receivers. They couldn’t care less.

Google SDK Terms

2012 Jan
3.4 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement.

2012 Nov
3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the SDK.

2015, current
3.4 You may not use the SDK for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK; or (b) load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK.

FP2 Binary Blobs Download Page, Special License Agreement, April 2016

3. You are allowed to only use the Software in a manner that complies with all applicable laws in the jurisdiction in which you use the Software, including, but not limited to, applicable restrictions concerning copyright, other intellectual property rights and anti-fragmentation requirements. You have the duty to check if you need separate licenses to use the Software and obtain them. You must not take any actions that may result in the fragmentation of Android.

1 Like