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