<!--
# This Source Code Form of OSSEval is subject to the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE, v. 3.0. If a copy of the AGPL was not
# distributed with this file, You can obtain one at http://www.gnu.org/licenses/agpl.txt
#
# OSSeval is powered by the SOS Open Source AGPL edition.
# The AGPL requires that you do not remove the SOS Open Source attribution and copyright
# notices from the user interface (see section 5.d below).
# Commercial licenses are available and do not require any SOS Open Source attributions
# or visible copyright notices but they are not permitted under this license.
# OSSEval Copyright 2014 Bitergium SLL
# SOS Open Source Copyright 2012 Roberto Galoppini
# Author: Davide Galletti
-->
<?xml version="1.0" encoding="UTF-8"?>
<osseval>
<MethodologyVersion Id="1" Number="1" Created="2014-06-04" Current="True">
<Methodology Id="1" Name="opensourceprojects.eu OSSEval" Active="True">
<Description><![CDATA[Standard opensourceprojects.eu OSSEval methodology with python]]></Description>
<Documentation><![CDATA[]]></Documentation>
<Entity Id="1" Name="OSS projects" ActualEntityClass="OSProject" ActualEntityApp="OpenSourceProject"/>
</Methodology>
<Pages>
<Page Id="2" Name="Sustainability" Order="1">
<Pages>
<Page Id="3" Name="Maturity" Order="1"><Pages/>
<Questions>
<Question Id="1" Text="Maturity" Order="1">
<EvalDescription><![CDATA[if i["days"]>0:
description+="Active for " + str(i["days"]) + " days<br>"
if 'OHLOH' in i.keys() and 'factoids' in i['OHLOH'].keys():
for f in i["OHLOH"]["factoids"]:
if f["type"]=="FactoidAgeYoung" or f["type"]=="FactoidAgeOld" or f["type"]=="FactoidAgeVeryOld":
description+=f["description"] + " (" + f["severity"] + ")<br>"]]></EvalDescription>
<EvalValue><![CDATA[value=-1
if i['days']>0:
if (i['days']<365): value=1;
if (i['days']<730): value=2;
if (i['days']>=730): value=3;]]></EvalValue>
<Queries/>
<Choices>
<Choice Id="1" Text="Age Less than 1 year old" Order="1"><Todo/></Choice>
<Choice Id="2" Text="1-3 years old" Order="2"><Todo/></Choice>
<Choice Id="3" Text="More than 3 years old" Order="3"><Todo/></Choice>
</Choices>
</Question>
<Question Id="2" Text="Stability" Order="2">
<EvalDescription><![CDATA[for f in i["OHLOH"]["factoids"]:
if f["type"]=="FactoidActivityDecreasing":
description+=f["description"] + " (" + f["severity"] + ")<br>"
if 'commits_spark' in i["OHLOH"].keys(): description+="<img src='"+i["OHLOH"]["commits_spark"]+"'/>"]]></EvalDescription>
<EvalValue><![CDATA[]]></EvalValue>
<Queries/>
<Choices>
<Choice Id="4" Text="Unstable" Order="1"><Todo/></Choice>
<Choice Id="5" Text="Stable but old" Order="2"><Todo/></Choice>
<Choice Id="6" Text="Stable and maintained " Order="3"><Todo/></Choice>
</Choices>
</Question>
</Questions>
</Page>
<Page Id="4" Name="Adoption" Order="2">
<Pages/>
<Questions>
<Question Id="3" Text="Popularity" Order="1">
<EvalDescription><![CDATA[try:
description += "free(code): popularity score " + str(i['FM']['popularity_score']) + " - vitality score " + str(i['FM']['vitality_score']) + " - rating " + str(i['FM']['rating']) + " - rating count " + str(i['FM']['rating_count'])
except:
pass
SearchEngine.trends_img(i["name"])]]></EvalDescription>
<EvalValue><![CDATA[]]></EvalValue>
<Queries/>
<Choices>
<Choice Id="7" Text="Unknown" Order="1"><Todo/></Choice>
<Choice Id="8" Text="Small but growing trend" Order="2"><Todo/></Choice>
<Choice Id="9" Text="Well known" Order="3"><Todo/></Choice>
</Choices>
</Question>
<Question Id="4" Text="References" Order="2">
<EvalDescription><![CDATA[]]></EvalDescription>
<EvalValue><![CDATA[]]></EvalValue>
<Queries>
<Query Id="1">
<EvalText><![CDATA[q="%2B\"" + i['name'] + "\"%20%2B\"open source\"%20%2B\"case study\"%20%2B\"how to\""]]></EvalText>
<EvalSite><![CDATA[sites=[i['siteforsearchengine']]]]></EvalSite>
</Query>
</Queries>
<Choices>
<Choice Id="10" Text="Unknown" Order="1"><Todo/></Choice>
<Choice Id="11" Text="Case studies available on the website" Order="2"><Todo/></Choice>
<Choice Id="12" Text="Case studies and implementations available on the net" Order="3"><Todo/></Choice>
</Choices>
</Question>
<Question Id="5" Text="Books" Order="3">
<EvalDescription><![CDATA[]]></EvalDescription>
<EvalValue><![CDATA[if int(search_count)==0:
value=0
if int(search_count)>0:
value=1
if int(search_count)>50:
value=2]]></EvalValue>
<Queries>
<Query Id="14">
<EvalText><![CDATA[q="%2B\"" + i['name'] + "\"%20%2B\"open source\""]]></EvalText>
<EvalSite><![CDATA[sites=["packtpub.com", "amazon.com", "oreilly.com"]]]></EvalSite>
</Query>
</Queries>
<Choices>
<Choice Id="13" Text="None" Order="1"><Todo/></Choice>
<Choice Id="14" Text="Few (less than 5)" Order="2"><Todo/></Choice>
<Choice Id="15" Text="Many (more than 5)" Order="3"><Todo/></Choice>
</Choices>
</Question>
</Questions>
</Page>
<Page Id="5" Name="Leadership" Order="3">
<Pages/>
<Questions>
<Question Id="6" Text="Team size" Order="1">
<EvalDescription><![CDATA[description = ""
if 'OHLOH' in i.keys() and 'factoids' in i['OHLOH'].keys():
for f in i["OHLOH"]["factoids"]:
if f["type"][:15]=="FactoidTeamSize":
description+=f["description"] + " (" + f["severity"] + ")<br>"]]></EvalDescription>
<EvalValue><![CDATA[if 'OHLOH' in i.keys() and 'factoids' in i['OHLOH'].keys():
for f in i["OHLOH"]["factoids"]:
if f["type"]=="FactoidTeamSizeLarge" or f["type"]=="FactoidTeamSizeVeryLarge":
value = 2]]></EvalValue>
<Queries/>
<Choices>
<Choice Id="16" Text="Between 1 and 5" Order="1"><Todo/></Choice>
<Choice Id="17" Text="Between 5 and 10" Order="2"><Todo/></Choice>
<Choice Id="18" Text="More than 10" Order="3"><Todo/></Choice>
</Choices>
</Question>
<Question Id="7" Text="Management style" Order="2">
<EvalDescription><![CDATA[]]></EvalDescription>
<EvalValue><![CDATA[]]></EvalValue>
<Queries/>
<Choices>
<Choice Id="19" Text="Monarchy" Order="1"><Todo/></Choice>
<Choice Id="20" Text="Company-led" Order="2"><Todo/></Choice>
<Choice Id="21" Text="Community-led" Order="3"><Todo/></Choice>
</Choices>
</Question>
</Questions>
</Page>
</Pages>
<Questions/>
</Page>
<Page Id="6" Name="Industrialization" Order="2">
<Pages>
<Page Id="7" Name="Services" Order="1">
<Pages/>
<Questions>
<Question Id="8" Text="Training" Order="1">
<EvalDescription><![CDATA[]]></EvalDescription>
<EvalValue><![CDATA[]]></EvalValue>
<Queries>
<Query Id="15">
<EvalText><![CDATA[q="%2B\"" + i['name'] + "\"%20%2B\"open source\"%20training"]]></EvalText>
<EvalSite><![CDATA[]]></EvalSite>
</Query>
</Queries>
<Choices>
<Choice Id="22" Text="Not available" Order="1"><Todo/></Choice>
<Choice Id="23" Text="Available only in a geographic area-language" Order="2"><Todo/></Choice>
<Choice Id="24" Text="Available from multiple vendors and in different languages" Order="3"><Todo/></Choice>
</Choices>
</Question>
<Question Id="9" Text="Commercial Support" Order="2">
<EvalDescription><![CDATA[]]></EvalDescription>
<EvalValue><![CDATA[]]></EvalValue>
<Queries>
<Query Id="4">
<EvalText><![CDATA[q="%2B\"" + i['name'] + "\"%20%2B\"open source\"%20%2B\"merchant support\""]]></EvalText>
<EvalSite><![CDATA[]]></EvalSite>
</Query>
</Queries>
<Choices>
<Choice Id="25" Text="Available only from the author" Order="1"><Todo/></Choice>
<Choice Id="26" Text="Available from the community" Order="2"><Todo/></Choice>
<Choice Id="27" Text="Available from multiple vendors and in different languages" Order="3"><Todo/></Choice>
</Choices>
</Question>
</Questions>
</Page>
<Page Id="8" Name="Documentation" Order="2">
<Pages/>
<Questions>
<Question Id="10" Text="Documentation" Order="1">
<EvalDescription><![CDATA[if 'documentation_url' in i.keys() and i['documentation_url'][:4]=="http":
description+= '<a href="'+i['documentation_url']+'" target="_blank">Documentation</a>'
if 'wiki_url' in i.keys() and i['wiki_url'][:4]=="http":
description+= '<a href="'+i['wiki_url']+'" target="_blank">Wiki</a>'
if 'faq_url' in i.keys() and i['faq_url'][:4]=="http":
description+= '<a href="'+i['faq_url']+'" target="_blank">FAQ</a>']]></EvalDescription>
<EvalValue><![CDATA[]]></EvalValue>
<Queries>
<Query Id="8">
<EvalText><![CDATA[q="%2B\"" + i['name'] + "\"%20%2B\"open source\"%20\"tutorial\"%20\"manual\""]]></EvalText>
<EvalSite><![CDATA[]]></EvalSite>
</Query>
</Queries>
<Choices>
<Choice Id="28" Text="Not available" Order="1"><Todo/></Choice>
<Choice Id="29" Text="Available only in one language" Order="2"><Todo/></Choice>
<Choice Id="30" Text="Available in many languages" Order="3"><Todo/></Choice>
</Choices>
</Question>
</Questions>
</Page>
<Page Id="9" Name="QA" Order="3">
<Pages/>
<Questions>
<Question Id="11" Text="Bugs reactivity" Order="1">
<EvalDescription><![CDATA[if 'numBugsTotal' in i.keys() and int(i['numBugsTotal'])>0:
description='Total bugs: ' + str(i['numBugsTotal'])]]></EvalDescription>
<EvalValue><![CDATA[]]></EvalValue>
<Queries/>
<Choices>
<Choice Id="31" Text="Scarce" Order="1"><Todo/></Choice>
<Choice Id="32" Text="Formalized but not reactive" Order="2"><Todo/></Choice>
<Choice Id="33" Text="Formalized and reactive" Order="3"><Todo/></Choice>
</Choices>
</Question>
<Question Id="12" Text="QA Process" Order="2">
<EvalDescription><![CDATA[]]></EvalDescription>
<EvalValue><![CDATA[]]></EvalValue>
<Queries>
<Query Id="9">
<EvalText><![CDATA[q="%2B\"" + i['name'] + "\"%20%2B\"open source\"%20%2B\"bug track\""]]></EvalText>
<EvalSite><![CDATA[]]></EvalSite>
</Query>
</Queries>
<Choices>
<Choice Id="34" Text="Not existent" Order="1"><Todo/></Choice>
<Choice Id="35" Text="Existing but not supported by tools" Order="2"><Todo/></Choice>
<Choice Id="36" Text="Supported by tools" Order="3"><Todo/></Choice>
</Choices>
</Question>
<Question Id="13" Text="QA tools" Order="3">
<EvalDescription><![CDATA[if 'FM' in i.keys() and 'url_bugtracker' in i['FM'].keys() and i['FM']['url_bugtracker'] is not None:
description+="<a href=\""+i['FM']['url_bugtracker']+"\" target=\"_blank\">Bug tracker</a>"]]></EvalDescription>
<EvalValue><![CDATA[]]></EvalValue>
<Queries/>
<Choices>
<Choice Id="37" Text="Not available" Order="1"><Todo/></Choice>
<Choice Id="38" Text="Existing but not much used" Order="2"><Todo/></Choice>
<Choice Id="39" Text="Very active use of tools" Order="3"><Todo/></Choice>
</Choices>
</Question>
</Questions>
</Page>
<Page Id="10" Name="Packaging" Order="4">
<Pages/>
<Questions>
<Question Id="14" Text="Source" Order="1">
<EvalDescription><![CDATA[if 'download_url' in i.keys():
description+= '<a href="'+i['download_url']+'" target="_blank">Download</a>']]></EvalDescription>
<EvalValue><![CDATA[]]></EvalValue>
<Queries/>
<Choices>
<Choice Id="40" Text="To be compiled" Order="1"><Todo/></Choice>
<Choice Id="41" Text="Binaries available" Order="2"><Todo/></Choice>
<Choice Id="42" Text="Virtual appliance available" Order="3"><Todo/></Choice>
</Choices>
</Question>
<Question Id="15" Text="Red Hat" Order="2">
<EvalDescription><![CDATA[if 'download_url' in i.keys():
description+= '<a href="'+i['download_url']+'" target="_blank">Download</a>']]></EvalDescription>
<EvalValue><![CDATA[]]></EvalValue>
<Queries>
<Query Id="10">
<EvalText><![CDATA[q="%2B\"" + i['name'] + "\""]]></EvalText>
<EvalSite><![CDATA[sites=['redhat.com/wapps/isvcatalog']]]></EvalSite>
</Query>
</Queries>
<Choices>
<Choice Id="43" Text="Not available" Order="1"><Todo/></Choice>
<Choice Id="44" Text="Supported by third parties" Order="2"><Todo/></Choice>
<Choice Id="45" Text="Certified" Order="3"><Todo/></Choice>
</Choices>
</Question>
<Question Id="16" Text="Non RHEL commercial Linux distros (e.g. Ubuntu, Suse, Mandriva, etc)" Order="3">
<EvalDescription><![CDATA[if 'download_url' in i.keys():
description+= '<a href="'+i['download_url']+'" target="_blank">Download</a>']]></EvalDescription>
<EvalValue><![CDATA[]]></EvalValue>
<Queries/>
<Choices>
<Choice Id="46" Text="One or less" Order="1"><Todo/></Choice>
<Choice Id="47" Text="Some (2-3)" Order="2"><Todo/></Choice>
<Choice Id="48" Text="Many (more than 3)" Order="3"><Todo/></Choice>
</Choices>
</Question>
<Question Id="17" Text="Windows" Order="4">
<EvalDescription><![CDATA[if 'download_url' in i.keys():
description+= '<a href="'+i['download_url']+'" target="_blank">Download</a>']]></EvalDescription>
<EvalValue><![CDATA[]]></EvalValue>
<Queries/>
<Choices>
<Choice Id="49" Text="Not available" Order="1"><Todo/></Choice>
<Choice Id="50" Text="Supported by third parties" Order="2"><Todo/></Choice>
<Choice Id="51" Text="Certified" Order="3"><Todo/></Choice>
</Choices>
</Question>
</Questions>
</Page>
<Page Id="11" Name="Maintainability" Order="5">
<Pages/>
<Questions>
<Question Id="18" Text="Amount of comments" Order="1">
<EvalDescription><![CDATA[if 'OHLOH' in i.keys() and 'size_fact' in i['OHLOH'].keys() and 'comment_ratio_pp' in i['OHLOH']['size_fact'].keys():
description+="Comment/code ratio: " + i['OHLOH']['size_fact']['comment_ratio_pp']]]></EvalDescription>
<EvalValue><![CDATA[]]></EvalValue>
<Queries/>
<Choices>
<Choice Id="52" Text="None " Order="1"><Todo/></Choice>
<Choice Id="53" Text="Poorly commented" Order="2"><Todo/></Choice>
<Choice Id="54" Text="Well commented" Order="3"><Todo/></Choice>
</Choices>
</Question>
<Question Id="19" Text="Programming languages" Order="2">
<EvalDescription><![CDATA[if 'OHLOH' in i.keys() and 'widget_languages' in i['OHLOH'].keys():
description+=i["OHLOH"]["widget_languages"]]]></EvalDescription>
<EvalValue><![CDATA[]]></EvalValue>
<Queries/>
<Choices>
<Choice Id="55" Text="More than 3 languages" Order="1"><Todo/></Choice>
<Choice Id="56" Text="One main language" Order="2"><Todo/></Choice>
<Choice Id="57" Text="One unique language" Order="3"><Todo/></Choice>
</Choices>
</Question>
<Question Id="20" Text="Modularity" Order="3">
<EvalDescription><![CDATA[]]></EvalDescription>
<EvalValue><![CDATA[]]></EvalValue>
<Queries>
<Query Id="11">
<EvalText><![CDATA[q="%2B\"" + i['name'] + "\"%20%2B\"open source\"%20%2Bmodularity"]]></EvalText>
<EvalSite><![CDATA[]]></EvalSite>
</Query>
</Queries>
<Choices>
<Choice Id="58" Text="Not modular" Order="1"><Todo/></Choice>
<Choice Id="59" Text="Modular" Order="2"><Todo/></Choice>
<Choice Id="60" Text="Available tools to create extensions" Order="3"><Todo/></Choice>
</Choices>
</Question>
</Questions>
</Page>
</Pages>
<Questions/>
</Page>
<Page Id="12" Name="Strategy" Order="2">
<Pages>
<Page Id="13" Name="License" Order="1">
<Pages/>
<Questions>
<Question Id="21" Text="License" Order="1">
<EvalDescription><![CDATA[for f in i["OHLOH"]["factoids"]:
if f["type"]=="FactoidGplConflict":
description+=f["description"] + " (" + f["severity"] + ")"]]></EvalDescription>
<EvalValue><![CDATA[]]></EvalValue>
<Queries/>
<Choices>
<Choice Id="61" Text="Copyleft (e.g.: GPL, EUPL)" Order="1"><Todo/></Choice>
<Choice Id="62" Text="Corporate (e.g.: EPL, MPL)" Order="2"><Todo/></Choice>
<Choice Id="63" Text="Permissive (e.g.: Apache, BSD)" Order="3"><Todo/></Choice>
</Choices>
</Question>
</Questions>
</Page>
<Page Id="14" Name="Modifiability" Order="2">
<Pages/>
<Questions>
<Question Id="22" Text="Modificability" Order="1">
<EvalDescription><![CDATA[]]></EvalDescription>
<EvalValue><![CDATA[]]></EvalValue>
<Queries/>
<Choices>
<Choice Id="64" Text="No way to propose modifications" Order="1"><Todo/></Choice>
<Choice Id="65" Text="Tools to access and modify code available, but the process is not well defined" Order="2"><Todo/></Choice>
<Choice Id="66" Text="Tools and procedures to propose modifications are available" Order="3"><Todo/></Choice>
</Choices>
</Question>
</Questions>
</Page>
<Page Id="15" Name="Roadmap" Order="3">
<Pages/>
<Questions>
<Question Id="23" Text="Roadmap" Order="1">
<EvalDescription><![CDATA[]]></EvalDescription>
<EvalValue><![CDATA[]]></EvalValue>
<Queries>
<Query Id="12">
<EvalText><![CDATA[q="%2B\"" + i['name'] + "\"%20%2B\"open source\"%20%2Broadmap"]]></EvalText>
<EvalSite><![CDATA[]]></EvalSite>
</Query>
</Queries>
<Choices>
<Choice Id="67" Text="Not available" Order="1"><Todo/></Choice>
<Choice Id="68" Text="Not detailed roadmap available" Order="2"><Todo/></Choice>
<Choice Id="69" Text="Detailed roadmap available" Order="3"><Todo/></Choice>
</Choices>
</Question>
</Questions>
</Page>
<Page Id="16" Name="Sponsor" Order="4">
<Pages/>
<Questions>
<Question Id="24" Text="Sponsor" Order="1">
<EvalDescription><![CDATA[]]></EvalDescription>
<EvalValue><![CDATA[]]></EvalValue>
<Queries>
<Query Id="13">
<EvalText><![CDATA[q="%2B\"" + i['name'] + "\"%20%2B\"open source\"%20%2Bsponsor"]]></EvalText>
<EvalSite><![CDATA[]]></EvalSite>
</Query>
</Queries>
<Choices>
<Choice Id="70" Text="Unique sponsor" Order="1"><Todo/></Choice>
<Choice Id="71" Text="Community sponsor" Order="2"><Todo/></Choice>
<Choice Id="72" Text="Foundation/consortium-sponsor" Order="3"><Todo/></Choice>
</Choices>
</Question>
</Questions>
</Page>
</Pages>
<Questions/>
</Page>
</Pages>
<WeightScenarios>
<WeightScenario Id="1" Name="default" Active="True">
<Weights/>
</WeightScenario>
<WeightScenario Id="2" Name="Borrow" Active="False">
<Weights/>
</WeightScenario>
<WeightScenario Id="3" Name="Share" Active="False">
<Weights>
<Weight question_id="7" weight="4.0"/>
<Weight question_id="12" weight="4"/>
<Weight question_id="13" weight="2"/>
<Weight question_id="14" weight="4"/>
<Weight question_id="15" weight="2"/>
<Weight question_id="16" weight="4"/>
<Weight question_id="20" weight="4"/>
</Weights>
</WeightScenario>
</WeightScenarios>
</MethodologyVersion>
</osseval>