If there is no other comments here, we will work out to separate
JavaScriptCore.so from the binary of weex_sdk as planned, which is also
weeks of workload. Maybe @ddy199726 shall give us a hand.

Best Regards,
York Shen

申远

在 2019年7月18日,11:22,York Shen <[email protected]> 写道:

Just some further information about what @ddy199726 said.

The relationship between weex and JavaScriptCore is similar to the
relationship between any Java Project and JDK.


   - If one want to run a Java program, he/she must have a JDK/JRE to
   interpret Java byte code.
   - If one want to run a Weex program, he/she must have a JavaScript
   interpretator to interpret JavaScript. Here we choose JavaScriptCore.
   - Like any Java program must import some Java Class in the standard
   JDK/JRE, weex has to import the some API (.h file) in JavaScriptCore. All
   those API itself is under BSD License. @ddy199726 and I have doubled
   checked it.
   - The only problem I see here is that JavaScriptCore is inside the
   binary of Weex, which should not happen anymore. We plan to decouple it
   from Weex then users must include weex_sdk and JavaScriptCore together in
   their product.


Best Regards,
York Shen

申远

在 2019年7月17日,15:16,[email protected] 写道:

Hey I'm a developer of incubator-weex

Weex used to use JavaScriptCore's source code directly to execute
JavaScript like this way .


JSValue returnValue = evaluate(globalObject->globalExec(),
makeSource(source, sourceOrigin, url), JSValue(),
evaluationException);

in this case, globalObject is inner object of JavaScriptCore,
And makeSource is inline api of JavaScriptCore.

So Weex has to add all JavaScriptCore's source code to weex'
s repo to make it work normally. There is an function call chain like
Weex.apiA->Webkit.BSD.apiB->Webkit.BSD.apiC->Webkit.LGPL.apiD is true at
that time.

But now, Weex has refactoring the way we use JavaScriptCore.
Weex just use JavaScriptCore public api. And All JavaScriptCore source code
has been removed from weex's repo.

We just include JavaScriptCore's publish api only.

So this function chain
Weex.apiA->Webkit.BSD.apiB->Webkit.BSD.apiC->Webkit.LGPL.apiD is not
existed now.

Now Function chain is Weex.apiA -> JavaScriptCore.BSD.apiB ->
JavaScriptCore.so

So there is no webkit license and Webkit *.h in weex's repo now

you can checkout the source code from here
https://weex.apache.org/download/download.html#_0-26-0 <
https://weex.apache.org/download/download.html#_0-26-0>
javaScriptCore's api directory is
weex_core/Source/include/JavaScriptCore/API

Weex's logic that use JavaScriptCore's api is here
weex_core/Source/js_runtime

FYI, JavaScriptCore itself is under dual License too, at least Weex include
files under BSD License from JavaScriptCore




在 2019年7月16日,下午6:48,Myrle Krantz <[email protected]> 写道:

Hey all,

First of all: congratulations on your recent release!

I wanted to circle back to this to make sure it gets resolved before the
next release.

First a summary of what has happened as I see it.  If my summary is
incorrect, please let me know:
* At some point in the past Weex introduced a run-time and a compile-time
dependency to Webkit.  When adding the Webkit *.h to the repo, the correct
license of those files was accidentally overwritten.
* More recently, this mistake was discovered and a license review of Webkit
as a dependency was made in which it was realized that Webkit:
"As Webkit is under dual license, and it's almost impossible for us to
figure out whether there is an function call chain like
Weex.apiA->Webkit.BSD.apiB->Webkit.BSD.apiC->Webkit.LGPL.apiD. I'd like to
know our proposed change is enough to fix the Category X dependency."
(
https://lists.apache.org/thread.html/babe010a7814d4cf3d3d92588bee9dd22277b610daf83733d2622c91@%3Cgeneral.incubator.apache.org%3E
)
* The question of whether Webkit could release like this was raised to the
incubator and then to legal.
* Despite the lack of resolution to this question, Weex was still allowed
to make it's most recent release, because Weex is still in incubation.

While reviewing the release, it became clear to me that Weex is including
WebKit for it's JavaScriptCore.  Within WebKit, JavaScriptCore is
LGPL-licensed.  So it is likely that your functional call chains will
include LGPL-licensed code (after all that's the code you're including
WebKit for).

Is there an alternative implementation of JavaScriptCore that a user could
use in place of the LGPL-licensed portions of WebKit?

Best Regards,
Myrle

Reply via email to