I have a theory of crystals. That is, anything can be thought of as a magic crystal until its secrets are unveiled. This has been the nature of all chemicals and their reactions before we discovered their fundamental properties. Now if we extend the same to man-made technologies whose manufacturing process is not made known to us, we can still model them as crystals. In that sense, all tools are crystals waiting for a wizard to study them.

But still, I prefer to use open source tools for my workflow, simply because they are predictable and won’t change according to the whims of their developers.

Now if I use the closed source tools, as long as they are not changing, it is fine.

For example, if I am making a game, I want the game engine I’m using to be predictable. If the next update of Unity would make it unusable, I’d be unable to complete my game. This is not a problem with Unity specifically, but several SaaS tools and Android apps have this problem, where you are not able to roll back to an older iteration.