
----- Original Message -----
From: Dave Abrahams <dave@boostpro.com>
If I move from boost::thread to std::thread then yes, I'm expecting some costs moving. But merely 'upgrading' Boost, which might not require any action
from
the developer himself, should not come with such costs.
[snip] In general we try to avoid it, but sometimes progress is more important than backward compatibility. [snip]
Probably I would find myself in minority or hated by many Boost **developers** but I would say clearly that there are hundreds thounds of C++ developerds and thousands of project that break because Boost breaks API. HUGE amount of man hours are spent just because Boost breaks stuff. I would like to provide a recent quote of Linus Torvalds regarding the kernel: > WE DO NOT BREAK USERSPACE! Seriously. How hard is this rule to understand? > [...] The fact that you then try to make *excuses* for breaking user space, Of course Boost is not Linux kernel, (if Linux kernel was managed as Boost I would switched to FreeBSD) and it not as important to maintain backward compatibility from user perspective, but this is something we MUST learn. There should be VERY STRONG reasons for breaking API, not just because new iterface is much better. This reminds me other discusstion I started: http://thread.gmane.org/gmane.comp.lib.boost.devel/237276 About security fixed and updates on which I got no reactions... Bottom line: - Boost does not provide fixes of critical bugs, for stable released - Boost does not provide security updates for stable released - Technically boost does not maintain stable releases at all - Boost breaks API. So how can it be used in some long running projects? The answer it can't, you either stuck with a release with huge holes and critical bugs or you break your software trying to upgrate and keep up with some new progressive and great idea some library brings. If boost does not maintain stable releases it must not break its API.
-- Dave Abrahams BoostPro Computing Software Development Training http://www.boostpro.com Clang/LLVM/EDG Compilers C++ Boost
This is just a sad reality Regards, Artyom Beilis -------------- CppCMS - C++ Web Framework: http://cppcms.com/ CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/