I have seen the term "vanilla version" used seeral times. For example, I have seen the term on the Lasagna-users google group, where a user mentions the term: vanilla CNN package.

So, when is a software called a vanilla version, and what should it have for it to be called it (or distinguish it from being a vanilla version)?

Explanation can be done by taking a software/library in mind.

  • 5
    @gnat Can you please explain this question is a duplicate of the VanillaJS question? I think both of them are completely different.
    – Dawny33
    Commented Oct 29, 2015 at 7:05
  • did you check the answer over there? "vanilla X" refers to "X in the most basic fashion" or "X without anything extra"...
    – gnat
    Commented Oct 29, 2015 at 7:09
  • 1
    In case it isn't obvious, "vanilla" is a reference to ice cream. It's not raspberry ripple, or mint choc chip, or even rum & raisin. It's just plain vanilla with nothing else added.
    – Simon B
    Commented Oct 29, 2015 at 9:03
  • See also for the english language usage on English.SE: What does “vanilla” mean in the context of gaming? While the question has the 'context of gaming' the answers are for the larger computer context.
    – user40980
    Commented Oct 30, 2015 at 0:57

2 Answers 2


In context, software is "vanilla" when it's ordinary: that is, it isn't customized or expanded upon. It comes from the ice cream flavor "vanilla" which to some is considered to be ice cream's "default" flavor.

Some examples of "vanilla" in software:

  1. Consider a customizable text editor like Sublime Text: "vanilla" Sublime would be running it without any plug-ins.
  2. Take a video game like World of Warcraft: "vanilla" World of Warcraft is the game as it was prior to the release of its expansion sets.

Consequently, software stops being "vanilla" when it's been customized or expanded upon to suit a specific purpose.

So, a vanilla library may be one that does the absolute minimum to implement a specification, while a non-vanilla library would be one that takes it one or more steps further and does something above and beyond what the vanilla counterpart does.


What is a Vanilla version?

The "vanilla version" is generally the version that has no customisation applied - it is the "regular", "ordinary" or "plain old" version.

For a lot of consumer based software - this would be the only version. You would not build custom versions for every user.

If the software includes extension or customisation points such as plugins, then as installed it would be the vanilla version, but once the user gets hold of it and adds and configures things as they like it, it would no longer be "vanilla."

For bespoke based software - the vanilla version is often the demo version. The bespoke software really comes into its own because it can be customised, so it almost always is.

And what should a software have, for graduating from a vanilla version? (before the edit)

Well, it won't be graduating (when compared to the move from alpha to beta). The move from vanilla to non-vanilla is the addition of customisations that essentially make it unique. The customisations differentiate or distinguish it from the regular version.

Not the answer you're looking for? Browse other questions tagged or ask your own question.