menu
announcement

Spectrum is now read-only. Learn more about the decision in our official announcement.

Theia

Eclipse Theia - Cloud & Desktop IDE

Channels
Team

CQ issue: LGPL content distributed with Electron

March 6, 2019 at 1:21pm

CQ issue: LGPL content distributed with Electron

March 6, 2019 at 1:21pm
In short a library bundled with Electron is of LGPL license: libffmpeg. Looks like it comes from Chromium, and is downloaded as a post-install script for the "electron" npm module, that we depend-on.
I think that in this case, if required, we should go forward and request an exception from the Eclipse board; the alternative is to remove the dependency and so give-up on having native (Electron) Theia applications.

March 7, 2019 at 11:58am
Update: Electron has previously been granted an exception, to be distributed by/with the Eclipse Orion project. Sharon will look into the details and see if the exception would also cover our case.
Do we have an example of embedding theia inside an angular app ?
I couldn't find any such examples
please start a new thread/conversation for this distinct subject
Considering the removal of Electron in Theia is pretty disastrous for us. please let me know if I can help justify having this support kept. I wonder how google license this package in Chrome and whether it's actually Electron distributing it in our case, not Theia?
Edited
like-fill
1
+1 : My understanding is that the Foundation is being extra careful with anything *GPL. In this case, IIUC, there is not copyright issue so long as the requirements of the LGPL are respected (LGPL library dynamically linked-to (it is), proper attribution, source code provided or offer of providing it, ...).
I think it does not really matter where the LGPL library comes from, if it gets pulled when a Theia developer runs "yarn" to build a Theia application, we are considered to be distributing it.
The fact that this exception was previously granted for another project is a good clue that it's possible, so I am not worried. BTW, Electron is also important to us, as some of our users want to just use a "desktop" application.
like-fill
2

March 12, 2019 at 3:30pm
I'm not 100% sure ffmpeg is bundled with Electron any more. This thread seems to suggest that it's an optional .so file that end users have to build into electron in order to use it: https://github.com/electron/libchromiumcontent/issues/174
Hi Rob! I think at the time they were bundling a static version of libffmpeg, that could not easily be replaced. Since then they have changed it to a dynamic library that can be, and also has the advantage of being usable from non-*GPL code while complying with the LGPL. (see this, linked from the issue you reference above: https://github.com/electron/libchromiumcontent/pull/279)
Edited
I installed the latest Electron, 4.0.8, and confirmed that libffmpeg is still bundled:
$ find . -name libffmpeg.so ./node_modules/electron/dist/libffmpeg.so

March 15, 2019 at 3:10pm
Update: I was asked to break-out the Electron dependency in a separate CQ. Here it is: https://dev.eclipse.org/ipzilla/show_bug.cgi?id=19253
On the CQ, there is a question asked about Theia's usage of Electron. I will try responding, but would welcome others also giving feedback. For convenience, here it is: "What is the value that Theia brings in the local scenario in comparison to VSCode?"
Edited
What is the value that Theia brings in the local scenario in comparison to VSCode?
You cannot build white-labeled products like ARM Mbed Studio with VS Code.
for enterprises who used to build custom products based on Eclipse RCP there is a lot of value in it
like-fill
1
btw i wanted to make Electron dev dependency, so that it is not installed by default, i.e. for cloud cases and clients who needs it would need to include it explicitly in app package.json
but i guess it won't help with CQ
Edited

March 18, 2019 at 7:14am
What is the value that Theia brings in the local scenario in comparison to VSCode?
1) Theia has a more flexible extension model (i.e. you can build white-labeled products and more powerful tools) 2) Theia is open-source governed 3) Theia runs in browsers, i.e. you can do single-sourcing for developer tools that should run both on desktop and in browsers.
like-fill
2
Posted that on the CQ as well.

March 18, 2019 at 7:17pm
FYI, our explanation was good enough. We were asked if we wanted to proceed with going to the Eclipse Foundation board to request approval to use Electron, and answered "yes".
like-fill
1

March 26, 2019 at 11:24am
Update: Our Electron CQ was approved! Details here: https://dev.eclipse.org/ipzilla/show_bug.cgi?id=19253