docs(appium): add FAQ to 1.x EOL plan
MODIFY
docs/en/about-appium/1.x-eol.md
docs/en/about-appium/1.x-eol.md
# Appium version 1 End Of Life (EOL) Plan
-Appium 1 has been around for quite a while and now is the time to move
-project development forward and to provide even better automation
-experience with Appium version 2.
+Appium 1 has been around for quite a while and now is the time to move project development forward
+and to provide even better automation experience with Appium version 2.
## Upgrading to Appium 2.x
-While Appium 2.0 leaves most of the fundamental automation behaviors from the various platfrom
+While Appium 2.0 leaves most of the fundamental automation behaviors from the various platform
drivers untouched, it does rework the way that drivers are installed and accessed, and enforces
stricter protocol usage, among other changes. For that reason, it's important to fully read,
understand, and implement the steps discussed in the [Appium 1.x to 2.x Migration
@@ -29,8 +28,8 @@ release of Appium 2.0 (until March 15, 2022):
* Bug fixes to the Appium 1.x server.
Once the 6 months of transition have passed, we will publish new versions of the core drivers that
-will only be compatible with Appium 2.x. From that point forward, no features, platform support, or
-patches will be added to 1.x.
+will only be guaranteed to be compatible with Appium 2.x. From that point forward, no features,
+platform support, or patches will be added to 1.x.
Based on the current release schedule, it is likely that Appium 1.22.x will be the last in the set
of Appium 1.x releases.
@@ -39,3 +38,72 @@ of Appium 1.x releases.
Since Appium 2.0's documentation may not be published on the website until its release, you may
want to check out the `docs` folders in this repo, under the `2.0` git branch.
+
+## FAQ
+
+<b>Will Appium 1.x stop working for me after the EOL date?</b>
+
+No. Appium is not a service. Existing versions of Appium will continue to work just fine. You
+can keep using Appium 1.x for years if you want. However, bugs found in Appium 1.x will not be
+fixed after the EOL date, and updates to make drivers compatible with new OS/platform updates may
+not be compatible with Appium 1.x after the EOL date, so older versions of Appium are not
+guaranteed to support, for example, new versions of iOS or Android.
+
+<b>What is Appium's existing "support" strategy?</b>
+
+With Appium 1.x (and with 2.x moving forward), no patches are made to existing versions or
+backported to previous version lines. Changes are always only released in new versions. If you
+discover a bug in, say, Appium 1.22.1, and it is fixed, that fix would be released in Appium
+1.22.2, or Appium 1.23.0. The fix will not be retroactively applied to Appium 1.21 or any earlier
+version. For this reason, it's important to always be using the latest version of Appium. The
+only exception to this rule will be the transition period before the 1.x EOL date, wherein the
+team will release new versions of Appium 1.x if necessary, while also releasing the 2.x line.
+
+<b>How will Appium 1.x receive updates between the release of 2.0 and the 1.x EOL date? What kind
+of updates will they be?</b>
+
+With Appium 1.x, there were basically two kinds of updates:
+
+1. Updates to Appium core code, including the Appium server, internal libraries, etc...
+2. Updates to platform drivers (like the XCUITest driver, where many updates happened in the
+ WebDriverAgent project, or like the UiAutomator2 driver).
+
+All of these updates were bundled haphazardly together in the course of an
+Appium 1.x release. With Appium 2.x, these kinds of updates are appropriately disentangled. Appium
+2.x core updates will be released as new versions of Appium 2.x, but these updates will not be
+related at all to changes in platform driver code. Instead, drivers will maintain their own release
+schedules, and new versions of drivers can be used without necessarily upgrading the Appium server
+version (see the migration doc for more information on how to do this). With that context, we can
+say that Appium 1.x will continue to receive the two types of updates mentioned, with the caveat
+that the core Appium 1.x code will only see important bugfixes, and no feature development. So to
+summarize, during the transition period, Appium 1.x will receive the following kinds of updates:
+
+1. Important bugfixes to the core 1.x code (server, etc...)
+2. All updates to platform driver code (this is made possible because the Appium team will ensure
+ that platform drivers are compatible with both Appium 1.x and 2.x, until the EOL period, after
+ which they will only be guaranteed to be compatible with 2.x).
+
+<b>I use Appium via a cloud service. How will that work moving forward with Appium 2.0? Will cloud
+providers stop supporting Appium 1.x at the same time the Appium team does?</b>
+
+Appium cloud providers can support as much or as little of Appium 2.0's ecosystem as they want.
+They might choose to make available only the most recent versions of the Appium 2.x server, and the
+most recent versions of a few popular drivers. Or, they might have a predetermined list of drivers,
+plugins, and versions that can be selected via capabilities. They might even allow for arbitrary
+installation of any drivers or plugins from anywhere on the Internet. All of these factors are left
+to the policy of the provider in question, though the Appium team makes some recommendations about
+appropriate capabilities for Appium 2.x frontends, in the migration document.
+
+Cloud providers are of course free to make their own plans for Appium 1.x EOL, and could choose to
+support Appium 1.x for years to come. If you have any questions about your cloud provider's plan
+for Appium 2.0 support or 1.x EOL, reach out to them directly. They should be familiar with this
+document as well as the migration guide and should be able to assist.
+
+<b>Why is there not a longer deprecation period for Appium 1.x? Why only 6 months?</b>
+
+* The extent of the user-facing breaking changes is quite small, as you can see in the migration
+ doc. The necessary changes are mostly superficial, and some are handled automatically by newer
+ Appium clients.
+* Appium 2.0 has been in beta for well over a year.
+* Supporting incompatible versions of Appium for an extended period of time is not possible for
+ a small, part-time team of core committers.

docs(appium): add FAQ to 1.x EOL plan