contributor-assistant/github-action

[Feature] allow an alternative license

Closed this issue · 3 comments

Is your feature request related to a problem? Please describe.
The actual CLA-Assistant permits to ask the contributor to use an alternative license by using a specific metadata gist file:

For instance, we currently use something like:

{
    "name": {
        "title": "Full Name",
        "type": "string",
        "githubKey": "name"
    },
    "email": {
        "title": "E-Mail",
        "type": "string",
        "githubKey": "email",
        "required": true
    },
    "license": {
        "title": "License selection",
        "type": {
            "enum": [
                "I agree that my contributions are made using the Company Contributor Agreement (text above)",
                "I agree that my contributions are made using the New BSD License (3-clause)"
            ]
        },
        "required": true
    }
}

Describe the solution you'd like
Is there an option to handle this case with CLA-assistant-lite?

Hi @oganexon, Can you check If this feature can be implemented from our side ?
If yes, what will be the effort required ?

CC: @michael-spengler

Regarding the pre-filled information, we can retrieve it during the execution of the action with a call to the API.

However, filling in the form without an interface is not an easy task. Radio buttons or text boxes with content validation will not be possible with comments.

Solution 1

An alternative solution would be to put a hyperlink with some pre-filled information in parameters that would redirect to a static website with an interface similar to this one:

image

When validating the form, the site would generate a json snippet that you would simply copy and paste into a comment. And then this content would be stored in a json file just like the signatures.

Solution 2

Since having a static site is not in the scope of the CLA Assistant lite, here is another solution.

Instead of using a link, we write a pre-filled yaml snippet (more user-friendly than json) directly in the comment. The user must then copy and paste the snippet and modify the required information.


These solutions are obviously less convenient than with the classic CLA, but it is still possible.

We'll call the corresponding frontend component License Configurator (form...). The whole contributor assistant frontend will be served via GitHub Pages. We won't need any server and still can provide a UI.