Is it frowned upon to release your software with a version number high than 1?
For example, some non tech-savy people might see a competitor's product with a higher version number as meaning my software is not as good.
Is it frowned upon to release your software with a version number high than 1?
For example, some non tech-savy people might see a competitor's product with a higher version number as meaning my software is not as good.
Oracle did it with their first DB release. There was no Oracle 1.
What you think of the quality of Oracle's software is a different matter.... :-)
You could use the year of release, or a fancy codename instead of a version number, thus bypassing the ethical issue of artificially making your software seem more crufty than it actually is :)
Marketing has a lot to answer for.
I say yes it is unethical to artificially inflate the number to your advantage. It is, however, perfectly fine to call it version 10.0 X .1!
I would be miffed by anyone who set their version number based on marketing, rather than software engineering, considerations.
The reality is that having more releases, or patches, or a higher version doesn't make your software any inherently better, just as how having more eraser marks doesn't make something written in pencil any inherently better.
What marketing wants to call the product, I don't care, and in fact, I'd prefer that they didn't latch on to version numbers. Which Microsoft has gotten well, because while their internal version numbers remain somewhat consistent and sane, marketing doesn't push "Windows 6" but rather "Vista."
I really don't think it matters at all. I don't know anyone, even those who aren't tech-savvy, who would assume that Version 2.0 of product A is even remotely related to a Version 1.0 of a product B.
The really non tech-savvy people probably won't even know what the version number is for a piece of software they have/want.
I think that it's all in the marketing department to sell the product to interested parties, however the version number should be accurate, although how you define the version number might play into things.
I wouldn't worry about it. Let the quality of your software speak for itself. Stick with 1.0. Or, even better, don't attach a version number at all. If someone wants to know the version - well, that's what Help / About is for. =)
Either way people are going to know it is version 1. If you call it version 2.0 but version 1.0 is no where to be found, and no one has ever seen it people are going to figure it out.
Alternatively you can version internally and just call your product "Amazing App better than XYZ 2008"
Edit: Actually I changed my mind, call your software Amazing App 2010. That way people will think it is from the future.
A simple solution to this is to release the first couple version with year numbers (current year, or coming year), or model names. That is kind of in fashion right now anyway:
Although individual version numbers are still more common.
This avoids the question of "Where is Version 1?" without having a version 1. After a few releases you can switch back to version numbers if you want, and be at a respectable number.
You can also go away with version numbers all together and sell your software on a subscription basis, so a purchase includes updates for a year, and then you can give them build 20080925A (build date), and update them frequently to the latest certified build.
It really depends on what kind of software you are releasing, how you are distributing it, and your target market.
Let me turn the question back on you: would you rather buy version 1 of a big, expensive software package or version 3.14?
The purpose of the version number is to be a unique handle for debugging and troubleshooting. It also communicates something to the users. But the first use is irrelevant to the second use. If I use version 1702 internally, there's know way to say whether it should be released as version 1 or version 11.
I'd actually be more inclined to keep my version numbers lower than my competitors', so my marketing people could say "Our version 2 is equal to their version 10! They took 10 releases to get this far, and we made it in 2! Our people are therefore 5 times smarter! Give us more money!"
(This is why I don't have, or ever want, my own company.)
Sure, you should call it version 1. But there's no rule on how quickly after that you can release version 2!
I believe there are 3 major ways people market product versions:
I actuall prefer the release year as part of the versioning strategy, it lets your customers know what the latest version of a product is, general age of the release and using the 2008.1 type of number, you know the release is a revision (i.e. Service Pack).
If you still decide to go with a version number, I see no harm in starting with 1.1, that is what we always did at my old place of employ...
For our software we used version 1.0 and 1.1 internally and never released them to the public. Our first public release was version 2.0. No one was upset and if anyone asked we told them about the internal version.
My company regularly has this argument with the engineering department. There was a huge explosion when we tried to label our next release a major version above the previous one, because marketing/sales thought our current customers would be upset that we have a new major version so soon and they need to upgrade. They wanted it to be a .5 release higher than the previous one. We went back and for this a few times... currently, engineering is winning. The marketing department also uses releases numbered by year as the names of the product, so I don't know what the fuss is about. We tend to mix our internal and external names for things a lot though. Also, when we started using version numbers of the current format, we started at a fairly high number for exactly the reason of fear that customers would think our software isn't as good as competitors with higher version numbers. This is a real problem, at least in marketing's heads.
My $0.02 is that the version number should reflect major features/changes of the product, and thus the first public release is by definition 1.0.0.
I am a big believer in:
[major].[minor].[sub-minor/patch]
Where for beta [major] = 0 and for gamma [major] starts at 1. I think it's the most informative, easy to understand, and honest version numbering scheme.
Of course, for alpha I'm a fan of the simpler: [svn-revision-num] since it's only for internal use at that point and that's more informative.
No, absolutely go ahead and start from an arbitrary point. Alternatively, use a vaguely defensible scheme like the last digit of the release year.