The OpenTF Manifesto
I don&#x27;t think the license change is unwarranted. At a previous employer we used Terraform but the pricing on the cloud&#x2F;enterprise offerings was prohibitive enough that we instead had a dev create simple wrapper scripts in our CI&#x2F;CD system to run the deploy jobs. Significantly cheaper, but I spent years pushing for us to eventually move to the paid offerings as the developer experience was significantly lacking (and to support Hashicorp), up until I left the company. I think they&#x27;re still using those wrappers today despite how awful they were to use.<p>There was definitely room for improvement around using Terraform to do actual deployments. From better UX around doing PR&#x27;s -- showing not only the commit diff but the output of a &quot;tf plan&quot; as well to see what it might actually do -- to actually running the deployments on isolated build machines that could hold the sensitive cloud API keys and provide a deployment audit trail, these were all features that teams absolutely needed to use Terraform sanely.
As a solo developer you don&#x27;t really need those features, but if you&#x27;re on a team you definitely did, and were almost certainly willing to pay for it. Hashicorp recognized that need and created the cloud&#x2F;enterprise offerings to provide that.<p>At some point the thought even crossed my mind of creating some open-source tool that could provide a nice enough web interface for dealing with Terraform for teams, building on what we had and providing the features I listed above, but the main reason I didn&#x27;t was because it would be biting the hand that feeds. Such a tool would take away people&#x27;s incentives from using Hashicorp&#x27;s paid offerings and ultimately reduce their investment in Terraform and their other fantastic tools, and in my opinion, be disrespecting the tremendous work Hashicorp had done up to that point. I&#x27;ve been a user of their stuff since they only had Vagrant, and of course have loved them seeing them succeed.<p>It seems others, however, had different opinions and saw a business opportunity thanks to the permissive licensing and the high costs of Hashicorp&#x27;s paid offerings. Plenty of money to be made from making it easy to use TF in teams, especially when you&#x27;re not obligated to contribute back or maintain the underlying software [1]. Any time I saw a &quot;Launch&#x2F;Show HN&quot; post from a company that was offering such TF wrapper web interfaces, I kept being surprised that Hashicorp hadn&#x27;t yet clamped down on preventing lower-cost offerings of their paid services. It was only a matter of time.<p>[1]: I realize this reads as overly harsh to some of these companies, especially as some of them are in here replying and pledging to give back, so let me try to explain my reasoning here. When I use a product, I like it when the source is available from me to learn from and understand how it works [2] and to contribute back to for needed features or bugfixes [3].<p>When a company makes a product open-source, that&#x27;s great! But if that product is the core of that company&#x27;s business model [4], and another company starts competing with that company using the same open-source product, then I see a problem down the line. While you can make the argument that the competition is good and motivates the two companies to compete on the value they bring to their customers, which is a net-benefit to the open-source ecosystem as a whole as the open-source product is improved, it eventually turns into a race to the bottom. Pricing will be used as a core differentiator, reducing the overall R&amp;D spending on the open-source product because ultimately the two companies have to maintain non-R&amp;D staff like sales, finance, and support. If the Total Addressable Market is fixed (obviously not, but work with me), then that&#x27;s two or more companies with the same fixed non-R&amp;D costs diverting revenue that could be spent instead on improving the open-source product. Sure, the reality is that a lot of that revenue isn&#x27;t going back to the open-source product, as a lot of people are complaining about in the comments, but that diversion is probably going to happen anyway whether there&#x27;s 1 company or 20, so I&#x27;d accept it as a cost of doing business.<p>If instead the competition were on providing a better but different open-source product in the same space (e.g. Pulumi), rather than working off the same base, that would be a different story. But if developers keep seeing businesses take open-source projects and directly compete with their creators, then I think we&#x27;re going to see a net harm to the open-source community as it creates a sort of chilling effect as it&#x27;ll demotivate them from going the open-source route so that they can find a viable way to sustain their efforts. I think licenses such as the BSL and SSPL are valid enough compromises, considering that even mentioning the AGPL inside of a lot of companies seems to be like someone saying Voldemort&#x27;s name. We can&#x27;t rely on large corporations sponsoring open-source projects, either with money or developer time, if we want them to succeed.<p>We grant inventors 20 years of exclusive-use on an invention, provided they explain how to reproduce it through the publishing of a patent. What&#x27;s the difference between that and the BSL? I see a lot of complaints about bait-and-switches, but I don&#x27;t really see the issue. If you contributed to the project under the old license, it&#x27;s still available under the old license! You just don&#x27;t get any of the new changes starting from the license change. If you decided to use Terraform in a non-competing way [5] solely because of the old license, and are concerned about the new one, then you have to recognize that Hashicorp is now another addition to a long-line of &quot;open-core&quot; companies trying to deal with the reality that companies will make money any way they legally can. This is where the industry is currently headed, and whatever replacement you find will probably be next.<p>If you believe different, then make an open-source offering, and don&#x27;t just make a public statement saying it&#x27;ll be open-source forever. Public statements are great and all, up until there&#x27;s doubts about meeting payroll. Find a way to make the statement legally binding and then we&#x27;re talking. Which is I guess why there&#x27;s so much consternation, since the way to do it is through the license, but the OSI doesn&#x27;t recognize any of these other licenses as &quot;open-source&quot; and the AGPL is a non-starter at most companies.<p>[2]: Reading the source code for libraries I use has been incredibly valuable in my understanding of how to use the libraries properly, much better than any documentation could. And of course, makes me a better programmer in the process.<p>[3]: At one point, Terraform was missing a feature that I badly needed. With the source available, I could easily get a new version of it running locally with that feature to unblock me, and then everyone benefited when I contributed it back to the project. It&#x27;s also been invaluable having these locally modifiable builds to understand the quirks of products from cloud vendors, and to work around them. Ever had multiple deployment pipelines fail because Azure decided to one day change the format of the timestamps they returned in API calls, without publishing a new API version? I have.<p>[4]: As opposed to supplementing their business model. Google open-sourcing K8s was great for them because it drove adoption of their cloud VMs. Their cloud business makes money off the VMs, not GKE, so sponsoring K8s is essentially a marketing expense. But for Hashicorp, their core business model is paid offerings of their products.<p>[5]: Yes, I get that the license currently is un-clear, for all their products. But let&#x27;s simply say that you&#x27;re not trying to directly sell a wrapper around running Terraform.