Thank you for adding a license, I appreciate it!
That said, I still have some licensing concerns, given the license chosen.
First, this whole comment should be taken with a large grain of salt. I am not a lawyer. I’m just a simple software developer. I still think my comments are relevant because, well, drone’s target audience is software developers, not lawyers, and so software developers will probably be the first people to see this license.
I’ll also quickly note that my thoughts here reflect my thoughts, as a developer who works on free software & at businesses, but does not necessarily reflect the thoughts of other developers or the company I work at.
So, on to the concerns I have - in short, I’m concerned about the breadth of the license, whether such a license will reasonably allow the typical open source developer to use drone-runner-aws, and whether the license will allow certain businesses to use drone-runner-aws.
The license chosen, the Polyform Shield License, seems to be a “source available license with a broad non-compete”. The license is added to the lite-engine repository, and to my knowledge lite-engine is used within drone-runner-aws, as a library dependency, and as a standalone execution engine.
The portions of the license I find particularly of note, and will reference further below, are these:
Any purpose is a permitted purpose, except for providing any product that competes with the software or any product the licensor or any of its affiliates provides using the software.
Goods and services [may] compete even when provided free of charge.
If the licensor or any of its affiliates sells a line of business developing the software or using the software to provide a product, the buyer can also enforce Noncompete for that product.
Without further ado, I’ll talk through my concerns.
To me, this license seems very broad. Notably, it says that I cannot compete with “any product [Harness] or any of its affiliates provides using the software” and that the noncompete applies to “a line of business developing the software or using the software to provide a product”. Arguably, Harness, the company, is a line of business that develops lite-engine, so competing with any portion of Harness seems to my non-lawyer eyes like it might fall afoul of that portion.
The “any product using this software” bit on the surface seems clearer, but in reality I don’t know the full list of Harness’s affiliates who use drone, lite-engine, or drone-runner-aws as part of their offering.
I don’t know which, if any, of Harness’s other products, such as Feature Flags or Cloud Cost Management may internally use this code in some way.
My license to use lite-engine (and thus drone-runner-aws) is contingent on me not competing with this unknown set of products and affiliates who use lite-engine.
To me, this seems quite broad.
Usage in open source software
I worry that the issues outlined in “License breadth” above mean that this license can’t be used without first consulting with a lawyer. The definition of “compete” doesn’t seem clear to me as a software developer, and the actual scope of the license also seems unclear.
The shield license also goes out of its way to say that yes, its terms do apply to non-commercial free software, even libraries.
Consulting with a software licensing lawyer is a high bar for the typical open source project, which has zero or close-to-zero revenue, and I expect the vast majority of open source projects won’t want to shell out money for that unless absolutely necessary.
This stands in contrast to the Drone runner AWS license, which in essence tries to reassure users that if they make no money, Harness is okay with them using it.
Usage in businesses
I also fear, though this may be unfounded, that actually talking to a lawyer about this broad of a license would get a response of “the risk isn’t worth it, just use a different CI system”.
Since the list of affiliates and Harness products using lite-engine isn’t clearly and publicly stated, and there’s not a promise that new uses won’t be added in the future, essentially any business using drone-runner-aws is taking on the risk that Harness may enter a competing business, use lite-engine under the hood, and thus prevent that business from updating their CI system, even for CVEs.
I have one final note here. I think the license chosen also makes drone-runner-aws’s licensing confusing.
Since lite-engine is an integral part of drone-runner-aws, but drone-runner-aws is currently under the Polyform Small Business or Free Trial License, it sounds to me like using drone-runner-aws now requires a user to be in compliance with both one of those licenses AND the shield license.
This is not communicated anywhere on the drone-runner-aws repo, and I think that makes drone-runner-aws’s licensing more confusing as a result.
It feels like it’s “trojan horsing” in a non-compete clause to users who read drone-runner-aws’s license in the past, said “Yup, I don’t have 1MM revenue, so I can use this under its current license”, and started using it.
I think the following items would address many of my concerns:
- Update drone-runner-aws to indicate that you only get a license to it if you do not use it in a system that may compete with drone-runner-aws, or any product Harness/Harness’s affiliates offer using lite-engine. i.e. link to the shield license in a clear and visible location in the repo
- Clarify / provide an exhaustive list of what Harness products use drone-runner-aws/lite-engine/lite-engine’s Shield licensed code internally.
- Provide some assurance that no new Harness products will be developed that use drone-runner-aws or lite-engine in any capacity, to reduce business risk
Or, alternatively, switch to a different license, such as the same Polyform license drone-aws-runner uses, or Apache 2.0.