On Tue, Aug 28, 2018 at 4:14 PM Edward Diener via Boost < boost@lists.boost.org> wrote:
Other than not removing useful Boost libraries which support c++03 as well as all subsequent C++ standard levels, and not telling people that they can not use such libraries in c++03 mode if they actually want to do so, I am perfectly willing to let others, including yourself, decide the best way in which support for c++03 in Boost is reduced. My argument has always been that putting a generalized statement on the website, without explaining what it actually entails as far as using Boost libraries is concerned, is going to lead to confusion and puzzlement from end-users and endless questions. What can it possibly cost to actually explain of what "Boost dropping support for c++03" actually consists, when it is finally decided what Boost is going to do in this area ? If it is a matter of correct grammar or exposition in the explanation, I will gladly volunteer to write it if no one else wants to do so.
I thought Peter Dimov got it right from the comment I saw earlier. The project would no longer spend time and effort on qualifying or testing C++03 compatibility. CI builds and the test matrix would no longer specifically test C++03. The default language level for b2 builds would be C++11. Individual repository maintainers could attempt to continue to qualify for C++03 however once an upstream dependency begins to include C++11 code, that effort would have to give way. Folks using C++03 in a project consuming boost would be encouraged to continue to use an older version of boost that is known to with with C++03. Folks in all repositories would be free to use C++11 language features without having to worry about the downstream implications. Existing libraries would not be refactored unless there was significant demonstrable benefit to doing so. Also given recent discussions on the mailing list about the need to build C++03 and C++11 DLL flavors (my suggestion was to try and make everything header-only to avoid that); dropping C++03 support would resolve that issue too. I know of more than one project still supporting C++03 - one commercial and one open-source, and both depend on Boost. Both have also discussed raising the bar in their projects to C++11 (for open source) and C++14 (for the commercial one). Setting the bar globally enables everyone to freely use new and more efficient language constructs. Doing so on each repository separately has implications as discussed above. Folks consuming boost can always hold back their boost upgrades to stay with C++03 and they can weigh the pros and cons of staying on C++03 versus moving forward. As a developer both working on and consuming boost I would appreciate the permission to start using C++11 without fear. - Jim