Contributions licensing

Post Reply
User avatar
AndreyB
Site Admin
Posts: 14280
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Contributions licensing

Post by AndreyB »

With people contributing larger and larger chunks of stuff to this project, we need to figure out what to do with contributions licensing.

I really like ChibiOS approach: If you plan to contribute code to the ChibiOS/RT project then there is a requirement you should be aware of: contributing code for inclusion in the ChibiOS/RT main line requires assigning the copyrights on the contributed code to me (Giovanni Di Sirio). Are there other examples of this approach?

There are also examples of a less radical approach:
Google would ask you to sign an agreement online: https://developers.google.com/open-source/cla/individual?csw=1
Apache would ask you to sign an agreement (offline?): http://openoffice.apache.org/contributing-code.html

Update: full copyright assignment is too crazy for our purposes, a proper contributor license agreement would be good enough.
Attachments
IndividualContributorLicenseAgreement.docx
(6.41 KiB) Downloaded 525 times
IndividualContributorLicenseAgreement_Jan_02_2015.pdf
(65.69 KiB) Downloaded 546 times
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
AndreyB
Site Admin
Posts: 14280
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Contributions licensing

Post by AndreyB »

The more I look into this the more I realize how non-trivial this issue is :(

I have added a note to the license that contributions have to agree to waive their copyrights. Obviously this is all pretty lame and it would all be up to who has a better lawyer anyway :)
update: it's now GPL 3.0 license without any amendments.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
jedediah_frey
contributor
contributor
Posts: 51
Joined: Tue Nov 05, 2013 1:43 pm

Re: Contributions licensing

Post by jedediah_frey »

russian wrote:The more I look into this the more I realize how non-trivial this issue is :(

I have added a note that contributions have to agree to waive their copyrights. Obviously this is all pretty lame and it would all be up to who has a better lawyer anyway :)
It only makes a big difference if you plan on commercializing it.

As far as choosing a license, it comes down to 'what are you afraid of"

http://programmers.stackexchange.com/questions/82321/
If you're scared of having your name dragged through the mud, then the BSD license will seem better. If you're scared of having your software put into a proprietary piece of software, then the GPL will seem better. Whatever the license, the author chooses it because it protects them against what they are afraid of.
Nobody
Posts: 98
Joined: Wed May 28, 2014 9:12 pm

Re: Contributions licensing

Post by Nobody »

jedediah_frey wrote:
russian wrote:The more I look into this the more I realize how non-trivial this issue is :(

I have added a note that contributions have to agree to waive their copyrights. Obviously this is all pretty lame and it would all be up to who has a better lawyer anyway :)
It only makes a big difference if you plan on commercializing it.

As far as choosing a license, it comes down to 'what are you afraid of"

http://programmers.stackexchange.com/questions/82321/
If you're scared of having your name dragged through the mud, then the BSD license will seem better. If you're scared of having your software put into a proprietary piece of software, then the GPL will seem better. Whatever the license, the author chooses it because it protects them against what they are afraid of.
Nope, IP (intellectual property), is a large part of it. Too many for profit knock offs, just look at ebay. If a person was to use it for personal use, then most would have no objections, but far too much gets ripped off and used for profit.

Seen too much open source, just stop because it got used as not intended. This is from a company that recently sold for billions... looked a crash log and a bunch of open source was in there.
User avatar
AndreyB
Site Admin
Posts: 14280
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Contributions licensing

Post by AndreyB »

Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
AndreyB
Site Admin
Posts: 14280
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Contributions licensing

Post by AndreyB »

Nobody wrote:
jedediah_frey wrote:
russian wrote:The more I look into this the more I realize how non-trivial this issue is :(
It only makes a big difference if you plan on commercializing it.
If you're scared of having your software put into a proprietary piece of software, then the GPL will seem better.
Too many for profit knock offs, just look at ebay. If a person was to use it for personal use, then most would have no objections, but far too much gets ripped off and used for profit.
I think that is in fact my fear. The GPL licence was chosen so that any potential derived commercial product is forced to also be open source, mostly because yes, I would like to keep the door open for licensing derived closed source products - I am stating this clearly and openly for the sake of transparency. This is also the reason why in my view there should be an exclusive copyright holder and not a joint copyright spread across multiple contributors.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
AndreyB
Site Admin
Posts: 14280
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Contributions licensing

Post by AndreyB »

full copyright assignment is too crazy for our purposes, a proper contributor license agreement would be good enough.

A contributor has contributed a bunch of great links about the problem of contributions:
http://en.wikipedia.org/wiki/Contributor_License_Agreement
http://qt-project.org/contributionagreement.html
https://wikis.oracle.com/display/mysql/Contributing+Code+to+MySQL
http://opensource.org/faq#contributor-agreements
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
AndreyB
Site Admin
Posts: 14280
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Contributions licensing

Post by AndreyB »

HOWTO contribute via Github:

1) register on github, log to your github account
2) on the web, "fork" https://github.com/rusefi/rusefi
3) git clone --recursive https://github.com/YOURUSERNAME/rusefi
4) make local changes
5) git commit
6) git push
7) on the web, "create pull request"

TODO: find a like where this is explained in more details
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
puff
contributor
contributor
Posts: 2961
Joined: Mon Nov 11, 2013 11:28 am
Location: Moskau

Re: Contributions licensing

Post by puff »

heck. what's the size of the whole project?
Do I have to git clone --recursive https://github.com/YOURUSERNAME/rusefi every time I want to make some changes? Is there a way to make an incremental clone?

Code: Select all

MacBook-Pro-rediskin:rusefi red$ git commit
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
	modified:   firmware/ChibiOS3 (untracked content)
	modified:   firmware/hw_layer/can_hw.cpp

Untracked files:
	.DS_Store
	firmware/.DS_Store
	firmware/hw_layer/.DS_Store

no changes added to commit
had to use git add firmware/hw_layer/can_hw.cpp
Last edited by puff on Tue May 02, 2017 5:50 pm, edited 1 time in total.
User avatar
AndreyB
Site Admin
Posts: 14280
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Contributions licensing

Post by AndreyB »

Good news is you only need to clone once, after that you only update changes with git pull

Bad news is that you would need to sync even your remove fork - see https://help.github.com/articles/syncing-a-fork/

I like the plain default git-gui, it allows you to select which files to commit, which files not to commit.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
puff
contributor
contributor
Posts: 2961
Joined: Mon Nov 11, 2013 11:28 am
Location: Moskau

Re: Contributions licensing

Post by puff »

definitely needs a nice explanation - what is this pull, push, commit and sync...
mzk
Posts: 21
Joined: Fri Jun 02, 2017 3:44 pm

Re: Contributions licensing

Post by mzk »

Am I allowed to get a license if I want to change the code but not contribute back? Can the code be re-licensed by the author especially for the case?
This is only a hypothetical question, I don't think I'll ever make a change so important.

------------

(For the second question I'm almost sure, but asking anyway.) Am I allowed to sell a rusEfi kit (PCB and software) if I didn't make any change? Under the license terms of the project, of course.

As I understand (maybe only a lawyer can understand all this... :shock: ) the project owner wants a copyright transfer of the contributions in order to preserve his right to issue different than GPL-ed licenses?

Thanks!
User avatar
AndreyB
Site Admin
Posts: 14280
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Contributions licensing

Post by AndreyB »

Copyright owner can grant different licenses in paraller. Yes the reason for contributor agreement is to avoid dilution of rights.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
Post Reply