Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question regarding the license and usage of data #210

Closed
octref opened this issue Apr 20, 2018 · 7 comments
Closed

Question regarding the license and usage of data #210

octref opened this issue Apr 20, 2018 · 7 comments

Comments

@octref
Copy link
Contributor

octref commented Apr 20, 2018

Following up #199, I have made a PR that uses mdn/data to enhance the data we have at vscode-css-languageservice: https://github.com/Microsoft/vscode-css-languageservice/pull/91/files. It imports JSON files from mdn/data and build a browser.ts on top of it.

Then @chriseppstein raised a good question. Does transformation of the original data count as modification?

Q11 of MPL FAQ states if I have any modification I must license the modification in MPL too. And from 1.4 and 1.10 of MPL, our case could be argued to be "modification" under this clause:

any file in Source Code Form that results from an addition to, deletion from, or modification of the contents of Covered Software; or

In this case, I think the JSON files here could be considered as "contents of Covered Software", and our use could be considered "modifications". Having part of our codebase in a copyleft license could make people uneasy to adopt it.

@wbamberg Could you consider re-license the data in MIT license or correct my understanding of the license?

@frenic
Copy link
Contributor

frenic commented Apr 23, 2018

Could you consider re-license the data in MIT license or correct my understanding of the license?

I wonder the same thing for csstype.

@wbamberg
Copy link
Contributor

@octref , @frenic : I'm not qualified to answer these questions, but I've passed them on to someone who is.

@chrisdavidmills
Copy link
Contributor

Sorry for the delay on this. I'm working on an answer at the moment.

I'd like to clarify with you what you are actually doing with our data. From looking at the PR linked above, it looks like you are:

  1. Importing the relevant data from our NPM package.
  2. Using a program to modify it in some way.
  3. Storing it in some kind of package inside your repo?

Is this correct?

It doesn't look like you are storing any of our raw JSON files anywhere inside your codebase. But you are actually storing some of our data somewhere?

With MPL being a file-based license, these are the details that make the difference.

@octref
Copy link
Contributor Author

octref commented May 3, 2018

Storing it in some kind of package inside your repo?

It doesn't look like you are storing any of our raw JSON files anywhere inside your codebase. But you are actually storing some of our data somewhere?

We store the transformed data in here: https://github.com/Microsoft/vscode-css-languageservice/blob/master/src/data/browsers.ts.

It's generated by this script by combining

I also hand-picked documentations for certain css properties from MDN website, and put them in here: https://github.com/Microsoft/vscode-css-languageservice/blob/master/build/mdn-documentation.js

I believe I have attributed the documentation excerpts from MDN properly - There is a disclaimer on this file's license (CC BY-SA 2.5) in the README and a header on that specific file.

@octref
Copy link
Contributor Author

octref commented May 3, 2018

@chrisdavidmills Also, we are storing the transformed file in our repo so we get diffs and see what's incoming, but it's also possible for us to have mdn/data as a dependency and load files from it in dynamically at runtime, if that's your preferred usage.

@chrisdavidmills
Copy link
Contributor

chrisdavidmills commented May 8, 2018

@octref So I've done some studying, and gotten you an answer.

As detailed in https://www.mozilla.org/en-US/MPL/2.0/FAQ/, "new files containing no MPL-licensed code are not Modifications, and therefore do not need to be distributed under the terms of the MPL". I think that means if a file itself does not contain MPL-licensed code or data, it does not need to be under the MPL. If the file contains MPL-licensed code or data, then it needs to stay under the MPL."

So if you don't want to include any MPL-licensed files in your codebase, you'd need to use your last suggestion — have mdn/data as a dependency and load files from it in dynamically at runtime.

HTH. Let me know if you need anything else to move forward. We are very excited about this!

@octref
Copy link
Contributor Author

octref commented Nov 28, 2018

Thanks a lot for the license change! Really appreciate it.
Although it's not required, I'll continue to carry attributions to MDN in here: https://github.com/Microsoft/vscode-css-languageservice.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants