Closed Bug 788511 Opened 8 years ago Closed 6 years ago

implement a policy stating that all test files without an explicit license are public domain


( :: Licensing, task)

Not set


(Not tracked)



(Reporter: ted, Assigned: gerv)


It would be nice if we could have a policy that said that our tests were public domain unless explicitly licensed otherwise. I can't imagine anyone objecting to this, but we should certainly post about it publicly before doing anything.
We can't relicense existing tests without asking all the copyright owners. We could say "all tests checked in after a certain date", but perhaps that wouldn't meet your goals. Also, we rely on the "license bleed theory" to imply licensing for unlicensed files; this policy would mean that didn't apply in some cases, which muddies the waters.

So all in all, while I see the benefit, I'm not sure this is worth it for the amount of trouble it would be :-|. 

I would be fine with making the policy change apply as of a certain date. It's not that hard to find out the checkin date of a file.
Hi Ted,

I'm pondering whether I have time to drive this. You can help me decide by making the best case for this policy change here in this bug :-)

Test files are unique in that they're not part of what we ship, but also can be valuable to outside parties (other browser developers, standards organizations). They're usually standalone and simple enough that nobody ought to care what the license is, so using public domain feels like a good fit. Having them default to public domain means that if someone wants to upstream them to a standards org, or share them with another browser vendor they don't need to worry about the licensing.

In terms of implementation here, I would probably declare a changeover date, and then run something like your relicensing script to find all test files in the tree as of that date without licenses and slap an MPL2 header on them (assuming that's what the default license has been up to this point). Then we could say that any tests introduced after that date without a license would be PD. (Also any developer whose tests did not have a license header would be free to explicitly relicense them to PD.)
I talked to Luis Villa about this and we agreed that it would be Ok for Mozilla to make a policy change that all tests checked in after date X were CC0 unless another license were specifically put upon them. But I don't have time to set up and manage code header relicensing related to this. So we'd just have to tell people to check the date if they wanted to know the license for certain, or assume MPL 2 if they couldn't be bothered to check.

We would also need to consult on this issue. I will post to .platform and .governance. But if there is significant resistance, I'm not going to push it hard.

I am willing to help push. CC0 makes a lot of sense and per legal it's also what we want for standards:
Thanks for following up on this! I'd be willing to find time to whip up a script to add MPL headers to existing tests. I think just having the policy would be an improvement.
FWIW tests that we want to upstream to W3C/web-platform-tests have to be available under a BSD/W3C license. Presumably CC0 will allow this and MPL2 will not? If so it seems like a positive change from that point of view.

Yes; taking tests which are under CC0 and putting them under a BSD license seems fine to me.

This seems like a popular idea, then :-) Some notes from the discussion:

* Obviously, tests already in the public domain (and any other under an explicit license) will remain so

* Yes, this does allow dual-licensing under more restrictive terms in order to include them in test repos held by other companies.

* Tests imported from elsewhere will continue to have the current rules for non-Product code (must be OSI-licensed)

* Tests written before the change date which were only contributed to by Mozilla employees are relicensed as CCO, but there won't be any header changes done centrally. People can do the research and do it themselves if they like.

* If a test is unlicensed and you can't be bothered to do the research, you have to assume MPL2.

Here's some draft additions to the license policy. Can anyone see any problems with them?

<p><b>Test Code</b> means test cases for automated test frameworks (but not the frameworks themselves).</p>


<p><b>PD Test Code</b> is Test Code which is Mozilla Code, which does not carry an explicit license header, and which was either committed to the Mozilla repository on or after 10th September 2014, or was committed before that date but all contributors up to that date were Mozilla employees, contractors or interns. PD Test Code is made available under the <a href="">Creative Commons Public Domain Dedication</a>. Test Code which has not been demonstrated to be PD Test Code should be considered to be under the MPL 2.</p>

Some of our test files have extra support files (things such as help pages, images, js and css files, etc.).  Not sure if we need to call them out explicitly, but the above looks great to me!
Policy change checked in.

Closed: 6 years ago
Resolution: --- → FIXED
On Twitter fantasai asked if we could have a registry for non-employees so those too can put their Test Code in the public domain.
Thanks Gerv!
annevk, fantasai: bug 1073556.

Thanks, Gerv! Might want to encourage employees that contribute under a address to add themselves to the registry as well, so people can easily tell what's covered and not. Would also help sort out licensing for those who contribute before/after being an employee.
fantasai: feel free to encourage whoever you like; if they don't need to add their name, it's simply a no-op. :-) But I can't devote more time to making this happen. The legal tools needed for someone to contribute a suite of tests to a standards body are now all there; they would just need to do the necessary research and work to clear any which needed clearance.

You need to log in before you can comment on or make changes to this bug.