Bug 1389708 - Are Hangouts/Widevine open source?
Summary: Are Hangouts/Widevine open source?
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: chromium
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Tom "spot" Callaway
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-10-28 09:42 UTC by Nikos Roussos
Modified: 2016-10-28 15:32 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-10-28 14:01:44 UTC
Type: Bug


Attachments (Terms of Use)

Description Nikos Roussos 2016-10-28 09:42:31 UTC
This more of a question than a bug. 

I noticed we build it with "enable_hangout_services_extension=true" and "enable_widevine=true". Are we sure these doesn't pull any proprietary Google library?

Thanks

Comment 1 Tom "spot" Callaway 2016-10-28 14:01:44 UTC
Okay, lets look at what this does.

1) "enable_hangout_services_extension"
This option is described this way:
"Hangout services is an extension that adds extra features to Hangouts."
If true, this sets the define: ENABLE_HANGOUT_SERVICES_EXTENSION=1

That define results in the following code changes:

A) chrome/browser/extensions/component_loader.cc adds the "hangout_services" directory and attempts to add/load any components found inside it.
B) chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_browsertest.cc enables an additional test to use the "hangout_services" component
C) chrome/browser/extensions/component_extensions_whitelist/whitelist.cc adds the "hangout_services" component to the whitelist
D) chrome/browser/resources/component_extension_resources.grd adds these files to the components include list: hangout_services/background.html hangout_services/thunk.js

Now, we look in ./chrome/browser/resources/hangout_services. Here we find background.html, manifest.json, OWNERS, and thunk.js. background.html just loads thunk.js, but is BSD licensed. thunk.js is BSD licensed javascript that hooks into the webrtc code (already built as part of Chromium) into hangouts. 

There are no proprietary libraries pulled in here. I know it's a little confusing, but if you look through this bug report, you can see some of the reasons why: https://bugs.chromium.org/p/chromium/issues/detail?id=416856

2) "enable_widevine"
This option is described this way:
"Allow widevinecdmadapter to be built in Chromium."

If it is enabled, and the code is not branded for Google Chrome, it builds a "stub" widevinecdmadapter. The actual widevinecdmadapter is proprietary, and only shipped with Google Chrome, however, with this stub enabled, the widevinecdm*.so files from Chrome can be dropped into the Chromium directory, and (in theory) work. In practice, this doesn't seem to work so well, but it doesn't hurt us to enable the stub, so we do so.

Chromium doesn't try to download the proprietary widevine*.so bits, the user has to manually copy them in place.

Comment 2 Nikos Roussos 2016-10-28 15:32:51 UTC
Thanks! That was very informative.


Note You need to log in before you can comment on or make changes to this bug.