Boost logo

Boost :

From: Vinnie Falco (vinnie.falco_at_[hidden])
Date: 2023-02-17 16:49:44


On Fri, Feb 17, 2023 at 8:17 AM Jeff Garland <azswdude_at_[hidden]> wrote:
> Well it isn't for those users stuck on c++11.
> There are users for which the new facilities are quite beneficial.

There is no question that new C++ features can be beneficial. But the
nature of the bureaucracy is that it too steeply discounts the value
of doing nothing. Every new feature comes with an opportunity cost and
the nature of the committee is that the authors of successful papers
reap the benefits, while everyone else pays the costs.

> > rush to deliver spaceship broke some code
>
> So what? Progress can't be made without *some* mistakes -- as
> you should know, there are a lot of complicated cases. The fixes
> for that breakage weren't difficult.

I would even question the assumption that op<=> represents progress.
This is an example where the purported benefits are likely not worth
the cost. The whole thing seemed to me to be a public relations
maneuver. Regardless of how "difficult" the fixes are, a key objective
of new C++ standards is to not break existing programs. I expect the
frequency of breakage to only increase with time, as the activities of
the committee deviate more and more with the original function of ISO
bodies:

    "ISO is supposed to (a) rubber-stamp existing de-facto standards,
     (b) provide a "safe space" for major industry players to negotiate
     a standard without violating antitrust laws"

> > ...it is a problem for any large organization...
> All this applies to Boost just as well as WG21.

Well, no it doesn't. Boost is not a large organization, it has no
bureaucracy, it has no voting, and it has no papers. It is actually a
federation of independent libraries where each library is governed by
a dictator whose interests are aligned with the users of the library.
This setup ("social technology") is pretty darn effective. Collective
progress is achieved by people willing to do things; the person
proposing a solution is also the one incurring its cost of
implementation. Thus economic incentives are aligned.

> > Boost should not follow. Instead, we should lead.
> As a member of Boost since the early 2000's I couldn't agree more.
> I don't think we are doing that currently, sorry.

Yes I think you are right about this. When a successful organization
loses its founders without solving the "succession problem"
(https://samoburja.com/the-succession-problem) it can stop being a
live player. Boost was a live player when it led useful and successful
additions to the standard (C++11). But when Boost's founders stepped
back (for the known reasons) the innovation slowed, and WG21 was seen
as the preferred vehicle for achieving progress.

> And continuing support for ancient revisions of the standard isn't a way to lead to the future.

"continuing support for ancient revisions" is a strawman. There is an
enormous quantitative difference in the cost of supporting C++03
versus the cost of supporting C++11. To be specific, we gain a lot
from dropping C++03. We gain very little from dropping C++11: all we
get is removing a few configurations from Continuous Integration. Not
worth it.

> I don't want to get into a big debate about this, it's not worth our time.

It is definitely worth my time, because the focus of 100% of my
professional work output is to improve Boost. It is to lead by
example, and refresh the foundations of Boost by performing the roles
of the missing founders.

Instead of pointlessly breaking existing users every 3 years I am doing this:

* preparing a transition from boostbook to Asciidoc (boostbook is at
end-of-life)
* creating new Asciidoc style sheets to make our docs look good
* helping build hdoc to replace our use of Doxygen (https://hdoc.io/)
* preparing a new website to replace the existing Boost website
* preparing "Powered By Boost" - a server that runs on Boost technology
  - deployed publicly
  - pages demonstrating Beast, MySQL, Redis
  - using Describe, Mustache (even though it is not in Boost yet)
  - open source
  - example code for doing things people want to do
* promoting Boost on Twitter
* continuing to deliver value for users with Boost libraries like JSON, URL
  - and the upcoming Buffers, Http.Proto, and Http.Io
* sponsoring talks for CppCon and videos for the upcoming "Boost
Recipes" youtube channel

Thanks


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