<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Nov 21, 2016, at 5:55 AM, Chris Bailey via swift-server-dev <<a href="mailto:swift-server-dev@swift.org" class="">swift-server-dev@swift.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><font size="2" face="sans-serif" class="">>> </font><tt class=""><font size="2" class="">But it
sounds like MIT licensed code can’t be used as part of the effort, maybe
that should be added the the front-page of the effort.</font></tt>
<br class="">
<br class=""><font size="2" face="sans-serif" class="">I'm not 100% convinced this is true.
There's nothing (legally) preventing the inclusion of MIT licensed code
in a Apache 2.0 licensed product, you just may have to list some Product
Unique Terms (PUTs) to cover it - we don't need the Node.js community to
dual-license it for us to use it. Parts of the Swift toolchain already
have compiled-in dependencies on MIT licensed code, so my guess is that
ship has already sailed on using non-Apache 2.0 licensed code.</font>
<br class="">
<br class=""><font size="2" face="sans-serif" class="">Having said that, we'd obviously need
a read and approval from the Swift Core Team (and Apple legal!) before
making a compiled-in dependency on anything.</font>
<br class=""></div></blockquote><div><br class=""></div><div>We want a consistent license over the entire code base. I imagine we will make an external test suite that will be in a different repository so this will not be an issue.</div><div><br class=""></div><div>Originally we put the swift perf test suite in the swift tree since people kept on breaking it. Since we use PR testing this is no longer an issue (the benchmarks are built as apart of the PR testing). There are some questions around how this is done/who is it done by/when is it down, that will need to be answered before I can move forward with this.</div><div><br class=""></div><div>Michael</div><br class=""><blockquote type="cite" class=""><div class="">
<br class=""><font size="2" face="sans-serif" class="">Chris</font>
<br class="">
<br class="">
<br class="">
<br class=""><font size="1" color="#5f5f5f" face="sans-serif" class="">From:
</font><font size="1" face="sans-serif" class="">Helge Heß via swift-server-dev
<<a href="mailto:swift-server-dev@swift.org" class="">swift-server-dev@swift.org</a>></font>
<br class=""><font size="1" color="#5f5f5f" face="sans-serif" class="">To:
</font><font size="1" face="sans-serif" class="">"<a href="mailto:swift-server-dev@swift.org" class="">swift-server-dev@swift.org</a>"
<<a href="mailto:swift-server-dev@swift.org" class="">swift-server-dev@swift.org</a>></font>
<br class=""><font size="1" color="#5f5f5f" face="sans-serif" class="">Date:
</font><font size="1" face="sans-serif" class="">20/11/2016 18:08</font>
<br class=""><font size="1" color="#5f5f5f" face="sans-serif" class="">Subject:
</font><font size="1" face="sans-serif" class="">Re: [swift-server-dev]
HTTP Parser</font>
<br class=""><font size="1" color="#5f5f5f" face="sans-serif" class="">Sent by:
</font><font size="1" face="sans-serif" class=""><a href="mailto:swift-server-dev-bounces@swift.org" class="">swift-server-dev-bounces@swift.org</a></font>
<br class="">
<hr noshade="" class="">
<br class="">
<br class="">
<br class=""><tt class=""><font size="2" class="">Hi Dave,<br class="">
<br class="">
thanks for your post, this detail is indeed quite helpful.<br class="">
<br class="">
I don’t think anyone seriously suggested using a Swift port of the http_parser
but instead just the upstream C one. But it sounds like MIT licensed code
can’t be used as part of the effort, maybe that should be added the the
front-page of the effort.<br class="">
<br class="">
I assume it is not a huge issue though as a libhttp_parser can be shipped
separately from Swift itself, similar to what you would do for OpenSSL
etc (and what is already being done with libcurl on Linux).<br class="">
<br class="">
In any case: Whatever is decided, it at least establishes a performance
characteristic, I think any replacement should accomplish a comparable
one - preferably faster of course :-)<br class="">
<br class="">
hh<br class="">
<br class="">
<br class="">
> On 20 Nov 2016, at 16:58, David Sperling via swift-server-dev <<a href="mailto:swift-server-dev@swift.org" class="">swift-server-dev@swift.org</a>>
wrote:<br class="">
> <br class="">
> I would like to provide some additional detail to the discussion on
November 4 (which I missed since I joined recently).<br class="">
> <br class="">
> The team pointed out this thread in Kitura which I initially opened:<br class="">
> </font></tt><a href="https://github.com/IBM-Swift/Kitura-net/issues/52" class=""><tt class=""><font size="2" class="">https://github.com/IBM-Swift/Kitura-net/issues/52</font></tt></a><tt class=""><font size="2" class=""><br class="">
> <br class="">
> Here is the referenced Swift http_parser project which I initially
ported as a thought experiment. The goals, API and performance are
described in the readme.<br class="">
> </font></tt><a href="https://github.com/smithmicro/HTTPParser" class=""><tt class=""><font size="2" class="">https://github.com/smithmicro/HTTPParser</font></tt></a><tt class=""><font size="2" class=""><br class="">
> <br class="">
> Michael Gottesman from Apple (@gottesmm) contacted me 2 weeks ago
to see if we could add the project into the Swift Benchmark Suite. See
the bottom of this PR for the request:<br class="">
> </font></tt><a href="https://github.com/IBM-Swift/Kitura-net/pull/55" class=""><tt class=""><font size="2" class="">https://github.com/IBM-Swift/Kitura-net/pull/55</font></tt></a><tt class=""><font size="2" class=""><br class="">
> <br class="">
> Michael and I approached the Node.js Foundation to see if they were
willing to dual license http_parser under Apache 2 so it would be compatible
with the Swift license. Here is that discussion, but in summary,
a dual license is not realistic.<br class="">
> </font></tt><a href="https://github.com/nodejs/http-parser/issues/344" class=""><tt class=""><font size="2" class="">https://github.com/nodejs/http-parser/issues/344</font></tt></a><tt class=""><font size="2" class=""><br class="">
> <br class="">
> So, a http_parser Swift port:<br class="">
> - Would not have the proper license to be included in Swift<br class="">
> - Does not take full advantage of Swift<br class="">
> - Has the issues previously pointed out (UnsafePointers, asserts,
throws simulating gotos)<br class="">
> - Does, however, demonstrate a Swift HTTP parser performance of 500K
requests per second<br class="">
> <br class="">
> <br class="">
> Looking forward to meeting everyone on our call tomorrow. Hopefully
this detail was helpful.<br class="">
> <br class="">
> <br class="">
> Dave Sperling<br class="">
> Smith Micro<br class="">
<br class="">
_______________________________________________<br class="">
swift-server-dev mailing list<br class="">
<a href="mailto:swift-server-dev@swift.org" class="">swift-server-dev@swift.org</a><br class="">
</font></tt><a href="https://lists.swift.org/mailman/listinfo/swift-server-dev" class=""><tt class=""><font size="2" class="">https://lists.swift.org/mailman/listinfo/swift-server-dev</font></tt></a><tt class=""><font size="2" class=""><br class="">
</font></tt>
<br class="">
<br class=""><font size="2" face="sans-serif" class=""><br class="">
Unless stated otherwise above:<br class="">
IBM United Kingdom Limited - Registered in England and Wales with number
741598. <br class="">
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU<br class="">
</font>
_______________________________________________<br class="">swift-server-dev mailing list<br class=""><a href="mailto:swift-server-dev@swift.org" class="">swift-server-dev@swift.org</a><br class="">https://lists.swift.org/mailman/listinfo/swift-server-dev<br class=""></div></blockquote></div><br class=""></body></html>