| Subscriptions have ruined software development by introducing a ton of external SaaS dependencies. For example, I have Java projects that are old enough to use the pre-subscription versions of IntelliJ IDEA. I can still install (ex:) IDEA v8, check out the project, and work on it immediately. That took some work because the Gradle wrapper needs to pull Gradle from a local server, I made a build task to pull in a project JDK, all the dependency artifacts need to be available locally, etc.. When I set that stuff up, I thought development environments would evolve to do that kind of thing automatically. For example, using a modern analogy, I run 'docker compose run dev' and get a project specific development environment that's from an exact point in time, even if it's 10+ years old. Instead, we got subscriptions where I need to deal with a ton of continually changing SaaS dependencies that could disappear tomorrow. If you let a project idle for a year there's a decent chance it won't work when you go back to it. I also disagree with the mentality that costs (to me) should be judged by how much value I get while being completely divorced from the costs (to them) of operating. By that logic, you should sign your entire paycheck over to the grocery store, right? I don't have a problem with ongoing costs if they're providing value to me, but I'm not willing to pay forever, even when I'm idle, for someone else to control part of my workflow. The loss of control alone is a bad deal. The introduction of the iPhone in 2008 is about the time I think things started changing. We went from developers that were concerned about maintaining control of their workflows, build systems, distribution, etc. to a new group of developers that are happy to become dependent on rent seeking SaaS middlemen while telling everyone else they're getting good value. Even Jetbrains is turning their products into something you can't rely on via Jetbrains Space. If a critical mass of developers buy into that, I'd be willing to bet the standalone editors get dropped at some point. |