-
-
Notifications
You must be signed in to change notification settings - Fork 85
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
5 changed files
with
170 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
# Keila Contributor License Agreement | ||
|
||
Thank you for contributing to the Keila project. | ||
|
||
Keila is a Free Software project under the stewardship of | ||
Philipp Schmieder Medien (The Keila Maintainers). Before we can accept your | ||
contribution, please sign the Contributor License Agreement (CLA). | ||
|
||
## How does signing the CLA work? | ||
|
||
We’ve created a [convenient little script](./sign.sh) that allows you to sign the CLA without ever leaving the command line. | ||
The script is quite simple and well-documented, so please feel free to inspect the source code. | ||
|
||
You can sign the CLA by running it from the main Keila folder: | ||
`./.cla/sign.sh` | ||
|
||
Here is how the signing process works: | ||
|
||
1) The script shows you the [Keila CLA](./agreement.md) | ||
2) You are asked to confirm your acceptance of the agreement by typing "yes" | ||
3) You are asked to enter your name and email address. | ||
Please, if at all possible, consider using your full real name.\ | ||
Your data will *not* be made available publicly.\ | ||
Your name and email are encrypted | ||
using a public key and can only be accessed by The Keila Maintainers | ||
and only for the purpose of the CLA. | ||
4) The script adds the encrypted data to the [contributors.txt](./contributors.txt) file. | ||
5) The script asks you if you want to commit and push your signature right away. | ||
If you agree, the signature is committed to the current git branch and pushed to the remote repository. | ||
You can also do this manually afterwards. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
# Keila Contributor License Agreement | ||
|
||
The following is an agreement between an individual copyright owner ("You") - who | ||
submits software code or other copyrightable works (the "Contribution") | ||
to the Keila project - and Philipp Schmieder Medien ("The Keila Maintainers"). | ||
|
||
**1. You grant The Keila Maintainers the ability to use the Contributions in any way.** | ||
You hereby grant to The Keila Maintainers, a perpetual, worldwide, royalty-free, | ||
irrevocable license to reproduce, prepare derivative works of, publicly | ||
display, publicly perform, sublicense, and distribute your Contribution | ||
and derivative works. | ||
|
||
**2. You are able to grant these rights to The Keila Maintainers.** | ||
You represent that You are legally entitled to grant the above license. | ||
|
||
If Your employer has rights to intellectual property that You create, | ||
You represent that You are authorized to make the Contributions on behalf | ||
of that employer, or that Your employer has waived such rights | ||
for the Contributions. | ||
|
||
**3. The Contributions are your original work.** | ||
You represent that the Contributions are Your original works of authorship, | ||
and to Your knowledge, no other person claims, or has the right to claim, | ||
any right in any invention or patent related to the Contributions. | ||
|
||
You also represent that You are not legally obligated, whether by entering | ||
into an agreement or otherwise, in any way that conflicts with the terms | ||
of this license. | ||
For example, if you have signed an agreement requiring you to assign the | ||
intellectual property rights in the Contributions to an employer or customer, | ||
that would conflict with the terms of this license. | ||
|
||
**4. This agreement does not guarantee the acceptance of Your Contribution.** | ||
You understand that the decision to include the Contribution in any project | ||
or source repository is entirely that of The Keila Maintainers, and this agreement does | ||
not guarantee that the Contributions will be included in any product. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
-----BEGIN PUBLIC KEY----- | ||
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAx03Ec3dXcDI6GIMcWxFJ | ||
C1iCKEBCHHbxmN1HB5fEA1CpjxbIuQDpF7larWzRfwdRqQ1mdRmbq67HZaipOMYy | ||
HRaUHOFoYr+5GkHS6gi09jZHasMieDb3sGYog5WI/4YxWW51+QBd7/d8NabkNBf7 | ||
iJ2kL0t/eYJoQa1I2w+k6oqsU2MrjWpz+yiB39ebkPPSsyZsPBiFx9g2dD4Nco3D | ||
FX4PzaJlT7h2hiyuiBVFZSZSJ6Mx41hNfbafPp3ZAmMFJFKr4MqfHdEIgBisAJ5Z | ||
cd1LtjrJMOqbakb0ixFJw7kEYv3DiO76j4wGuuQRT+yYoqSeuFv3TYW4pZlDQ5GC | ||
jCtkhimvl812z8sYFsC55p1W0KDbTLel+8Ts2UgC8Y9RV9GO/QF9+qjEYY8tDnqc | ||
pOryGjpw34vTCtFBWrVfEevTPR5Pma9jznrLfrPGLwLD7Ag7aw/bBK/U4j4utsNa | ||
rTRT+3/94lTZSNPwtRBtD9QwdalKw0Q32BU9fuw+vzvbrWTNS7M+/rHREo+yo7Q8 | ||
FlTDUeMv28WrYmshZ2g5phFVSGaQydn3Z/ObBQ4opN7EmfLULOyN8s6/GeZxWKCu | ||
aO/kq7AF5Il9s/td1hjCFu4EKQAh4uHqSk6FzH1qOtwfT7La71MmRb1FYQHWQwnZ | ||
gpE6Ef9XqZ1QkmYJHCYQgDECAwEAAQ== | ||
-----END PUBLIC KEY----- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
#!/bin/bash | ||
|
||
# Running this script does the following: | ||
# 1) Display the Keila CLA | ||
# 2) Prompt for your acceptance of the CLA | ||
# 3) Prompt for your name and email | ||
# 4) Add your encrypted name and email to ./.cla/signatures.txt | ||
# 5) Commit and push the updated ./.cla/signatures.txt file | ||
|
||
confirm () { | ||
read -p "$1 (yes/no) " agree | ||
agree=$(echo -n $agree | tr '[:upper:]' '[:lower:]') | ||
agree=${agree:-"$2"} | ||
|
||
if [[ "$agree" == "y" ]] || [[ "$agree" == "yes" ]]; then | ||
return 0 | ||
fi | ||
|
||
if [[ "$agree" == "n" ]] || [[ "$agree" == "no" ]]; then | ||
return 1 | ||
fi | ||
|
||
confirm "$1" | ||
} | ||
|
||
# Get CLA directory | ||
path=`dirname $(realpath $0)` | ||
|
||
# Check if there are any staged files. | ||
# We don't want to accidentally commit anything other than the signature | ||
git_staged=$(git diff --staged) | ||
if [ -n "$git_staged" ]; then | ||
echo "Please run this command only when you have no files currently staged." | ||
exit 1 | ||
fi | ||
|
||
# Display the CLA and ask for acceptance | ||
less -e "$path/agreement.md" | ||
if ! confirm "Have you read and do you agree to the Keila CLA?"; then | ||
echo "Please read the CLA before you continue." | ||
exit 1 | ||
fi | ||
|
||
|
||
# Prompt for name (default to git user.name) | ||
git_name=`git config user.name` | ||
read -p "Please enter your legal name [$git_name]: " name | ||
name=${name:-$git_name} | ||
git_email=`git config user.email` | ||
|
||
# Prompt for email (default to git user.email) | ||
read -p "Please enter your email [$git_email]: " email | ||
email=${email:-$git_email} | ||
|
||
# Print signature and ask for confirmation to commit and push | ||
signature="$name <$email>" | ||
echo -e "\nThis is the signature you're using to sign the agreement: $signature" | ||
echo -e "Your signature will be encrypted and can only be decrypted by The Keila Maintainers." | ||
|
||
if ! confirm "Write an encrypted version of this signature to .cla/contributors.txt? [yes]" "yes"; then | ||
echo "Nothing written to disk." | ||
exit 1 | ||
fi | ||
|
||
echo $signature | openssl pkeyutl -encrypt -pubin -inkey "$path/key.pub" | base64 -w0 >> "$path/contributors.txt" | ||
echo >> "$path/contributors.txt" | ||
echo "Written signature to .cla/contributors.txt." | ||
|
||
if ! confirm "Commit and push your signature now? [yes]" "yes"; then | ||
echo "You can manually commit and push your signature by running git add ./.cla/contributors.txt && git commit -m 'Sign CLA' && git push" | ||
exit 1 | ||
fi | ||
|
||
git add "$path/contributors.txt" | ||
git commit -m 'Sign CLA' | ||
git push | ||
|
||
echo "Thank you for signing the CLA!" | ||
|
||
exit 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters