[Coin-tlc] Re: [Project-managers] Proposed Version and Release System for COIN-OR Projects

Ted Ralphs tkralphs at lehigh.edu
Fri Sep 1 13:12:27 EDT 2006


Hi Brad,

It seems to me that the philosophies you have espoused below are
entirely consistent with our proposed scheme. The differences seem to be
a matter of style and semantics, not substance. In our proposed scheme,
`trunk/` would be the main development "branch," though there could be
as many others as you like in `branches/`. Versions that have passed all
the automated test would go into `stable/,` rather than into `trunk/`
The advantage of this is that someone checking out code from `stable/`
could get automatic bug fixes and updates for a particular two-digit
version, while being assured that the carpet would not be yanked from
under them with a major change to the API, etc. With your system, if
someone has code checked out from 'trunk/' and you suddenly merge a
bunch of stuff in from a development branch to prepare a new release, a
user who has that code checked out could be in for a big surprise. In
fact, it doesn't seem there is any way for someone to check out a
version of your code from SVN that will be guaranteed to be stable in
both the sense of having passed automated tests and the sense of having
a stable API. I realize that you envision only developers checking out
code from SVN, but we have tried to propose something that would allow
"power users" to check out from SVN as well, since in our experience,
this is the preference for some users. As for the "release early,
release often" philosophy, that is definitely a goal of the proposed
system as well. The three-digit releases can be put out as often as
necessary to release beta version, fix bugs, etc.

We think it is important to try to standardize the way in which version
numbering and releases are done, at least for the projects that depend
heavily on each other. This is the approach GNU has taken, for instance,
and as a user of GNU codes, it is comforting to know that any GNU code I
download will adhere to the same standards for versioning and releases.
Having said that, we realize it may be difficult to merge the styles of
the various developers who have already been doing code maintenance on
their own. Since there are no other COIN project depending on yours, it
is possible we could build some flexibility into the recommendations,
but I hope you will consider adopting whatever common scheme we
eventually agree on, since it will make maintenance of the entire
repository easier and will be less confusing for users of multiple COIN
projects. Thanks for your feedback.

Cheers,

Ted

Brad Bell wrote:
> Ted Ralphs wrote:
> 
>> Dear project managers,
>>
>> After the recent successful transition to Trac, SVN, and the autotools,
>> the Technical Leadership Council has taken as its next challenge the
>> task of developing a standard system of assigning version numbers and
>> developing stable releases for COIN-OR projects.
> ...
> 
>> A brief outline of the proposal is posted on the TLC wiki here:
>>
>> https://projects.coin-or.org/CoinTLC/wiki/VersionsAndReleases
>>
> As I use svn, the trunk only contains version that have passed all the
> automated tests
> (on my development machine). Other versions are checked into development
> branches.
> 
> I think of getting the subversion repository as a developer's method of
> obtaining the project.
> Users would probably download the corresponding tarballs instead.
> 
> In addition, I like the
>    "release early release often"
> philosophy so that problems can be found and fixed close time to when
> the corresponding
> source code was created or modified.  The automated tests can (and
> should) be
> built and run by a user before she or he does a
>    make install
> If one of the tests does not pass on the user's machine, they should
> report the problem back to the developers (and not install the new
> version).
> 
> Thus, it is crucial, in my current way of doing development,
> that tarballs be created from the current version of the trunk.
> 
> 
> 
> _______________________________________________
> Coin-tlc mailing list
> Coin-tlc at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/coin-tlc


-- 
Dr. Ted Ralphs
Associate Professor
Industrial and Systems Engineering
Lehigh University
(610)758-4784
tkralphs at lehigh.edu
www.lehigh.edu/~tkr2


More information about the Project-managers mailing list