[Qtwebengine] QTWebengine compliance with FSDG

Herman van Hazendonk me at herrie.org
Tue Jan 24 09:35:40 CET 2017


Hi Luke,

For our little OS distribution LuneOS (based on HP/Palm's open sourced 
webOS) with various added bits we did the migration to QtWebEngine a 
while ago (we've went through a number of updates and are at 5.6.x now), 
so I can share something about our experience:

1. As far as I know this doesn't happen since it's a very stripped down 
Chromium, but I'm unable to double check & confirm this. You could have 
a look at https://github.com/qt/qtwebengine-chromium/ to see if there 
are any clues. Sync, Hangouts etc are for sure not there.

2. a. You need to specifically enable these during the build. See 
https://github.com/webOS-ports/meta-webos-ports/blob/krogoth/meta-luneui/recipes-qt/qt5/qtwebengine_git.bbappend#L6 
what we do in our recipe for this. We use the meta-qt5 layer for this.
    b. You need to enable this again in your WebEngineView as well like 
we did here: 
https://github.com/webOS-ports/luneos-components/blob/master/modules/LuneOS/Components/LunaWebEngineView.qml#L56

3. Not sure what flags you're referring to specifically, but we use the 
following to enable proprietary (MP3) plugins, use PulseAudio and enable 
plugins: 
https://github.com/webOS-ports/meta-webos-ports/blob/krogoth/meta-luneui/recipes-qt/qt5/qtwebengine_git.bbappend#L4

meta-qt5 does something similar for other options: 
https://github.com/meta-qt5/meta-qt5/blob/master/recipes-qt/qt5/qtwebengine_git.bb#L32

For Geolocation API: This is denied by default: You'd need to implement 
a dialog to allow the user to accept these requests, similar to what 
we've done here: 
https://github.com/webOS-ports/luneos-components/blob/master/modules/LuneOS/Components/LunaWebEngineView.qml#L45

4. Not sure, we haven't tested this.

meta-qt5 would be a good layer to start with for qtwebengine, a lot of 
work has been done to get this working properly already on embedded 
systems, qemux86 etc, so it should save you a lot of work for 
reinventing the wheel.

Best regards,
Herrie



On 2017-01-24 00:45, Luke wrote:
> Hello,
> I am currently a packager for Parabola GNU/Linux-libre. While
> investigating the change from Webkit to Webengine, I discovered several
> concerning issues that affect our compliance with the Free Software
> Foundation's Free System Distribution Guidelines (FSDG).[1] I am 
> hopeful
> that some developers will be able to clarify these issues for us as it
> affects hundreds of projects downstream including nearly all of KDE, as
> well as many QT programs.
> 
> In particular, your website claims it is not just a rendering engine,
> "it is the entire Chromium platform."[2]
> 
> If this is true, there are many outstanding issues with Chromium which
> we would need to be addressed.
> 
> 1) Was any attempt made to remove Google specific code from Chromium
> prior to preparing QTWebengine?
> - If not, could ungoogled-chromium patches be applied to your code?[3]
> 
> By default, Chromium has many lines of code that make internet queries
> to Google. Building it using the default settings essentially puts your
> browser into the cloud. As mentioned in the GNU.org article "Who does
> that server really serve?"[4], free software is only free when you are
> in control. Any use of Google API, Google Sync, Google Hangouts, and
> Google OK, does not classify as free software.
> 
> 2) Is any form of proprietary code such as Adobe pepperflash, webvine
> DRM[5], or proprietary codecs included? If so, can they be removed or
> disabled with a compile time option?
> 
> 3) Is it possible to compile QTWebengine with specific 
> chrome://flags?[6]
> 
> Due to privacy and security concerns of Geolocation API, and GamePad
> API, among others, we would like to have the ability to disable these
> settings for our distribution.
> 
> 4) Was any work done to fix outstanding proxy leaks in Chromium, which
> ignore system proxy settings?[7]
> 
> Once these issues are resolved we will able to include QTWebengine in
> our distribution without issue, otherwise we may have to remove it. Due
> to this being a core package we are hesitant to remove it due to the
> hundreds of packages now depending upon it.
> 
> Thank you for your time and concern regarding this important matter.
> 
> 
> Sincerely,
> Luke
> Parabola GNU/Linux-libre Packager
> https://parabola.nu
> 
> 1. https://www.gnu.org/distros/free-system-distribution-guidelines.html
> 2. https://wiki.qt.io/QtWebEngine
> 3. https://github.com/Eloston/ungoogled-chromium
> 4. 
> https://www.gnu.org/philosophy/who-does-that-server-really-serve.html
> 5. http://defectivebydesign.org/
> 6.
> http://stackoverflow.com/questions/17060363/google-chrome-how-can-i-programmatically-enable-chrome-flags-some-of-the-mod
> 7. https://bugs.chromium.org/p/chromium/issues/detail?id=80722#c33
> 
> 
> 
> _______________________________________________
> QtWebEngine mailing list
> QtWebEngine at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/qtwebengine




More information about the QtWebEngine mailing list