On Sat, Nov 28, 2020 at 5:23 AM Rainer Deyke via Boost < boost@lists.boost.org> wrote:
On 28.11.20 00:25, Emil Dotchevski via Boost wrote:
Deleting support for C++11 and older versions means breaking user code. Therefore, forking means fracturing of the community. I don't see how
this
is helpful to the users.
The current status quo is that individual library maintainers can choose to drop support for old C++ standards at any time. This means that user are often stuck on a specific version of the 1.x line.
You're trying to say that the status quo is to break user code. The actual status quo is to have the option to break user code. Above, you're arguing that breaking user code sucks for the users. Agreed.
One of the big weaknesses of Boost, from a user perspective, is the way releases are handled, with each release potentially containing breaking changes bundled along with the bug fixes and new features. What I'd really like to see is a policy where breaking changes are reserved for major (x.0) versions, with minor (x.y) versions only containing bug fixes and backwards-compatible new features. Since the major versions aren't expected to be completely backwards-compatible, they could make relatively bold changes like dropping obsolete libraries.
(The drawback of this approach is of course that on the developer side it's a lot more work to support multiple versions of a library in parallel. I have deliberately taken a user-centric view here.)
This can be done at the library level. The "drawback" is that the library developer who breaks user code has more work to do, which in my mind is excellent.