NeurodataWithoutBorders / nwb-schema

Data format specification schema for the NWB neurophysiology data format
http://nwb-schema.readthedocs.io
Other
52 stars 16 forks source link

Attribute(s) to contain license (and copyright) for the .nwb file #320

Open yarikoptic opened 4 years ago

yarikoptic commented 4 years ago

Although licensing of data is still quite a wild west, I would be highly beneficial for .nwb to provide a formal specification to specify a license(s) (and thus a copyright, since in theory license without copyright is IMHO is not really proper) for the file. Since .nwb might contain data from different sources it should provision possibility for multiple (compatible upwards) licenses and relevant copyrights.

ATM (as of 2.0.1-19-gbd16b3e) I do not see any mentioning of license in the schema.

I would be happy to extend on this, just wanted to drop a starting issue first.

oruebel commented 4 years ago

Since .nwb might contain data from different sources it should provision possibility for multiple (compatible upwards) licenses and relevant copyrights.

Allowing licenses on a per-data-type level gets tricky for several reasons: 1) what happens if there are incompatible licenses (e.g., what if one object is BSD and the other GPL?) 2) this would require adding fields to the base NWBContainer/NWBData types and hence, affect all types in NWB, 3) many data types cross-reference each other, e.g., ElectricalSeries references the electrodes table, and having separate licenses across those types seems tricky from a legal perspective.

I think a single global license on the file/session level is probably most appropriate and I'd expect should be sufficient for the vast majority of cases. If different licenses are really required, then one could then go the route of separating the data with different licenses into separate files and if necessary linking them together via a separate file with external links. In this case the external link would be governed under the license of the file it originates from.

So the change I would propose is to simply add an optional, variable-length string attribute "licence" on NWBFile. @yarikoptic do you think that would be sufficient?