Here is a lesson. Never, ever lock the only available online copy of your source code behind a version control system. Always have some way of getting a recent snapshot via HTTP, and preferably not via the tedious file-by-file approach offered by some VCS browsers. There are some very good reasons for doing so.
- Is your favoured version control system universal? I mean, really universal? The world is a much larger place than the 2 or 3 recent versions of Ubuntu your development team are running, and you can guarantee there’s some use case you haven’t thought of. HTTP and a common file compression format are very good lowest common denominators in that most platforms support them.
- Anybody who lived through the Linux dependency hell era on a 56k (or slower) connection could tell you the folly of linking a 20KB utility program to an obscure 10MB library. Requiring a version control system is similarly requiring users to waste bandwidth and disk space they may not have on downloading that system; a problem made worse by the tendency of a new “latest and greatest” to come out every year or so.
It’s annoying as we seem to never leap forward without taking some step back. Being able to check out repositories and track changes against them – great. Far better than the old days of having to manually reconcile differences against source tarballs. Being forced to? Not so great.