Hacker News new | ask | show | jobs
by jrsdav 1046 days ago
I haven't looked to see what licenses are involved, but Pulumi makes liberal use of Terraform providers[1]. And I would definitely consider them to be a Hashicorp competitor.

[1]: https://www.pulumi.com/docs/concepts/vs/terraform/#:~:text=U....

> Pulumi is able to adapt any Terraform Provider for use with Pulumi, enabling management of any infrastructure supported by the Terraform Providers ecosystem using Pulumi programs.

3 comments

TF providers are just wrappers around other APIs - and the vast majority ain't even developed by Hashicorp in the first place.

If Pulumi - another open-source infra-as-code tool (that ain't even a fork of any Hashicorp product AFAICT) - is really the thing scaring Hashicorp away from open source, then that doesn't really do Hashicorp any favors here.

> TF providers are just wrappers around other APIs

If it's so simple, Pulumi could have done this themselves. Why didn't they? Would Pulumi have been as successful without leveraging the vast ecosystem of existing Terraform providers? Now they are a growing Terraform competitor.

> If it's so simple, Pulumi could have done this themselves. Why didn't they?

Because that would be a waste of time unless there's some specific case where an existing provider is insufficient.

> Would Pulumi have been as successful without leveraging the vast ecosystem of existing Terraform providers? Now they are a growing Terraform competitor.

Pulumi itself is free software, just like Terraform was (and hopefully still is). There is literally nothing stopping Hashicorp from doing the exact same thing in the opposite direction.

Are you pretending they aren't a competitor profiting off that work though?

Pulumi is free, except you pay for the features that aren't free: https://www.pulumi.com/pricing/. So, Pulumi has grown their directly competing product partially on top of the Terraform ecosystem - and I'd argue they'd be half as successful without reusing Terraform providers - and make money off of that product. It's at least understandable to me that Hashicorp doesn't like this.

Most TF providers are not maintained by Hashicorp, but by the company whose product the provider integrates into. Development of the provider is an investment the company makes to lower CAC.
Sure, but the providers for some of the biggest platforms are maintained by HashiCorp[1] - like the AWS, Azure, GCP, and Kubernetes providers[2], and it appears the Pulumi AWS provider (for example) _does_ use the Terraform AWS provider, even to this day[3].

1. https://developer.hashicorp.com/terraform/registry/providers... - "official" providers are maintained by HashiCorp

2. https://registry.terraform.io/browse/providers?tier=official - The filtered list of "official" providers maintained by HashiCorp

3. https://github.com/pulumi/pulumi-aws/tree/008c4360bc9fc24303... - Just prove it to myself, I can see the `upstream` git submodule, which embeds pulumi/terraform-provider-aws, which is a fork of hashicorp/terraform-provider-aws, although the repo was not created as a fork in Github, so it is not marked as a "fork" and so I have to compare commit histories to tell that it is a fork.

Is there anything stopping Hashicorp from implementing their own pulumi backend and profiting off the pulumi client?

I kind of feel that this is the point of open source. That the work one group of people does can be leveraged by all of humanity.

I've always seen open source as more of a spectrum. On one extreme, you have gpl3 stuff coming from the church of GNU itself. Moving up the spectrum you have stuff like the Linux kernel or certain CNCF projects, which can be used in proprietary distributions etc. Above that you'll have company specific licenses like the Amazon software license or whatever hashicorp+elastic are doing these days. At some point you're with RHEL where you need to sign a license to get their source, and above that you're signing ndas, and above that its closed source, and above that they're cryptographically obfuscating their source code with anti reverse engineering licensing.

I appreciate open source in all it's forms, as it's so much easier to 1. Read the code in case of a bug or just to understand your dependencies better, 2. Many of the semi closed licenses still allow you to learn things like syntax for GitHub actions or do analytics or whatever, which is still more value than an entirely closed system, and 3. It allows me to reproduce binaries and independently audit security.

That said, I'm worried about a tragedy of the commons situation. I'm not a fan of capitalism, but at the end of the day I can't pay for housing or taxes in clout or goodwill, and the only way I see likely to both attract talent and survive is one which works within the system while sacrificing their principles as little as possible. These wonderful engineers at elastic and hashicorp and pulumi and every other company mentioned in this thread need to eat.

I'm not saying I have an answer, but I am saying that I respect and understand why companies like elastic and hashicorp are resorting to drastic measures. If the choice is between either of those companies going under or having their source code come with a little bit more restrictions, I'd chose the latter. I'd much rather them have a noncompete clause in their license than have them just shut the window into their source code altogether.

I think that would be an acknowledgment too painful for the brand.
> Pulumi is free, except you pay for the features that aren't free: https://www.pulumi.com/pricing/.

That's being disingenuous. The link you cite is the pricing of Pulumi Cloud. Of course hosting infra can cost money. The second non-heading line in your link shows a way to host Pulumi on your own infra and that is fully free: https://www.pulumi.com/docs/concepts/state#using-a-self-mana...

Sure, that's a fair point.

However, Pulumi Cloud is only as valuable as Pulumi itself. If Pulumi didn't support deploying to AWS, for example, then it is useless to my organization which uses AWS and I'm obviously not going to consider Pulumi Cloud. So Pulumi does gain a lot of value even from just the Terraform AWS provider that it uses under the hood (and which it can continue to use because it seems Terraform provider licenses are not changing, which is nice).

Are you asserting that Terraform would be as widely adopted if the third party authored TF providers didn’t exist?
> Pulumi is free, except you pay for the features that aren't free: https://www.pulumi.com/pricing/.

The paid features have nothing to do with the providers; AFAICT that's competing with Hashicorps's backend / state management offerings - namely, Terraform Cloud: https://www.hashicorp.com/products/terraform/pricing?ajs_aid...

> The paid features have nothing to do with the providers;

They absolutely do. If I use AWS and Pulumi could not deploy to AWS, well I'm certainly not going to buy Pulumi Cloud, am I? If I use multiple cloud providers and Pulumi doesn't support all of them, I'm unlikely to invest further in Pulumi Cloud, right?

The providers determine whether I can even use the tool to do what I want in the first place. The providers are 99% of the value!

The fact that Pulumi leverages the Terraform AWS provider under the hood adds huge value for them, and I absolutely believe they indirectly profit off of that.

Would terraform have been successful without the ecosystem of providers provided by third parties, and many, many external contributions to providers they do manage?
But they don't out-compete them in any shape or form. I'd call it healthy competition.

Pulumi made Hashicorp build Terraform CDK. Which is a great result.

And the only reason Hashicorp was able to build CDK quickly is because they built it on top of Amazon's open source Amazon CDK. Another competitor.

Calling Amazon a competitor because they have CDK is ridiculous.
Amazon is a competitor due to CloudFormation, Secrets Manager, however many ways to run containers there are now...
And SAM, and controltower, and of course the aforementioned cdk
Not really. The big question in infra land at our company these days is terraform vs cdk vs pulumi.
Could you be more constructive than just saying it's ridiculous? If you're an Amazon shop CDK/CloudFormation definitely is a competitor.

Also Terraform now directly integrates with CDK. So apparently Hashicorp felt the heat .

Looks like competition to me.

They used to do that but now also have their own providers created by API catalog introspection.
Which terraform then copied with the AWS Native provider...