Boost logo

Boost :

Subject: [boost] [review][beast] Beast Review Results
From: Michael Caisse (mcaisse-lists_at_[hidden])
Date: 2017-07-20 07:56:15


In an effort to get you all to just read this announcement sequentially,
I will start with the result:

        Beast is ACCEPTED into Boost without conditions

The entire community is served when the Boost review process works well
and I would like to personally thank each of you who took your valuable
time and worked to make Boost better. We had 21 formal reviews submitted
from a demographic that included both seasoned participants and
first-time reviewers. It is gratifying to have such participation for
what some might see as a niche library.

  * Thank you Vinnie for your effort to assemble a high-quality package
    for review and for your responsiveness on the mail-lists. GitHub,
    and Slack.
  * Thank you to the individuals that submitted their first Boost
    review.
  * Thank you to the veteran contributors and authors for continuing to
    devote energy to the community.

I found the discussion surrounding the library beneficial and I know
that Vinnie walked away with actionable items to improve Beast.

--------------------
The Stats:
--------------------

While the review process is not exactly tallying up votes and casting a
verdict, we can gain some insight of the general, gross-scale opinion of
the library.

Official reviews were received from:

   Reviewer Accept | Reject
------------------------------------------
 * Zach Laine : X
 * Nik Bougalis : X
 * Artyom Beilis : X
 * Peter Dimov : X
 * Klemens Morgenstern : X
 * Glen Fernades : X
 * Marcel Ebmer : X
 * Scott Determan : X
 * Stanislav Karchebnyy : X
 * Michael Larson : X
 * Vadim Zeitlin : X
 * Jared Wyles : X
 * Niall Douglas : X
 * Barrett Adair : X
 * Gyorgy Szekely : X
 * Daniela Engert : X
 * Jens Weller : X
 * Phil Endecott : X
 * Bjorn Reese : X
 * Rüdiger Berlich : X
 * Christopher Kohlhoff : X

Most of the reviewers agreed on the inclusion of Beast into Boost and at
the same time that Beast isn't a great name for the library. (Just say
Boost.Beast 10-times-fast). Vinnie has a FAQ item discussing the name
and his continuing use is deliberate. He has heard the petitions to
change and weighed them.

--------------------
Concerns:
--------------------

A variety of concerns and comments were made during the review. An
impressive number of items were addressed in code or documentation
during the review period itself.

Some of the stated concern for rejection included:

* Too many templates
* Run-time polymorphism / OO would be better.

* Library scope is too small and provides no real value to users -

  This is clearly one of those value judgements and for some users the
  not-in-scope nature of Beast made the feature set not compelling
  enough to use or have as a Boost library. Other users spent time
  converting existing projects to use Beast. This included projects
  previously running POCO, libcurl, and homegrown solutions.

  Beast has existing commercial and open-source users. The library
  clearly meets the needs of some users.

* Premature optimization
* Security concerns

* Poor support for HTTP chunking -

  Vinnie proposed and then later made changes addressing the chunking
  concerns. Unfortunately, the reviewer with the complaint did not
  respond to multiple requests for feedback.

* Licensing -

  Four files have dual licenses (BSL and another). Boost's legal
  counsel is reviewing the situation and we hope to have guidance by
  the end of this week. I have not placed a condition on the
  acceptance of Beast based on the legal feedback because Vinnie knows
  licensing issues must be remedied before the repository is merged
  into Boost.

--------------------
The Upsides:
--------------------

There were lots of great things said about the Beast package. Some of
these include:

* Great documentation
* High quality implementation.
* Thorough test suites
* Already being used by commercial entities and others
* Lots of successful real-life conversions of existing clients/servers
* Extremely responsive developer (do you sleep Vinnie?)

--------------------
An Author as much as a Library:
--------------------

Accepting a library into Boost is also accepting an author. Boost
authors have enormous latitude in the control and modifications of their
libraries. Vinnie has shown dedication to addressing issues, listening
to constructive input, making changes when appropriate, and protecting
his vision of what the Beast is. I believe Vinnie will serve the
community well as a contributor.

--------------------
Final Thoughts:
--------------------

Reviews are hard. It is hard to have your work torn apart and remain
considerate. It is hard to repeat answers to previously asked questions.
It is hard to explain specific use-cases and why it is important a
library supports them. It is difficult to critique a large body of work.
It is hard to stick with conversations to make overall improvements.

I was impressed with the participants in the review. We are all
opinionated and passionate -- likely a prerequisite to being part of the
Boost community. Thank you all for making Boost better.

I'm looking forward to seeing additional libraries and application built
with Beast.

-- 
Michael Caisse
Ciere Consulting
ciere.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk