Page 1 of 1

[Q] github add Contributor License Agreement

Posted: Tue Mar 21, 2017 11:49 am
by rudi ;-)
hi guys
how we (self) can add this "Contributor License Agreement" from espressif esp-idf repo to our own "repo" ?

why
if we self have signed the "Contributor License Agreement" then there is no problem for a pullrequest changes with new code to the esp-idf repo from espressif.

if a user make pullrequest to our own repo and the user have not signed the "Contributor License Agreement" from espressif repo
then we ( own repo ) can not make this changes as pullrequest to the espressif repo.

so my question is:
i want add this "Contributor License Agreement" for let signing the user, who want to pull in "my" repo.
how can i do this?
hope the situation is clear described.

simply
i want create a new repo on my github account and want add a "Contributor License Agreement"
new user ( have not signed to espressif or other Contributor License Agreement ) want PR to this -
i want let sign the user first before a "Contributor License Agreement"
that i can do without problems a PR to espressif repo.

best wishes
rudi ;-)

Re: [Q] github add Contributor License Agreement

Posted: Wed Mar 22, 2017 3:40 am
by ESP_Sprite
So, if I understand it correctly, you want others to be able to push to *your* repo to have to sign the contributors license agreement, so you can then push from your to *our* repo without needing them to sign the contributors license agreement that is connected to *our* repo?

Apart from technical details, I'm not sure if that can work from a legal PoV... in theory, the contributors license agreement is akin to a contract between two parties... as a third party, I'm not sure if you even have the legal capacity to create contracts in Espressifs name, so any license agreements that were signed on *your* repo would be legally void anyway. (Disclaimer: I'm not a lawyer.)

Re: [Q] github add Contributor License Agreement

Posted: Wed Mar 22, 2017 8:57 am
by rudi ;-)
yes you have understand well jeroen.

the thing is, if i self create a repo and make a component and make then a PR to espressif
there is no problem cause i have confirm espressif's Contributor License Agreement.

if someone makes a "append" to my Repo, then the "author code of this" have no espressif Contributor License Agreement.
ok have understand that this 3 parties is not light to bring in under one Contributor License Agreement.

so my question is now, in this, how can i add a "own" Contributor License Agreement for my repo - i am not fit in git -
between the user who make a PR to my code...and me
( in this will stand, that i can do what i want with the code...)

if this is done, i can do PR to ESP-IDF cause the user have confirmed my Contributor License Agreement
and i have confirmed ESP-IDF Contributor License Agreement.

best wishes
rudi ;-)

example:
CAN is ready now for standard frames from author
in this repo is done a PR with extended frames from other author
in other author local repo (my) was done a work on the base driver from begin, standard code, extended code,.., few changes for better code and menuconfig ..

Re: [Q] github add Contributor License Agreement

Posted: Wed Mar 22, 2017 9:21 am
by rudi ;-)
found it now:
https://github.com/integrations/cla-assistant

thank you
best wishes
rudi ;-)

edit:
just had to laugh, git does not have authored this ? LoL

CLA assistant is provided by a third-party and is governed by separate terms, privacy, and support documentation

Re: [Q] github add Contributor License Agreement

Posted: Thu Mar 23, 2017 5:55 am
by ESP_Sprite
Still, legally I don't think we will be able to accept that. From memory, the contributor license agreement essentially grants a perpetual license between the two parties involved to distribute the code; it does not transfer the copyright of the code itself. I'm not sure if being a licensee also allows you to sign over the rights to the code to a third party, I think most countries need the copyright holder to do this.

Re: [Q] github add Contributor License Agreement

Posted: Thu Mar 23, 2017 10:14 am
by ESP_Angus
To take a step back from this discussion, in the long term what we want to do is make it easier for people to maintain third party components.

For patching bugs or adding small things to our existing IDF features, or for very low-level features which need tight integration to IDF internals for some reason, accepting Github PRs (with CLA) make a lot of sense. We can review the change and accept it.

For large additional components, it doesn't really make sense for us to merge them into IDF. If the original author wants to update them or fix bugs, they have to send us a PR each time (and we have to review the changes and put it through our review/merge queue.) If other people find bugs in these contributed components, who is responsible for fixing them? Any time we add a major component we're saying (to some extent) "this is part of our (Espressif's) software offering".

Instead, making it easy for people to add third-party components helps the ecosystem grow so that everyone can offer their IDF code in a form which is easy to integrate.

To begin with, we're collecting a list of third-party components and we're going to publish these as part of the IDF documentation. The list is being collected here: https://esp32.com/viewtopic.php?f=2&t=1498

Long term, we want to build some kind of package manager which makes it very easy to pull in components from multiple sources (some official, some unofficial) and which will help with version conflicts, etc. But we're starting simply with just a list, and we'll use our experiences curating this list to work out what exactly we need the package manager to do.

Re: [Q] github add Contributor License Agreement

Posted: Thu Mar 23, 2017 4:50 pm
by rudi ;-)
right and full agreement Jeroen and Angus,
So I see the third party as the best approach and solution for "expansion" too.
Long term, we want to build some kind of package manager...
That is precisely the aim here.
We go a few steps further ( esp32IDE ) and put together to certain packages synonymous predefined Configs (Driver, Pin ect)
So only a few parameters are necessary from the user via a "menu"config.
Developer can then concentrate entirely on the functional scope of the packages and thus work.

best wishes
rudi ;-)