HTTP/2 and no-longer "experimental"

classic Classic list List threaded Threaded
16 messages Options
Reply | Threaded
Open this post in threaded view
|

HTTP/2 and no-longer "experimental"

Jim Jagielski
There was discussion some time ago about dropping the "experimental"
tag from our HTTP/2 implementation. It is causing loads of people
to not use it, as well as allowing for the perpetuation of FUD that
httpd really doesn't support HTTP/2.

I'd like for 2.4.26 to be the release that removes that tag. It
implies a transition to RTC in 2.4 for it, but I think that that
is workable and realistic at this point...

Thoughts? Comments?
Reply | Threaded
Open this post in threaded view
|

Re: HTTP/2 and no-longer "experimental"

Eric Covener
On Wed, May 31, 2017 at 8:07 AM, Jim Jagielski <[hidden email]> wrote:

> There was discussion some time ago about dropping the "experimental"
> tag from our HTTP/2 implementation. It is causing loads of people
> to not use it, as well as allowing for the perpetuation of FUD that
> httpd really doesn't support HTTP/2.
>
> I'd like for 2.4.26 to be the release that removes that tag. It
> implies a transition to RTC in 2.4 for it, but I think that that
> is workable and realistic at this point...
>
> Thoughts? Comments?

I think we should drop the experimental label/treatment. If not now,
it seems like it's effectively permanent in 2.4.
Reply | Threaded
Open this post in threaded view
|

Re: HTTP/2 and no-longer "experimental"

Daniel Ruggeri
In reply to this post by Jim Jagielski
+1!
--
Daniel Ruggeri


From: Jim Jagielski <[hidden email]>
Sent: May 31, 2017 7:07:21 AM CDT
To: httpd-dev <[hidden email]>
Subject: HTTP/2 and no-longer "experimental"

There was discussion some time ago about dropping the "experimental"
tag from our HTTP/2 implementation. It is causing loads of people
to not use it, as well as allowing for the perpetuation of FUD that
httpd really doesn't support HTTP/2.

I'd like for 2.4.26 to be the release that removes that tag. It
implies a transition to RTC in 2.4 for it, but I think that that
is workable and realistic at this point...

Thoughts? Comments?
Reply | Threaded
Open this post in threaded view
|

Re: HTTP/2 and no-longer "experimental"

Graham Leggett
In reply to this post by Jim Jagielski
On 31 May 2017, at 2:07 PM, Jim Jagielski <[hidden email]> wrote:

> There was discussion some time ago about dropping the "experimental"
> tag from our HTTP/2 implementation. It is causing loads of people
> to not use it, as well as allowing for the perpetuation of FUD that
> httpd really doesn't support HTTP/2.
>
> I'd like for 2.4.26 to be the release that removes that tag. It
> implies a transition to RTC in 2.4 for it, but I think that that
> is workable and realistic at this point...
>
> Thoughts? Comments?
+1 to no-longer-experimental.

+1 to RTC.

Further ABI breaking improvements can target httpd v2.6.

Regards,
Graham



smime.p7s (4K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: HTTP/2 and no-longer "experimental"

William A Rowe Jr
In reply to this post by Jim Jagielski
On Wed, May 31, 2017 at 7:07 AM, Jim Jagielski <[hidden email]> wrote:

> There was discussion some time ago about dropping the "experimental"
> tag from our HTTP/2 implementation. It is causing loads of people
> to not use it, as well as allowing for the perpetuation of FUD that
> httpd really doesn't support HTTP/2.
>
> I'd like for 2.4.26 to be the release that removes that tag. It
> implies a transition to RTC in 2.4 for it, but I think that that
> is workable and realistic at this point...
>
> Thoughts? Comments?

If my understanding serves, "GA" would still be an inappropriate
title for the 2.4 branch... please review my assumptions...

I have the impression that the developers still believe HTTP/2
proxy is still 'experimental' / work-in-progress. Notably, there is
a large pile of duplicate functionality in the modules/http2/ tree
which should already be promoted to httpd util commons, so
one copy of these duplicated functions are shared by both
mod_http2 and mod_proxy_http2 (as well as potential http/2
enhancement modules).

I have the impression that mod_http2 implementation in 2.6 is
already cleaner and more maintainable, owing to enhancements
Stefan already contributed and those parts of the implementation
that httpd 2.4 had subpar support for... leading to various bits of
bubblegum and twists of bailing wire, which are harder to maintain
without the 2.6 API fixes.

I'm making the presumption that once we release 2.6, we will have
considerably less interest in backporting http2 enhancements back
to the 2.4 branch, certainly not over the timespan we backported
features from 2.4 back into 2.2 or 2.2 into 2.0. If this is true, leaving
the module as "not GA" in 2.4 leaves us much more latitude to focus
on only the critical and security corrections to 2.4 and put the energy
into further enhancing performance and usability in 2.6.

If my assumptions above are wrong, ignore this thought... but if
the goal is to drive adoption of our 2.6 implementation of http2,
then simply dropping "experimental" seems unwise. Upgrading
its status from "experimental" (which I read as -alpha at best)
to a "beta" release of mod_http2 in 2.4.26 might be a really good
idea to drive interest in advance of 2.6, while averting a half-decade
long support effort of that specific module on the already five year
old stale branch.
Reply | Threaded
Open this post in threaded view
|

Re: HTTP/2 and no-longer "experimental"

Helmut K. C. Tessarek
On 2017-05-31 11:46, William A Rowe Jr wrote:
> If my assumptions above are wrong, ignore this thought... but if
> the goal is to drive adoption of our 2.6 implementation of http2,
> then simply dropping "experimental" seems unwise. Upgrading
> its status from "experimental" (which I read as -alpha at best)
> to a "beta" release of mod_http2 in 2.4.26 might be a really good
> idea to drive interest in advance of 2.6, while averting a half-decade
> long support effort of that specific module on the already five year
> old stale branch.

This topic is also about perception. Most people won't use http2 in
production, if it is marked as experimental or beta. These people might
look at other server software instead.

How long will people have to wait for 2.6? This is a fair question,
because I have no idea what your plans are. But I guess it won't be for
a while (timeframe maybe even years?).

Cheers,
 K. C.

--
regards Helmut K. C. Tessarek
lookup http://pool.sks-keyservers.net for KeyID 0xC11F128D

/*
   Thou shalt not follow the NULL pointer for chaos and madness
   await thee at its end.
*/
Reply | Threaded
Open this post in threaded view
|

Re: HTTP/2 and no-longer "experimental"

William A Rowe Jr
On May 31, 2017 1:32 PM, "Helmut K. C. Tessarek" <[hidden email]> wrote:
On 2017-05-31 11:46, William A Rowe Jr wrote:
> If my assumptions above are wrong, ignore this thought... but if
> the goal is to drive adoption of our 2.6 implementation of http2,
> then simply dropping "experimental" seems unwise. Upgrading
> its status from "experimental" (which I read as -alpha at best)
> to a "beta" release of mod_http2 in 2.4.26 might be a really good
> idea to drive interest in advance of 2.6, while averting a half-decade
> long support effort of that specific module on the already five year
> old stale branch.

This topic is also about perception. Most people won't use http2 in
production, if it is marked as experimental or beta. These people might
look at other server software instead.

How long will people have to wait for 2.6? This is a fair question,
because I have no idea what your plans are. But I guess it won't be for
a while (timeframe maybe even years?).

Very fair observation, which is the root of my question. If we don't intend to support 2.4 http2 in parallel for years once 2.6 is released, those users you mention would be wise not to deploy it in production. We see plenty of httpd instances running 3-5 year old or much older versions.

Those users who keep their software refreshed frequently would be wise to adopt http2 already, and those are the users we want to encourage.

Reply | Threaded
Open this post in threaded view
|

Re: HTTP/2 and no-longer "experimental"

Eric Covener
In reply to this post by William A Rowe Jr
On Wed, May 31, 2017 at 11:46 AM, William A Rowe Jr <[hidden email]> wrote:
> I have the impression that mod_http2 implementation in 2.6 is
> already cleaner and more maintainable, owing to enhancements
> Stefan already contributed and those parts of the implementation
> that httpd 2.4 had subpar support for... leading to various bits of
> bubblegum and twists of bailing wire, which are harder to maintain
> without the 2.6 API fixes.

I think 2.4 and trunk mod_http2 are nearly identical.  In 2.4 we have
a copy of trunks ap_create_request() to create the dummy request_recs,
and not much else substantial in the diff.



--
Eric Covener
[hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: HTTP/2 and no-longer "experimental"

Stefan Eissing
In reply to this post by William A Rowe Jr

> Am 31.05.2017 um 17:46 schrieb William A Rowe Jr <[hidden email]>:
>
> I have the impression that the developers still believe HTTP/2
> proxy is still 'experimental' / work-in-progress. Notably, there is
> a large pile of duplicate functionality in the modules/http2/ tree
> which should already be promoted to httpd util commons, so
> one copy of these duplicated functions are shared by both
> mod_http2 and mod_proxy_http2 (as well as potential http/2
> enhancement modules).

The developer of all this agrees that mod_proxy_http2 should stay experimental.
I would even recommend to remove mod_proxy_http2 from 2.4.x, until someone
finds time to address the problems reported. It works well for me, but some people
observe large transfers not working on Windows, for example.

> I have the impression that mod_http2 implementation in 2.6 is
> already cleaner and more maintainable, owing to enhancements
> Stefan already contributed and those parts of the implementation
> that httpd 2.4 had subpar support for... leading to various bits of
> bubblegum and twists of bailing wire, which are harder to maintain
> without the 2.6 API fixes.

FYI: I can also assure that code between trunk and 2.4.x is identical
except ap_create_request(), introduced in trunk, that was never back-ported.

My stance on mod_http2's experimental status is that I do not really
have an opinion. People seem to have more time and energy available,
the farther away from actual code the discussion runs. Which is contrary
to how I operate.

So:
> Am 31.05.2017 um 14:07 schrieb Jim Jagielski <[hidden email]>:
>
> There was discussion some time ago about dropping the "experimental"
> tag from our HTTP/2 implementation. It is causing loads of people
> to not use it, as well as allowing for the perpetuation of FUD that
> httpd really doesn't support HTTP/2.

What could a change of "experimental" do?

- A. It could address the FUD. Which I assume is important for market shares.
And for people who have done serious investments (successful ones) in httpd
in the past, be it money or time.

- B. People come out and say: "when experimental is gone, I might finally
find the time to improving HTTP/2 support with the great ideas and/or long
time experience that I have!"


On A, I am not interested. I will neither promote nor disapprove any change
there. I just does not matter to me, personally. But if you want to talk
about B, I am all ears!

Cheers,

Stefan

PS. Merit: the following people, beside myself, have contributed to
the HTTP/2 efforts (to the best of my and svn praise memory):

- Yann did much work in analyzing crashes and made fixes
- Jim did the original import and added conn_rec* master
- Graham (minfrin) added ap_create_request() to trunk
- jfclere and jchampion did some code formatting/cleanups
- rjung added forgotten APLOGNOs
- jailletc and elukey worked a lot on the docs
- many, many people tested

Thank you!

Reply | Threaded
Open this post in threaded view
|

Re: HTTP/2 and no-longer "experimental"

Jim Jagielski

> On Jun 1, 2017, at 4:40 AM, Stefan Eissing <[hidden email]> wrote:
>
> What could a change of "experimental" do?
>
> - A. It could address the FUD. Which I assume is important for market shares.
> And for people who have done serious investments (successful ones) in httpd
> in the past, be it money or time.

Not so much market shares, for market share reasons, but simply
that people who could and should be using httpd for http/2 simply
aren't. It's a blocker to having more people use it, which means
less bug reports and less feedback on fixes, etc...

>
> - B. People come out and say: "when experimental is gone, I might finally
> find the time to improving HTTP/2 support with the great ideas and/or long
> time experience that I have!"
>

There is that as well... it's no good having a substantial module
with very, very limited expertise shared and involvement.
Reply | Threaded
Open this post in threaded view
|

Re: HTTP/2 and no-longer "experimental"

Eric Covener
On Thu, Jun 1, 2017 at 7:10 AM, Jim Jagielski <[hidden email]> wrote:
>>
>> - B. People come out and say: "when experimental is gone, I might finally
>> find the time to improving HTTP/2 support with the great ideas and/or long
>> time experience that I have!"
>>
>
> There is that as well... it's no good having a substantial module
> with very, very limited expertise shared and involvement.

I don't really think developers are sidelined by this directly, but
maybe indirectly by the adoption reduced by A).

--
Eric Covener
[hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: HTTP/2 and no-longer "experimental"

Yann Ylavic
In reply to this post by Eric Covener
On Wed, May 31, 2017 at 2:23 PM, Eric Covener <[hidden email]> wrote:

> On Wed, May 31, 2017 at 8:07 AM, Jim Jagielski <[hidden email]> wrote:
>> There was discussion some time ago about dropping the "experimental"
>> tag from our HTTP/2 implementation. It is causing loads of people
>> to not use it, as well as allowing for the perpetuation of FUD that
>> httpd really doesn't support HTTP/2.
>>
>> I'd like for 2.4.26 to be the release that removes that tag. It
>> implies a transition to RTC in 2.4 for it, but I think that that
>> is workable and realistic at this point...
>>
>> Thoughts? Comments?
>
> I think we should drop the experimental label/treatment. If not now,
> it seems like it's effectively permanent in 2.4.

+1
Reply | Threaded
Open this post in threaded view
|

Re: HTTP/2 and no-longer "experimental"

Jacob Champion-2
In reply to this post by Graham Leggett
On 05/31/2017 08:11 AM, Graham Leggett wrote:
> +1 to no-longer-experimental.
>
> +1 to RTC.

+1 to both.

--Jacob
Reply | Threaded
Open this post in threaded view
|

Re: HTTP/2 and no-longer "experimental"

Jim Jagielski
It sounds like there is some consensus that http/2 be no longer
tagged as experimental is that it be moved to RTC. I also sounds
like we wish to keep mod_proxy_http2 as experimental however
(and CTR).

Reply | Threaded
Open this post in threaded view
|

Re: HTTP/2 and no-longer "experimental"

Yann Ylavic
On Fri, Jun 2, 2017 at 2:14 PM, Jim Jagielski <[hidden email]> wrote:
> It sounds like there is some consensus that http/2 be no longer
> tagged as experimental is that it be moved to RTC. I also sounds
> like we wish to keep mod_proxy_http2 as experimental however
> (and CTR).

My understanding (and whish) too.
Reply | Threaded
Open this post in threaded view
|

Re: HTTP/2 and no-longer "experimental"

Jacob Perkins
Just to point it out, RH 7.4 is upgrading OpenSSL to include ALPN support, so http2 usage will likely grow greatly soon with one less dependency to carry around.


> On 2 Jun 2017, at 07:17, Yann Ylavic <[hidden email]> wrote:
>
> On Fri, Jun 2, 2017 at 2:14 PM, Jim Jagielski <[hidden email]> wrote:
>> It sounds like there is some consensus that http/2 be no longer
>> tagged as experimental is that it be moved to RTC. I also sounds
>> like we wish to keep mod_proxy_http2 as experimental however
>> (and CTR).
>
> My understanding (and whish) too.