On Mon, Jun 29, 2020 at 3:47 AM Andrey Semashev via Boost < boost@lists.boost.org> wrote:
On 2020-06-29 04:49, René Ferdinand Rivera Morell via Boost wrote:
On Sun, Jun 28, 2020 at 8:26 PM Glen Fernandes via Boost < boost@lists.boost.org> wrote:
The concrete items mentioned that have been known to inhibit participation appear to be: - Mailing lists - Boost.Build
Not sure what to do about the second.
It's easy.. Make it abundantly clear that a build system, *any* build system, is expected or required for review. And one way to do that is to *require* no build system for review. Because if your library can be reviewed easily without a build system it means the portability of your code is good. Anything else should be a red flag for reviewers.
PS. I'll keep living the dream when we don't distribute any build system with our libraries. Or the alternate dream where we distribute with 5 or more alternate build system specifications.
Assuming the library requires separate compilation, a build system is needed for the library to be usable. Reviewing and accepting a library that is not usable makes no sense.
All users already have a build system. Most have it in the form of an IDE. It should be trivial to add the library's source files to your own build system for review purposes. If the library design makes that hard it should be a red flag.
Furthermore, in order for users to be able to use Boost, they need a way to build it, that is compile and install artifacts of every library in a common place. There needs to be a common interface for doing this. Currently, this is achieved by Boost.Build, so any new library has to integrate with it. If it uses a different build system internally, it must at least support being invoked from Boost.Build. Without this user experience will be severely hampered.
That can happen after acceptance. Expecting libraries to use B2, or any particular build system, for review increases the barrier of entry.
[snip]
However,
personally I'm opposed to having mode than one build systems per library, as that unnecessarily increases maintenance burden.
Having more than one build system in your library reduces the friction for users. Hence it increases the set of likely users. I think that's worth the maintenance burden. -- -- René Ferdinand Rivera Morell -- Don't Assume Anything -- No Supone Nada -- Robot Dreams - http://robot-dreams.net