When describing the state of a version of a software product, what are the differences between "generally available", "production ready", "stable" and "latest/current"?
I met these terms in Apache Hadoop website, when trying to choose the right version/release/distribution (the three words are also confusing to me) to download:
https://hadoop.apache.org/docs/r3.2.0/
Apache Hadoop 3.2.0 incorporates a number of significant enhancements over the previous stable minor release line (hadoop-3.1). This is the first release in 3.2 release line which is not yet generally available (GA) or production ready.
https://hadoop.apache.org/docs/r3.1.2/
Apache Hadoop 3.1.2 incorporates a number of significant enhancements over the previous major release line (hadoop-2.x). This release is generally available (GA), meaning that it represents a point of API stability and quality that we consider production-ready.
https://hadoop.apache.org/docs/r2.9.2/
Apache Hadoop 2.9.2 is a point release in the 2.x.y release line, building upon the previous stable release 2.9.1.
and http://hadoop.apache.org/docs/stable/ and http://hadoop.apache.org/docs/current/ both refer to https://hadoop.apache.org/docs/r2.9.2/
TLDR: Usually production-ready, stable and generally available are just synonyms, but every team's definitions can be slightly different.
Every developer team has its own statement of these terms, but usually they can be described as:
In Hadoop case: