License to Sub-License
Goal of the License
From Aymeric Masoux's thesis and course about free culture licenses and copyrights.
My very first idea would be to popularize the still quiet unknown; misunderstood and underrated process of writing licenses, by proposing to any Web user to create his own from a pre-existing content on a Web page (think about what kind of content). This content could anything, a text, an image, or any other kind of data. The most important would be that the reader/user could implememeent his own thoughts/interpretation/opinion about it by writting and publishing a license, by choosing how much freedom he will give to the content and its potential users. The result of this process could then be an arborescence of licenses written by people all over the world, showcasing a wide range of opinions/political views concerning no only the content, but the act of licensing itself.
Creating a computer assisted licence creation chatbot
From a simple a serie of 4 essential questions, I am building a chatbot that would allow anybody to create a license for their own content.
0.0 Free access, and freedom to use the work as you wish - (/use/ includes to run a program or to execute a music score)?
PARTIAL / YES
1.0 Freedom to access the /source-code/ and use it as you wish, for study or change it for personal use
YES / NO
2.0 freedom to redistribute copies
YES / NO
2.1 right to quote (freedom to redistribute copies of fragments)
YES SMALL SIZE / YES ANY SIZE
3.0 freedom to distribute copies of your modified versions to others
YES / NO
answer = input("0.0 Free access, and freedom to use the work as you wish - (/use/ includes to run a program or to execute a music score)?\n\n. PARTIAL (some restrictions to execute) \n. YES\n\n ")
#QUESTION 0.0
if answer.lower().strip() == "partial":
#RESPONSE 0.0 — PARTIAL
answer = input("\n1. Freedom to access the /source-code/ and use it as you wish, for study or change it for personal use\n\n. YES\n. NO\n\n " )
#QUESTION 1.0
if answer.lower().strip() == "yes":
#RESPONSE 1.0 — YES
answer == input("\n2. freedom to redistribute copies\n\n. YES\n. NO\n\n ")
#QUESTION 2.0
if answer.lower().strip() == "yes":
#RESPONSE 2.0 — YES
answer == input("\n2.1 right to quote (freedom to redistribute copies of fragments)\n\n. YES, SMALL SIZE\n. YES, ANY SIZE\n\n ")
#QUESTION 2.1ye
if answer.lower().strip() == "yes, small size":
#RESPONSE 2.1 — YES SMALL SIZE
answer == input("\n3.0 freedom to distribute copies of your modified versions to others )\n\n. YES\n. NO\n\n ")
#QUESTION 3.0
if answer.lower().strip() == "yes":
#RESPONSE 3.0 — YES
answer == input("\nNEXT STEP")
#END
elif answer.lower().strip() =="no":
#RESPONSE 1.0 — NO
print("\n2. freedom to redistribute copies\n\n. YES\n. NO\n\n ")
#Working
if answer.lower().strip() == "yes":
#Working
answer == input("\n2.1 right to quote (freedom to redistribute copies of fragments)\n\n. YES SMALL SIZE\n. YES ANY SIZE\n\n ")
else:
#RESPONSE 1.0 — ELSE
print("We were unable to understand ")
#RESPONSE 1.0 — Option 3
#####################################################################################################################################
if answer.lower().strip() == "yes":
#RESPONSE 0.0 — YES
answer = input("\n1. Freedom to access the /source-code/ and use it as you wish, for study or change it for personal use\n\n. YES\n. NO\n\n " )
#QUESTION 1.0
if answer.lower().strip() == "yes":
#RESPONSE 1.0 — YES
answer == input("\n2. freedom to redistribute copies\n\n. YES\n. NO\n\n ")
#QUESTION 2.0
if answer.lower().strip() == "yes":
#RESPONSE 2.0 — YES
answer == input("\n2.1 right to quote (freedom to redistribute copies of fragments)\n\n. YES, SMALL SIZE\n. YES, ANY SIZE\n\n ")
#QUESTION 2.1ye
if answer.lower().strip() == "yes, any size":
#RESPONSE 2.1 — YES
answer == input("\n3.0 freedom to distribute copies of your modified versions to others )\n\n. YES\n. NO\n\n ")
#QUESTION 3.0
if answer.lower().strip() == "yes":
#RESPONSE 3.0 — YES
answer == input("\nNEXT STEP")
#END
elif answer.lower().strip() =="no":
#RESPONSE 3.0 — NO
answer == input("\n2. freedom to redistribute copies\n\n. YES\n. NO\n\n ")
#QUESTION 3.0
if answer.lower().strip() == "no":
#RESPONSE 2.0 — YES
answer == input("\n2.1 right to quote (freedom to redistribute copies of fragments)\n\n. YES\n. NO\n\n ")
#QUESTION 2.1
if answer.lower().strip() == "no":
#RESPONSE 2.1 — YES
answer == input("\n3.0 freedom to distribute copies of your modified versions to others )\n\n. YES\n. NO\n\n ")
#QUESTION 3.0
if answer.lower().strip() == "no":
#RESPONSE 3.0 — YES
print("\nNEXT STEP")
elif answer.lower().strip() =="no":
#RESPONSE 2.1 — NO
answer == input("\n2. freedom to redistribute copies\n\n. YES\n. NO\n\n ")
#QUESTION 2.0
if answer.lower().strip() == "no":
#RESPONSE 2.0 — YES
answer == input("\n2.1 right to quote (freedom to redistribute copies of fragments)\n\n. YES\n. NO\n\n ")
#QUESTION 2.1
if answer.lower().strip() == "no":
#RESPONSE 2.1 — YES
answer == input("\n3.0 freedom to distribute copies of your modified versions to others )\n\n. YES\n. NO\n\n ")
#QUESTION 3.0
if answer.lower().strip() == "no":
#RESPONSE 3.0 — YES
print("\nNEXT STEP")
elif answer.lower().strip() =="no":
#RESPONSE 2.0 — NO
answer == input("\n2. freedom to redistribute copies\n\n. YES\n. NO\n\n ")
#QUESTION 2.0
if answer.lower().strip() == "no":
#RESPONSE 2.0 — YES
answer == input("\n2.1 right to quote (freedom to redistribute copies of fragments)\n\n. YES\n. NO\n\n ")
#QUESTION 2.1
if answer.lower().strip() == "no":
#RESPONSE 2.1 — YES
answer == input("\n3.0 freedom to distribute copies of your modified versions to others )\n\n. YES\n. NO\n\n ")
#QUESTION 3.0
if answer.lower().strip() == "no":
#RESPONSE 3.0 — YES
print("\nNEXT STEP")
if answer.lower().strip() =="no":
#RESPONSE 1.0 — NO
answer == input("\n2. freedom to redistribute copies\n\n. YES\n. NO\n\n ")
#QUESTION 2.0
if answer.lower().strip() == "no":
#RESPONSE 2.0 — NO
answer == input("\n2.1 right to quote (freedom to redistribute copies of fragments)\n\n. YES\n. NO\n\n ")
#QUESTION 2.1
if answer.lower().strip() == "no":
#RESPONSE 2.1 — NO
answer == input("\n3.0 freedom to distribute copies of your modified versions to others\n\n. YES\n. NO\n\n ")
#QUESTION 3.0
if answer.lower().strip() == "no":
#RESPONSE 3.0 — NO
print("\nNEXT STEP")
#####################################################################################################################################
else:
#RESPONSE 3.0 — ELSE
print("\nINCORRECT ANSWER to question 3.0 ")
answer = input("\n\n3.0 freedom to distribute copies of your modified versions to others )\n\n. YES\n. NO\n\n " )
else:
#RESPONSE 2.1 — ELSE
print("\nINCORRECT ANSWER to question 2.1 ")
answer = input("\n\n2.1 right to quote (freedom to redistribute copies of fragments)\n\n. YES, SMALL SIZE\n. YES, ANY SIZE\n\n " )
else:
#RESPONSE 2.0 — ELSE
print("\nINCORRECT ANSWER to question 2.0 ")
answer = input("\n2. freedom to redistribute copies\n\n. YES\n. NO\n\n " )
else:
#RESPONSE 1.0 — ELSE
print("\nINCORRECT ANSWER to question 1.0 ")
answer = input("\n\n1. Freedom to access the /source-code/ and use it as you wish, for study or change it for personal use\n\n. YES\n. NO\n\n " )
else:
#RESPONSE 0.0 — ELSE
print("\nINCORRECT ANSWER to question 0.0")
answer = input("\n0.0 Free access, and freedom to use the work as you wish - (/use/ includes to run a program or to execute a music score)?\n\n. PARTIAL (some restrictions to execute) \n. YES\n\n " )