http://weblogs.mozillazine.org/gerv/archives/2007/04/making_tiny_things_public_doma.html
The tests I've seen in the Mozilla tree (admittedly not so many) don't have any
copyright/license statement at all. It seems like that might potentially cause
some problems in future for contributing our tests to other organizations such
as the W3C or other browser vendors - something that it would be good to be able
to do in order to increase implementation interoperability for the good of the
Web. Should Mozilla perhaps require all testcases to have the public domain
statement Gerv gives?
I'm told that one problem with using the public domain statement for all tests
is that some contributor's organizations are required to use the trilicense for
_all_ files they contribute to Mozilla.
Jonathan
Sorry, Thunderbird told me my messages had failed to send, honest!
Jonathan
The rule for our tree is that if no licence is given, the tri-licence is
assumed.
Note that the licence for the tests has no effect on the licence of
companion tests in the same suite, or software you run the tests against.
> Should Mozilla
> perhaps require all testcases to have the public domain statement Gerv
> gives?
I don't think we should require people to put code in the public domain
if they don't want to. Such a requirement would necessitate a change to
our licensing policy anyway.
People should certainly put the correct licensing terms on new
testcases, as with any new code.
Gerv
That's what I'd expect.
>> Should Mozilla
>> perhaps require all testcases to have the public domain statement Gerv
>> gives?
>
> I don't think we should require people to put code in the public domain
> if they don't want to. Such a requirement would necessitate a change to
> our licensing policy anyway.
How about "informally encourage" then? :-)
> People should certainly put the correct licensing terms on new
> testcases, as with any new code.
By "correct", you mean the copyright owners choice of either the public domain
statement or the trilicense?
Jonathan
Quite frankly, I hadn't even thought about licensing for tests... and writing
tests is time-consuming enough without having to look up the license stuff. So
I've been defaulting to no license header, and will likely continue to do so,
even though I would like to have the tests in the public domain.
Adding source files is pretty rare, but adding tests is something that we want
happening a _lot_ and we want minimal barriers to entry imho.
Not to mention that for certain tests you might not have the luxury of adding a
license header (e.g. parser tests that regression-test a bug that has to do with
particular byte offsets).
Another serious concern is that a lot of tests come from bugs, where they start
as testcases submitted by the bug reporter that then get copy/pasted into the
test. Do we have a policy on the copyright situation there?
I suspect that as things stand we shouldn't be redistributing our tests until we
resolve that question (and possibly rewrite some of the tests depending on the
resolution).
-Boris
We could do that :-)
>> People should certainly put the correct licensing terms on new
>> testcases, as with any new code.
>
> By "correct", you mean the copyright owners choice of either the public
> domain statement or the trilicense?
I do.
Gerv
I entirely agree - this is why the relevant boilerplate is as short as
possible.
It would be great if we didn't have to have any - blame the copyright
treaty which made "can't copy" the default back in the 70s, I think it was.
> Not to mention that for certain tests you might not have the luxury of
> adding a license header (e.g. parser tests that regression-test a bug
> that has to do with particular byte offsets).
Fair point. In that case, one would need some sort of external file
giving the terms.
I wonder if it would be easier just to have one LICENSE file per
directory with this text? That would obviate the need for adding the
text to the top of every file.
> Another serious concern is that a lot of tests come from bugs, where
> they start as testcases submitted by the bug reporter that then get
> copy/pasted into the test. Do we have a policy on the copyright
> situation there?
No. It's a grey area. I'm not sure how best to handle it.
Gerv
I think that would be great. We'd have to have the agreement of module owners
and ensure that everyone checking in to such a directory was aware of the
LICENSE file. For now I've gone ahead and added the two line public domain
dedication to the top of the files I've contributed:
>> Another serious concern is that a lot of tests come from bugs, where
>> they start as testcases submitted by the bug reporter that then get
>> copy/pasted into the test. Do we have a policy on the copyright
>> situation there?
>
> No. It's a grey area. I'm not sure how best to handle it.
Perhaps with a separate (sub?)directory for tests of unknown copyright status?
Jonathan
That sounds like an excellent idea.
I hesitate to use the word "relicensing", but I think it would be worth it to go
ahead and do just that with our existing tests (relicensing them to be in the
public domain), declare that tests in general should be licensed such, add
per-directory license files, and talk to the organizations that demand
trilicense licensing from their employees about their policies...
Not necessarily in that order, I guess. But I do feel that we should have our
tests in the public domain, period.
> No. It's a grey area. I'm not sure how best to handle it.
If we just have all our tests in the public domain, I'd say just ask for
permission in the bug any time a reporter's testcase is imported into the test
suite....
-Boris
Also the terms in such per-directory LICENSE file would implicitly
apply to the new files added to that directory, right? So when I
commit a new file with a testcase but without the license boilerplate
for someone, I have to notice the LICENSE file and ask the person if
he agrees with that license (is my understanding correct?).
On the other hand, if the boilerplate text is included in the
patch/testcase, the author's agreement with the license terms is
clear. We could provide boilerplates for the testcases, like we do for
mochitest tests, to reduce entry barriers.
Nickolay
About a month ago I talked to Catherine Brady about this exact issue.
I was using this as an example. If I found a page with a java applet and
created a test by downloading the html and class and making the html use
the local resource, what would be required for this to be usable as a
test case?
The result of the discussion was that we would want to ask permission
from the creator of that page to use it for that purpose and CB was
putting together a letter that could be sent to ask for this permission.
I gave her a draft of the letter a while back.
- ray
If significant creativeness remained in it (and, if you've pinched their
class file, it might), you'd need permission from the author.
> The result of the discussion was that we would want to ask permission
> from the creator of that page to use it for that purpose and CB was
> putting together a letter that could be sent to ask for this permission.
> I gave her a draft of the letter a while back.
You might want to ping her again, then :-)
Gerv
The problem is then, as Nickolay points out, that there's an ambiguity
that contributors knew the terms of contribution. If they add the text
to their testcase, there is none such.
While it's a grey area, through the rest of the project we have a
doctrine that if all the files in a directory are under a certain
license, and there are a couple of files with no boilerplate, we treat
them the same. Can we do the same here with those few tests which have
to be a specific sequence of bytes?
(Also, if they have to be a specific sequence of bytes, one could argue
there's no creative step, and so no copyright.)
> I hesitate to use the word "relicensing", but I think it would be worth
> it to go ahead and do just that with our existing tests (relicensing
> them to be in the public domain), declare that tests in general should
> be licensed such, add per-directory license files, and talk to the
> organizations that demand trilicense licensing from their employees
> about their policies...
Do you have a volunteer in mind? :-)
Gerv
Although that's under revision, so we could change it if we wanted to.
> Also the terms in such per-directory LICENSE file would implicitly
> apply to the new files added to that directory, right? So when I
> commit a new file with a testcase but without the license boilerplate
> for someone, I have to notice the LICENSE file and ask the person if
> he agrees with that license (is my understanding correct?).
Yes. This isn't ideal, I agree.
Gerv
My point was that if it's policy what license all the tests MUST be under,
there's no need to check the LICENSE file all the time. We announce it, and
tell it to people when we give them CVS access, and that's good enough, imo.
-Boris