donfig icon indicating copy to clipboard operation
donfig copied to clipboard

What is actually under the Dask license?

Open QuLogic opened this issue 11 months ago • 6 comments

The repo contains LICENSE.txt, which is MIT, but also DASK_LICENSE.txt, which is BSD-3-Clause. However, the pyproject.toml only says MIT, and all .py files (except __init__.py for some reason) have a header that is MIT.

So which files are actually BSD-3-Clause? And if there are any, pyproject.toml should mention this.

QuLogic avatar Jan 19 '25 04:01 QuLogic

Sorry for the late response, I thought I had answered this and realized today that was only in my head 😉

As far as the pyproject.toml, I wasn't aware more than one license could be specified but I'll be honest and say I didn't think of the best way to express the license in that file or the resulting sdist/wheel.

Overall I'm not sure the proper way to handle the licensing for this project so any help would be much appreciated. I'm surprised I chose MIT for this project when dask uses BSD-3 but I guess it doesn't matter at the end of the day(?). Almost everything in this package originated in the dask project, but was manipulated to work standalone outside of dask. The documentation is also based on dask's documentation of its configuration system. Every once and a while new updates in dask will be migrated to this package.

djhoese avatar Jan 23 '25 17:01 djhoese

As far as the pyproject.toml, I wasn't aware more than one license could be specified but I'll be honest and say I didn't think of the best way to express the license in that file or the resulting sdist/wheel.

The license key is a valid SPDX expression, so you can use MIT AND BSD-3-Clause there.

I guess it doesn't really matter which one is used for which file; I was just confused that the only license headers in files I could find were MIT even when they had comments saying they came from dask under BSD-3-Clause. It seems like making them all BSD would make sense?

QuLogic avatar Jan 24 '25 10:01 QuLogic

If I'm reading the BSD-3 license properly, the only thing it requires is the copyright notice at the top of the source and the LICENSE file (so the conditions and disclaimer are included). I've also heard way back that unless explicitly stated, source files probably don't even need license headers. I could just remove them in that case and make sure the LICENSE file(s) are distributed with source and binaries.

djhoese avatar Jan 24 '25 16:01 djhoese

Any progress here?

QuLogic avatar Sep 22 '25 04:09 QuLogic

No. What specific changes do you think are necessary again? I haven't had time and am not completely confident about what should be done to actually do anything.

djhoese avatar Sep 22 '25 12:09 djhoese

I'll try to make a PR today with some changes and check with you for feedback. I think my understanding is that neither MIT or BSD3 require a header in every source file. So to simplify things I may remove the header from all the source files. I will update pyproject.toml to include both licenses following modern pip functionality.

djhoese avatar Sep 22 '25 13:09 djhoese