Page 1 of 1

Contributions licensing

Posted: Wed Nov 27, 2013 11:15 pm
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.

Re: Contributions licensing

Posted: Fri Nov 29, 2013 4:10 am
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.

Re: Contributions licensing

Posted: Fri Nov 29, 2013 1:14 pm
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.

Re: Contributions licensing

Posted: Wed Aug 06, 2014 2:46 am
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.

Re: Contributions licensing

Posted: Thu Jan 01, 2015 4:36 pm
by AndreyB

Re: Contributions licensing

Posted: Thu Jan 01, 2015 5:57 pm
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.

Re: Contributions licensing

Posted: Thu Jan 01, 2015 8:03 pm
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

Re: Contributions licensing

Posted: Tue May 02, 2017 5:11 pm
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

Re: Contributions licensing

Posted: Tue May 02, 2017 5:34 pm
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

Re: Contributions licensing

Posted: Tue May 02, 2017 5:48 pm
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.

Re: Contributions licensing

Posted: Tue May 02, 2017 6:02 pm
by puff
definitely needs a nice explanation - what is this pull, push, commit and sync...

Re: Contributions licensing

Posted: Thu Jun 08, 2017 8:19 pm
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!

Re: Contributions licensing

Posted: Thu Jun 08, 2017 11:04 pm
by AndreyB
Copyright owner can grant different licenses in paraller. Yes the reason for contributor agreement is to avoid dilution of rights.