Earlier quoted context omitted.
I think this damages all commercial OSS projects. Because after Docker and Terraform, any effort to bring in some OSS project as a dependency will be met with "Sure, it's open source now, but what about when...".
Most businesses are not directly competing with the businesses making software they depend on
The Terraform Registry Terms of Service have been updated
101–110 of 136 posts
Re: The Terraform Registry Terms of Service have been updated
#102Earlier quoted context omitted.
I think it shows the huge benefit of OSS. If TF had been closed from the start, users would have no recourse at all. Instead, there is a viable path forward.
That viability hinges on people actually doing it and the evidence that this is happening at scale just doesn't exist. There are some forks of major packages out there that have been extended but that's because the company had entirely different ideas about the direction in which to take a package. But for the vast majority of FOSS out there the current maintainers are the ones that are capable of doing so and the en…
I think there is a great deal of evidence that people are using alternatives at scale.
Let's take a look at some other examples: OpenOffice, Node, Hudson.
Of course, there are plenty of cases where forks have not thrived. But that is not really the question. The question is, can you show me a single closed-source project that did something highly objectionable to a large portion of the userbase that was then rescued by the userbase?
Can you explain why I should choose IIS over Apache just because there is a possibility that somebody could fork Apache? If either IIS or Apache decided tomorrow that they would no longer support TLS, but only support eeeTLS, why would the Apache situation be worse just because it is OSS and some users might fork it to keep TLS capabilities? It seems obvious to me that in fact Apache is the wiser choice in that regard.
Re: The Terraform Registry Terms of Service have been updated
#103Earlier quoted context omitted.
> But, I guess if OpenTF is taking a position of "Use us instead of Terraform", then they shouldn't expect to get the usage of Hashicorps infra. It’s totally something they can do, but it seems short-sighted. They had to know that this wouldn’t actually stop the momentum around OpenTF, but just result in HashiCorp giving up the control they have over the canonical namespace. As precedent, Docker allows Kubernetes and…
If you look at it from a proprietary software company (which is what Hashicorp is now), it's totally expected and understandable. Why should they spend money supporting extra load on their infrastructure from people that are not directly paying for that? It makes perfect sense. Is it short-sighed? If you think they will go down in market share from now on, yes. But Hashicorp probably thinks it won't or it wouldn't ha…
So it _seems_ (the word I used above as well) from my perspective that they’re giving up a bunch of soft power for little gain, but it's very possible that I'm either wrong about the value of the soft power, or wrong about the cost of running the infra.
Re: The Terraform Registry Terms of Service have been updated
#104Earlier quoted context omitted.
I sure hope that opentf doesn’t just cause a fragmentation in the ecosystem that ruins the user experience, especially for the many people who are happily using unpaid TF and self hosted state stores.
Why aren't you interested in switching to OpenTF?
Re: The Terraform Registry Terms of Service have been updated
#105Earlier quoted context omitted.
It doesn't matter if you agree, it only matters if there are some decision makers that agree, and I know for a fact that there are. So the damage has already happened.
Most decision makers aren't impacted nor concerned by Hashicorp's change of licence.
Re: The Terraform Registry Terms of Service have been updated
#106Earlier quoted context omitted.
Exactly. The end result is the same. Folks are wise to question if they should use OSS that has a CLA assigning copyright because that means they should have zero expectations about the license not changing.
I could fork any MIT, BSD, or Apache-2-licensed project without a CLA and start publishing new versions under HashiCorp's BSL tomorrow. HashiCorp's CLA doesn't assign copyright. It just licenses it. Hence CLA---contributor license agreement. Contributors keep their rights to use and license their work otherwise. Seeing legal FUD via throwaway account here doesn't make me happy for HN.
Re: The Terraform Registry Terms of Service have been updated
#107Earlier quoted context omitted.
I could fork any MIT, BSD, or Apache-2-licensed project without a CLA and start publishing new versions under HashiCorp's BSL tomorrow. HashiCorp's CLA doesn't assign copyright. It just licenses it. Hence CLA---contributor license agreement. Contributors keep their rights to use and license their work otherwise. Seeing legal FUD via throwaway account here doesn't make me happy for HN.
Projects without a CLA can't be relicensed unless every contributor to the project agrees to do so. So if a project without a CLA has many contributors to it, you do have some reasonable assurance that its license cannot change (legally), because it would be impractical to do so.
This isn’t the case if the original license is the GPL, because the GPL requires derivative works to also be licensed under the GPL.
Re: The Terraform Registry Terms of Service have been updated
#108Who does that? No really?
Feels like the show is being run by lawyers who don't know how Internet works.
Re: The Terraform Registry Terms of Service have been updated
#109Earlier quoted context omitted.
I could fork any MIT, BSD, or Apache-2-licensed project without a CLA and start publishing new versions under HashiCorp's BSL tomorrow. HashiCorp's CLA doesn't assign copyright. It just licenses it. Hence CLA---contributor license agreement. Contributors keep their rights to use and license their work otherwise. Seeing legal FUD via throwaway account here doesn't make me happy for HN.
Projects without a CLA can't be relicensed unless every contributor to the project agrees to do so. So if a project without a CLA has many contributors to it, you do have some reasonable assurance that its license cannot change (legally), because it would be impractical to do so.
For the kind of "relicensing" relevant to HasiCorp and similar, the question is "What will be the license terms for new work going forward?"
Unless authors are claiming to revoke the license under which they previously released code---neither Hashi, nor Elastic, nor Mongo, nor the Commons Clause companies I saw ever claimed to do this---those old license grants do not go away. Hashi Terraform releases from the before the announcement are still available under MPLv2, and likely always will be. There is no backwards-looking, retroactive change.
When I fork, say, an Apache-2-licensed project, add my own work, and release under Hashi's BSL, the original, Apache-2-licensed code doesn't cease to be Apache-2-licensed. However, Apache 2 license terms don't apply to my new work unless I say they do. If I choose BSL instead, users of my new releases---old Apache-2 work plus my new Hashi-BSL-licensed work---have to comply with both Apache 2 and the BSL. They can toss my new work and just comply with Apache 2, but they can't have the whole package with my new work without my terms.
The situation's akin to using an Apache-licensed library or copying in Apache-licensed code snippets. All of this is possible because Apache 2, a "permissive" license, doesn't restrict how I can license new work.
The "relicensing" that requires getting every copyright owner's agreement is giving license grants under new or different terms for old releases. Say we're trying to "relicense" a project "from GPLv2 to GPLv3". If we get all copyright holders to sign off, the old releases essentially become "dual licensed"---another overloaded term that here means effectively "available under the user's choice of two or more licenses", specifically GPLv2 or GPLv3. Once copyright holders in existing work have agreed to make that work available under GPLv3, as well, future developers can license further work under GPLv3, too, effectively choosing to comply with the new GPLv3 grant for the old code, rather than the old GPLv2 grant.
We tend to see CLAs less often in permissive-licensed projects. There are various reasons for that, one of which is that permissive terms are by nature less complicated, more stable over time, and contend with fewer "license compatibility" issues. But we still see CLAs in some permissively licensed projects that never anticipate making grants under new terms for old releases, because the project stewards want to make sure people have the legal rights to license copyright in the contributions they offer, and they want documentation to back that up if there's a dispute. Typical CLA forms also address that problem.
So "uses CLA" is only a poor proxy for "stewarded by a company that may not choose to make its new work available under the old license forever". Developers can certainly choose to develop patches to these projects and refuse to give the steward a contributor license agreement. But the steward isn't obligated to accept or maintain those patches. They may very well refuse to do so without the flexibility the CLA provides.
When the public license for the project is copyleft, commercial-company project stewards are highly unlikely to give up licensing flexibility, agree to comply with the new contributor's copyleft license, and "lock the project open" just for some new patch, even if it's quality work. Depending on the copyleft license, that work may have to be licensed under the same copyleft terms, rendering it "compatible". But it simply won't be merged.
This happens, but in my experience, pretty rarely, and with little lasting effect. Outside developers usually aren't interested in spending all the time developing patches to other people's projects in the first place if their work won't be merged to mainline and kept up by the maintainers driving development.