A VAR or system integrator's perspective: On Sat, Oct 22, 2011 at 2:54 AM, Noah Slater <nsla...@tumbolia.org> wrote: > ... Okay. Not sure what happened there. So, uh... > > Can we do something like this: > > It's the first round of voting, so we tag to: > > vote/X.Y.X-1
Please reconsider semantic versioning. When I read its brief spec, I hear Noah's voice. The writing is brief, thoughtful, and persuasive. Couch is trailblazing, discovering best practices for all of ASF. Now is its chance to adopt a worthy standard. Tagging is Git's strong suit, and Couch can exploit that. VAR-type tools and products orbiting couch are numerous and multiplying. 1. Refuge, led by Benoit, a committer 2. Iris Couch builds 3. Build CouchDB 4. Couchbase, involving four committers 5. BigCouch, involving three committers 6. Paul's (a committer) standardization project, couchdb-srcmv 7. Randall's (a committer) Ubuntu PPA 8. Novacut's (free software video editor) Ubuntu PPA 9. Dave Cottlehuber's Windows work 10. An OSGi plug-in wrapper around CouchDB, so one can deploy a CouchDB runtime into an OSGi These sorts of projects benefit from semver. Couch already follows semver's numbering scheme (as closely as makes no difference). What remains is to indicate this fact. I urge you to weigh the aesthetic cost and risk of confusion against pretty clear, common, and **machine-readable** version semantics, and the opportunity cost of passing on that. > > This vote fails, so we move on to the second round of voting, and we tag to: > > vote/X-Y.X-2 > > This vote passes, so we copy the tag to: > > release/X.Y.Z > > We then leave both the vote/* tags in place because they're prefixed to > avoid confusion. Leaving tags for posterity is prudent. It opens the door for tools to identify changes, or discover bugs (git bisect), or perform integration testing at major events in Couch's lifetime. If only there was a standard means for tools to infer facts about Couch tags. Noah, I like your idea of persistent, unchanging tags, and "copying" (tag the same commit twice) the final vote to the official release. But note that ./bootstrap inspects Git metadata, potentially executing different code from one tag to the next. Currently this is not the case, but the Good Intentions Paving Company is open for business. http://git-wip-us.apache.org/repos/asf?p=couchdb.git;a=blob;f=bootstrap;h=1190280c200b4f234e8af08f23a45e97fa7e6e93;hb=HEAD#l35 -- Iris Couch