foriequal0 / pod-graceful-drain

You don't need `lifecycle: { preStop: { exec: { command: ["sleep", "30"] } } }`
Apache License 2.0
251 stars 17 forks source link

Which license does your project fall under? #26

Closed nickjj closed 2 years ago

nickjj commented 2 years ago

Hi,

In an effort to reduce future concerns or compliance issues may I suggest adding an official license to your project?

foriequal0 commented 2 years ago

Hi, I'm not familiar to OSS licenses. How about Apache 2.0? This project is heavily influenced by aws-load-balancer-controller (and contains some of it), which is also Apache 2.0.

nickjj commented 2 years ago

Since the aws-load-balancer-controller is using Apache 2.0 that's a reasonable choice. Personally I tend to go with MIT in most projects but since you internally forked their controller and have it in your repo going with Apache 2.0 is a good match. Both licenses are very popular in the open source world and let folks openly use, modify, distribute and sell your software as long as your original copyright and license stays unmodified. Both licenses are similar in that area.

https://choosealicense.com/ has a good high level breakdown of most open source licenses.

Speaking of forks. When I look at the charts/* directory I see no reference to your forks/* directory. We're free to use our own independently installed AWS Load Balancer Controller and the one from this repo doesn't get used right?

foriequal0 commented 2 years ago

Thanks. I'll check that out and add a license soon.

And, yes you're right about forks. You need your own AWS Load Balancer Controller. It is just for referencing their API type definitions (https://github.com/kubernetes-sigs/aws-load-balancer-controller/blob/main/apis/elbv2/v1beta1/targetgroupbinding_types.go)

This is how I ended up with this forks: Go doesn't easily let me import libraries in go.mod if libraries don't follow their opinionated structure (https://go.dev/blog/v2-go-modules). aws-load-balancer-controller doesn't follow it. It might be intended not to be imported, but I needed to import them. So I've brought whole code into my repo (I didn't know the other way) Then there were version conflicts with their dependencies at the time, so I've patched some https://github.com/foriequal0/pod-graceful-drain/commit/421004109d3cbca6feab02454a106b9d60460206#diff-b551a492f70faadcdacd0a023ea376c68331af98b55c1d038d2f7b7a04d59af1

I wish there were better way to sovle this. I attempted to remove the fork (https://github.com/foriequal0/pod-graceful-drain/pull/25), but I've been busy for now