It seems to me that where JetBrains went wrong was building every language supported as a separate application. According to their announcement post the stated goal of was to deal with the customer ask to get easier discounts on multiple language products or to move from one language to another more easily. To JetBrains the solution was apparently to switch to SaaS, which kind of makes sense, but from my perspective maybe they should have just consolidated some of their product efforts?