Boost logo

Boost Users :

Subject: Re: [Boost-users] What's happened to Ryppl?
From: Robert Ramey (ramey_at_[hidden])
Date: 2011-01-28 11:45:48


Dave Abrahams wrote:
> On Thu, Jan 27, 2011 at 1:26 PM, Robert Ramey <ramey_at_[hidden]> wrote:
>> Beman Dawes wrote:
>
>>> Independent of modularization, ryppl, or anything else, is it time
>>> to start a discussion on the main list about moving to Git?
>>
>> To me, this illustrates a fundamental problem. If the issue of
>> modularization were addressed, there would be no requirement
>> that all libraries use the same version control system. That is,
>> change to a different version control system would occur
>> one library at time.
>>
>> Same can be said for the build system.
>
> In principle, true. In practice, we need some consistency across
> boost or it will become hard for the community to contribute, and
> especially hard for people (including release managers) to step in and
> fix things, or even assemble a distribution. This is to say nothing
> of automated testing.
>
>> The only coupling really required between libraries is
>>
>> a) namespace coordination
>> b) directory structure - to some extent at least at the top levels
>> c) quality standards
>>d) testing
>
> introduces a build system dependency.

A particular library will depend upon at least one build/test
system. But that doesn't imply that all libraries have to depend
on the same one. In fact, we already have the situation that
many (all?) libraries can be built/tested with bjam or Ctest.

The "boost test" would be just the union of the test procedure
implemented for each library. That is

foreach(library L)
    lib/L/test/test.bat // or /lib/L/test.sh

The current approach implements the view of Boost as a
particular set of libraries ONLY built/tested/distributed as an
whole.

My view is that is not scaling well and can never do so.

Each library should be "buildable, testable, and distributable"
on it's own. The "official boost distribution" would be just
the union of all the certified boost libraries. Of course anyone
could make his own subdistribution if he want's to. Already
we have a step in this direction with B?P (distribute one library
and all it's pre-requisites).

I envision the future of boost that looks more like sourceforge
but with all libraries meeting the boost requirements. I see boost
as spending more time on reviews and less time on testing,
packaging, etc. I see "packaging/distribution" as being handled
by anyone who wants to create any subset of the boost libraries.
Finally, I see the testing as being done by each user to get
a wider coverage.

I see the centralized functions being limited to:
a) reviews/certification
b) accumulation of testing results
c) coordination/maintainence of standards (a-d above)
d) promotion of developer practices compatible with
the above (licenses, etc).

Suppose such an environment existed today. The whole
issue of moving to git wouldn't be an issue. Each library
author could use which ever system he preferred. Movement
to git could proceed on a library by library basis if/when
other developers were convinced it was an improvement.
It would be one less thing to spend time on.

>> ii) platform coverage
>> iii) documentation requirements
>>
>> If coupling is required somewhere else, it's an error that
>> is holding us back.
>
> I don't believe such an error exists here.

Robert Ramey


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net