2

I'm pretty clear on most of the standards regarding versioning a piece of software. The whole major.minor.revision/build/whatever scheme. But I'm not very sure whether there are any conventions when the software can be installed on multiple platforms, with each installation having a somewhat independent cycle. For example, I have an app that has the following clients: - Web - Desktop - iPad - Mobile: - iPhone - Android

All these clients might not have the exact same functionality and they don't necessarily launch simultaneously into the world either. Their further release schedules may diverge as well. So, are there any recommendations on how to approach this? Is it just as simple as keeping them all separate? Thus, at any point in time, the suite could look like this: - appname-web 3.1.0 - appname-desktop 2.1.1 - appname-ipad 1.0.0 - appname-iphone 1.5.0 - appname-android 1.6.0

Thanks,

Nick

Nickolay Stanev
  • 168
  • 1
  • 9
  • It's a matter of opinion and it completely depends on your software. You could also choose not to worry about version number like Google Chrome and just increment on every release. – laurent Sep 11 '11 at 03:12

1 Answers1

1

This is just an example, but it might be illustrative. RedHat packages are built in two stages, first the source code is gathered together into a source package, and then the srpm is built into one binary package per supported archetecture. The name and version are consistent across both the source and all of the different binaries; the version number represents the input. However, the arch is in a different field in the RPM container, and only present on binary packages, since a source package doesn't have anything at all to do with the archetecture. the arch is the output.

Other ways of bundling or tagging packages besides RPM format make this kind of thing more or less explicit; an installer for windows will only supports the one archetecture, windows.

tl;dr: versions and architectures are different things. What clues you give your users about the either depend on your distribution methods, but don't conflate the two.

SingleNegationElimination
  • 151,563
  • 33
  • 264
  • 304
  • Thanks for the response. I feel it addresses my question partially, though. For something like installing my desktop client on Windows vs. Mac, it makes sense - the source is the same, but the installation is different. However, my iPad and Android sources are going to be largely disjoint. Nothing connects them except maybe some shared backend. Does it matter whether the versions for these two platforms are kept in any form of synch or not? – Nickolay Stanev Sep 11 '11 at 03:50
  • That's something that only you, the developer can answer. – SingleNegationElimination Sep 11 '11 at 03:58