Licensing for "forking" the tests


Hi all,

I’m writing my own little Dhall-like language, both as a learning experience, but also a design experiment to see what Dhall would be like if it used bidirectional elaboration with unification. I’ve got a bunch working, and now is the time to start battle testing, so I would like to take the test suite and modify them as necessary. My language is in a Darcs repository and I will probably just commit the test suite verbatim and then start modifying it.

I know dhall-lang/dhall-lang is BSD-3 clause licensed, but I don’t know how to interpret that practically. I’m happy to license my work as BSD-3 too (it currently doesn’t have a license).



@ocharles: The simple answer is: I’m the current copyright holder and I’m not going to come after you for license violations :slight_smile:

If you want to follow the letter of the license you would need to preserve the BSD license for the test files that you fork, but the rest of the project can be licensed however you want. If you depend on the test files as a build dependency (rather than as a fork), then there are no restrictions on how you license your project.


Ok. I think for now I’m going to include most test files, and will be licensing this BSD-3 as I’m perfectly happy with that license. If I understand right, this is both technically acceptable and has your permission :slight_smile:



I think it is subtly different from how @Gabriel439 describes it, but it doesn’t make a difference to the bottom line.

Specifically, I think the copyright is owned by the contributor, absent any explicit transfer. So for example I own the copyright on tests I contributed. This is why some bigger projects have a Contributor Licence Agreement (CLA) that allows the project maintainer to either own the copyright (jointly or outright) or grants the maintainer permission to re-licence at will without needing to solicit agreement from each contributor.

However I think the BSD 3-clause licence is certainly permissive enough to cover what you want to do here so it’s all fine :+1:t2: