Hello Bram, On Apr 25, 2012, at 17:04 , Bram de Kruijff wrote:
> Hi Marcel, > > On Wed, Apr 25, 2012 at 3:34 PM, Marcel Offermans > <[email protected]> wrote: >> Hello all, >> >> We're homing in on an 1.0 release of the Amdatu Platform, so this is a good >> moment to discuss our versioning scheme. We (the platform team) propose to >> adopt the semantic versioning scheme as recommended by the OSGi Alliance >> [1]. We have documented it here [2] and from 1.0 onwards we would like to >> start using it. > > +1 on Semantic versioning from 1.0 onward. At least at the bundle and > package levels. I imagine this will take some getting used to as it > goes beyond the naive versioning most of us are accustomed to. It may > be a good idea to embed this into review / release checklists. Definitely. >> That basically means we have three things we version: >> >> 1) At the top level, we have a version number that we associate with the >> platform as a whole. This version number will start with 1.0 and will be >> increased every time we make a new release. > > My question here is what actually constitutes "a release"? To me, a release is a set of artifacts that we label with a "top level" version. Those artifacts include bundles (which are also versioned) and maybe some configuration files (unversioned and those usually only make sense if you create some "runnable distribution"). I am restricting this to a "binary" release for now, as we could (and should) also discuss how we release our source code (since we're an open source project after all). > Right now > we have a "0.4.0-RC2 platform release" which is basically an implicit > superset of all artifacts under that same version number. One of those > artifacts is actually amdatu-release-0.4.0-RC2, which is a set of > bundles and configuration files (not all artifacts) assembled into an > example server, but that does not contain all artifacts. So.. there > actually is not one physical thing we call a release and can assign > that number to. Ok, so maybe we want to change the way we do things a bit. For one, not all artifacts will have the same version number anymore. Also, I think our bundles can be combined in so many ways that we should not attempt to pre-assemble them (see below). > Obviously, we could make once big zip containing all artifacts that we > call a release, but does that really make sense? I don't care if it's one big zip, or just a collection of artifacts in some folder. > It wont actually do > anything and be a huge download while we have maven repositories and > provisioning servers to distribute code more elegantly. This collection could be the basis for what we upload to a maven repository, or put in the OBR of a provisioning server. > Maybe a release is just a definition of the artifacts making up a > release, similar to a Karaf feature? Maybe, it is just a "static" > distribution at the future main Amdatu provisioning server? Well, I think (see above) that we should start making a difference between the artifacts that we release and the ways in which we can assemble those into "runnable distributions or applications or servers". Our releases should probably just be a collection of artifacts. Based on those we can then create runnables (like our kitchensink, the AMS, etc..). > I'm a little confused on this topic and depending on what a release is > semantic versioning may or may not make sense :) Do my answers help, or make it worse? ;) Greetings, Marcel _______________________________________________ Amdatu-developers mailing list [email protected] http://lists.amdatu.org/mailman/listinfo/amdatu-developers

