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

[package.json] Custom License #67

Closed
curran opened this issue Aug 2, 2018 · 14 comments · Fixed by vizhub-core/vizhub-legacy#456
Closed

[package.json] Custom License #67

curran opened this issue Aug 2, 2018 · 14 comments · Fixed by vizhub-core/vizhub-legacy#456
Assignees
Labels
Design Design input needed Important Important task

Comments

@curran
Copy link
Contributor

curran commented Aug 2, 2018

As a visualization author, I want to specify which license the code is released under, so that I may change it from the default MIT License.

@micahstubbs
Copy link

An Apache-2.0 default license would allow a few more people to use VizHub examples at work.

as I understand it, MIT is silent on patent grants, while Apache-2.0 explicitly grants a patent license to users.

If you the author have no patents, then Apache-2.0 is a way of signaling to paranoid users that you don't plan to use secret patents to sue them later.

@micahstubbs
Copy link

outside of the "people who work at companies with lawyers" cohort, MIT is friendly and fine. it is also much more concise than Apache-2.0.

@curran
Copy link
Contributor Author

curran commented Oct 11, 2018

@micahstubbs Thanks for the insight! Maybe the default should be changed, as the desire is to make it as permissive as possible.

@micahstubbs
Copy link

micahstubbs commented Oct 12, 2018

yea, my experience with similiar goals led me to Apache-2.0.

In my case, the goal was "find the most permissive widely-used OSI approved license and use that" where OSI-approval is a proxy for being a well-defined license. https://opensource.org/licenses

@curran curran added this to To do in VizHub 1.0 Legacy Nov 2, 2018
@curran curran moved this from To do to Unprioritized in VizHub 1.0 Legacy Nov 2, 2018
@curran curran moved this from Unprioritized to Backlog in VizHub 1.0 Legacy Nov 18, 2018
@curran curran added this to New Features (Big) in VizHub Kanban Jun 5, 2020
@curran curran moved this from New Features (Big) to New Features (Small) in VizHub Kanban Jun 9, 2020
@curran curran moved this from New Features (Small) to License-related in VizHub Kanban Jun 9, 2020
@curran
Copy link
Contributor Author

curran commented Jun 9, 2020

Ideas for how to do this:

  • Support a LICENSE file, like GitHub does. Pieces required: explicit callout in terms & conditions, code change to hide the MIT license default if a LICENSE file is present. Cool follow-on - summarize the license just like GitHub does (oss lib for this)?
  • Add a piece of config to the viz itself, and provide users a menu for selecting between various licenses, like Blockbuilder does. Would allow VizHub to disallow transitions that are not legally allowed, like for example GPL to MIT. Would make it easier to be bl.ocks - compatible re: license field of .block.

@curran curran moved this from License-related to Code Editor in VizHub Kanban Sep 2, 2020
@curran curran moved this from Code Editor to Backlog Low Priority in VizHub Kanban Sep 26, 2020
@curran curran moved this from Backlog to ToDo in VizHub Kanban Sep 26, 2020
@curran curran moved this from ToDo to Backlog in VizHub Kanban Nov 10, 2020
@curran curran moved this from Backlog to ToDo in VizHub Kanban Nov 11, 2020
@curran curran moved this from ToDo to Backlog in VizHub Kanban Nov 17, 2020
@curran
Copy link
Contributor Author

curran commented Nov 19, 2020

This is becoming important as people are starting to port things from Observable (ISC Licensed) to VizHub (MIT Licensed).

@curran curran moved this from Backlog to ToDo in VizHub Kanban Nov 19, 2020
@curran curran added the Design Design input needed label Nov 19, 2020
@curran curran moved this from ToDo to Prioritized Backlog in VizHub Kanban Nov 24, 2020
@curran curran changed the title Editable License [package.json] Custom License Nov 24, 2020
@curran
Copy link
Contributor Author

curran commented Nov 25, 2020

New idea for how to approach this: use the license field of package.json.

https://docs.npmjs.com/cli/v6/configuring-npm/package-json#license

VizHub can read that and display the license where it currently says "MIT License".

The lookup table from License code to full form is here https://www.npmjs.com/package/spdx-expression-parse

@curran curran moved this from Prioritized Backlog to ToDo in VizHub Kanban Dec 2, 2020
@curran curran added Important Important task and removed Design Design input needed labels Dec 2, 2020
@curran curran changed the title [package.json] Custom License Custom License Dec 15, 2020
@curran curran added the Design Design input needed label Dec 15, 2020
@curran
Copy link
Contributor Author

curran commented Dec 15, 2020

If we use the license field of package.json, it will not be possible to simply change the license on old vizzes that do not have a package.json.

It seems that the best approach to this would be to add an additional section of the settings panel with a dropdown for licenses.

Let's add a menu there with the following set of options: MIT, ISC.

@stushurik
Copy link
Collaborator

@curran do you have a case for old vizz which requires a license change?
Why do we need to complicate things, just for some hypothetical use case?

@curran
Copy link
Contributor Author

curran commented Dec 15, 2020

Good call out. It's true there is no strong use case for changing the license on existing vizzes.

@curran
Copy link
Contributor Author

curran commented Dec 15, 2020

Maybe a simple implementation based on package.json would be best after all.

@curran
Copy link
Contributor Author

curran commented Dec 15, 2020

Here's a rough design I threw together.

image

@curran
Copy link
Contributor Author

curran commented Dec 15, 2020

The license field in package.json is well established, maybe we would be best off using it.

Some nice documentation about it: https://docs.npmjs.com/cli/v6/configuring-npm/package-json#license

@curran
Copy link
Contributor Author

curran commented Dec 15, 2020

@stushurik Please move ahead with the following scope of work for this issue:

  • Develop some logic that recognizes the license field of package.json.
  • Use that to change the license text displayed at the bottom of the viz page (for example "ISC Licensed" - an all capitalized version of whatever is in the license field, followed by " Licensed", is fine for a first version).

Thanks!

@curran curran changed the title Custom License Custom License via Package.json Dec 16, 2020
@curran curran changed the title Custom License via Package.json [package.json] Custom License Dec 16, 2020
@stushurik stushurik moved this from ToDo to In progress in VizHub Kanban Dec 22, 2020
@stushurik stushurik moved this from In progress to ToDo in VizHub Kanban Dec 24, 2020
stushurik added a commit to vizhub-core/vizhub-legacy that referenced this issue Jan 17, 2021
@stushurik stushurik moved this from ToDo to In progress in VizHub Kanban Jan 17, 2021
VizHub 1.0 Legacy automation moved this from Backlog to Done Jan 18, 2021
VizHub Kanban automation moved this from In progress to Done Jan 18, 2021
@curran curran removed this from Done in VizHub 1.0 Legacy Dec 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Design Design input needed Important Important task
Projects
VizHub Kanban
  
Done
Development

Successfully merging a pull request may close this issue.

3 participants