Python一個(gè)的開源軟件生態(tài)系統(tǒng)的特征識(shí)別-畢業(yè)設(shè)計(jì)-外文翻譯.docx_第1頁(yè)
Python一個(gè)的開源軟件生態(tài)系統(tǒng)的特征識(shí)別-畢業(yè)設(shè)計(jì)-外文翻譯.docx_第2頁(yè)
Python一個(gè)的開源軟件生態(tài)系統(tǒng)的特征識(shí)別-畢業(yè)設(shè)計(jì)-外文翻譯.docx_第3頁(yè)
Python一個(gè)的開源軟件生態(tài)系統(tǒng)的特征識(shí)別-畢業(yè)設(shè)計(jì)-外文翻譯.docx_第4頁(yè)
Python一個(gè)的開源軟件生態(tài)系統(tǒng)的特征識(shí)別-畢業(yè)設(shè)計(jì)-外文翻譯.docx_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

XXXXXXXXX畢業(yè)設(shè)計(jì)(論文)外文資料翻譯 學(xué) 院: 計(jì)算機(jī)學(xué)院 專業(yè): 學(xué)生姓名: 班級(jí)學(xué)號(hào): Princetonplein 5, 3584CC, 外文出處:Utrecht, Netherlands 附件:1.外文資料翻譯譯文;2.外文原文指導(dǎo)教師評(píng)價(jià):1翻譯內(nèi)容與課題的結(jié)合度: 優(yōu) 良 中 差2翻譯內(nèi)容的準(zhǔn)確、流暢: 優(yōu) 良 中 差3專業(yè)詞匯翻譯的準(zhǔn)確性: 優(yōu) 良 中 差4翻譯字符數(shù)是否符合規(guī)定要求: 符合 不符合 指導(dǎo)教師簽名:年月日附件1:外文資料翻譯譯文Python:一個(gè)免費(fèi)的開源軟件生態(tài)系統(tǒng)的特征識(shí)別作者:Rick Hoving, Gabriel Slot, and Slinger JansenUtrecht UniversityDepartment of Information and Computing SciencesPrincetonplein 5, 3584CC, Utrecht, Netherlandsr.hoving, g.c.a.slotstudents.uu.nl, s.jansencs.uu.nl摘要: 分析一個(gè)免費(fèi)開源的軟件生態(tài)系統(tǒng)是有益的,并且可以在很多方面幫助利益相關(guān)者。這個(gè)分析可以幫助開發(fā)人員、投資者和貢獻(xiàn)者決定投資的軟件生態(tài)系統(tǒng)和投資的地方。做這個(gè)分析的另一個(gè)原因是幫助生態(tài)系統(tǒng)協(xié)調(diào)員管理他們的生態(tài)系統(tǒng)。本文提供了一個(gè)對(duì)于Python免費(fèi)開源軟件生態(tài)系統(tǒng)的了解。它提供了一個(gè)軟件生態(tài)系統(tǒng)本身和軟件生態(tài)系統(tǒng)的不同特點(diǎn)的分析?;谶M(jìn)行可用數(shù)據(jù)集的分析,研究得出結(jié)論:Python的免費(fèi)開源軟件神態(tài)系統(tǒng)包含三個(gè)定義其生態(tài)系統(tǒng)生態(tài)系統(tǒng)角色。然后,活躍開發(fā)者的數(shù)量從2005年的31人以指數(shù)級(jí)增長(zhǎng)到2012年12月的5212人。這些結(jié)果可以能夠幫助建立一個(gè)Python生態(tài)系統(tǒng)的未來(lái)戰(zhàn)略。在這個(gè)時(shí)間點(diǎn)上,有必要安排Python生態(tài)系統(tǒng)的持續(xù)增長(zhǎng)。不這樣做的話,會(huì)導(dǎo)致越來(lái)越多的無(wú)法使用的功能,并最終促成一個(gè)不健康的生態(tài)系統(tǒng)。關(guān)鍵字: 免費(fèi)開源軟件,軟件生態(tài)系統(tǒng),Python,探索性案例研究,角色特征1.介紹 免費(fèi)開源軟件生態(tài)系統(tǒng)(FOSSE)將為其開發(fā)人員確保跟大的社會(huì)福利。為了確保社會(huì)福利,F(xiàn)OSSE需要被管理和提高1。為了定義一個(gè)FOSSE,本文建立在由Jansen,F(xiàn)inkelstein,和Brinkkemper定義的軟件生態(tài)系統(tǒng)。本文定義FOSSE為:“一個(gè)免費(fèi)的開源軟件生態(tài)系統(tǒng)是一組以開發(fā)人員作為一個(gè)單元,并與一個(gè)共享的軟件和服務(wù)的市場(chǎng)相互作用,以及它們之間的關(guān)系?;?dòng)的結(jié)果是免費(fèi)地提供給每個(gè)人?!?據(jù)Jansen等。2,了解生態(tài)系統(tǒng)的動(dòng)態(tài),以便管理和改善生態(tài)系統(tǒng)是非常重要的。對(duì)FOSSEs的利潤(rùn)不在金錢上的定義,但在如何經(jīng)營(yíng)和生存(即生態(tài)系統(tǒng)有多生動(dòng))。一個(gè)FOSSE的分析可以是有益的,是必要的為了產(chǎn)生最大的利潤(rùn)。據(jù)kabbedijk和Jansen 3和 Jansen, Finkelstein,和Brinkkemper 4,指定不同的特征,如大小、活動(dòng)者、角色類型,與FOSSE連通性可以幫助開發(fā)商、投資者和捐助者了解生態(tài)系統(tǒng)。敏銳的洞察力將協(xié)助他們選擇FOSSE投資和在哪里投資。它也可以幫助生態(tài)系統(tǒng)的協(xié)調(diào)管理FOSSE。 在被完成之前,一個(gè)FOSSE的不同特征可以被例如Kabbedijk,Jansen3和Jansen4等人識(shí)別。kabbedijk和Jansen 3稱FOSSE的特點(diǎn)為它的描述,而Jansen4等人稱之為特征。描述和特征都被用來(lái)表示一個(gè)FOSSE的特點(diǎn)。因此,描述和特征被認(rèn)為是相同的,并且將被稱為特征貫穿全文。 本文的目的是表明FOSSE的哪些特征可以被識(shí)別。為了明確其特征,本文描述了Python FOSSE 的數(shù)據(jù)挖掘和數(shù)據(jù)分析過程。通過定義Python的特征,本文有助于更加深入的定義描述FOSSE特征的總集。 在第二部分,一個(gè)文獻(xiàn)研究表明什么特征可以被定義給其他的FOSSEs。文獻(xiàn)研究后的部分,第三部分,利用信息來(lái)陳述一系列子問題,它們共同將回答的主要研究問題。第四部分描述了Python FOSSE和數(shù)據(jù)挖掘過程。第五節(jié)給出的數(shù)據(jù)挖掘過程中獲得的數(shù)據(jù)的分析。分析結(jié)束后,結(jié)果部分使用被分析過的數(shù)據(jù)展示了分析的結(jié)果。最后一個(gè)部分介紹了討論,結(jié)論和未來(lái)的研究點(diǎn)。2.文獻(xiàn)研究 生態(tài)系統(tǒng)在各種各樣的調(diào)查中已經(jīng)被研究。Iansiti和Levien5聲明,一個(gè)生態(tài)系統(tǒng)圍繞著一個(gè)平臺(tái)。在一個(gè)軟件生態(tài)系統(tǒng) (SECO) 中,平臺(tái)通常是指一個(gè)常用的軟件產(chǎn)品。然而,根據(jù)Jansen等人4,一個(gè)生態(tài)系統(tǒng)不僅僅是它的所有部分的總和。它包括活動(dòng)者,比如獨(dú)立軟件供應(yīng)商,客戶,經(jīng)銷商,和或者是外包。一個(gè)SECO的動(dòng)態(tài)和同一性可以通過某些特征來(lái)限定。特征的例子有大小,活動(dòng)者的類型,角色和連通性。如在圖1所繪的,SECO的模型有三個(gè)范圍等級(jí)。每個(gè)范圍等級(jí)都有自己的研究課題,和其自身的特點(diǎn)。圖1.軟件生態(tài)系統(tǒng)范圍的等級(jí)4。圖2.一個(gè)軟件生態(tài)系統(tǒng)中各部分的域模型。 在這一研究中,F(xiàn)OSSE的分析將在第二等級(jí)(SECO級(jí))上進(jìn)行。Jansen等人4,聲稱在這個(gè)等級(jí)上SECO可以由內(nèi)部特性來(lái)定義。內(nèi)部特征顯示SECO的總體信息,在這是大小, SECO中的許多不同類型的元素,最重要的元素和不同元素之間的連接性。內(nèi)部特征之后,一個(gè)SECO在SECO級(jí)上,可以被通過SECO活動(dòng)者的不同生態(tài)系統(tǒng)角色定義和最后隨著時(shí)間的推移,通過它的成長(zhǎng)或進(jìn)化定義。 一個(gè)SECO和它的組成部分更加完整的視圖,在圖2中給出。這個(gè)圖是基于Berk,Jansen和Lutzen6的域模型和其它研究結(jié)果的延展作出的。這些其他的研究在下面的段落中進(jìn)一步闡述。 根據(jù)Iyer,Lee和Venkatraman7的研究,在大多數(shù)網(wǎng)絡(luò)中有三個(gè)重要部分:集線器,代理和網(wǎng)橋。Iyer等人,把集線器描述成一個(gè)有不成比例的高數(shù)目的鏈接的公司。代理是創(chuàng)建其他兩家公司之間連接的公司。代理可以通過許多許多角色進(jìn)一步分類。Hanneman和Riddle8區(qū)分出五種不同的角色:顧問,協(xié)調(diào)者,看門者,聯(lián)絡(luò)人和代表。最后,網(wǎng)橋是在網(wǎng)絡(luò)內(nèi)對(duì)于整體連通性關(guān)鍵的鏈路。根據(jù)Jansen等人4,網(wǎng)橋不僅僅是角色的屬性,更是一個(gè)生態(tài)系統(tǒng)的實(shí)際組成部分。為了使用Iyer等人的定義,有必要把它們解釋成一個(gè)FOSSE定義。集線器可以定義為擁有大量的可以連接到其他開發(fā)人員的鏈接的開發(fā)人員。代理和網(wǎng)橋在優(yōu)先規(guī)定的領(lǐng)域內(nèi)也需要被解釋。 一個(gè)生態(tài)系統(tǒng)內(nèi)的才與這可以被描述成一個(gè)關(guān)鍵角色,一個(gè)利基角色或者是一個(gè)統(tǒng)治者。就像集線器,這些角色的定義適用于市場(chǎng)中的公司。角色的解釋已經(jīng)被Jansen等人4完成。正如Iansiti和Levien13表示,特殊的角色添加部分被關(guān)鍵角色創(chuàng)造和維護(hù)的關(guān)鍵平臺(tái)。這個(gè)進(jìn)行的研究是基于所謂的Python eggs完成的。因此本文的重點(diǎn)是開發(fā)了Python eggs作為附加在實(shí)際Python語(yǔ)言作為關(guān)鍵平臺(tái)的利基角色。 根據(jù)Hagel,Brown和Davison9,利基角色可以是下列之一:一個(gè)影響者,一個(gè)套期保值者,一個(gè)門徒。盡管這些角色對(duì)于模型的完整是相關(guān)的,這些角色將不作進(jìn)一步的研究。這些角色是適用于第一個(gè)SECO范圍等級(jí)的,這超過了研究的范圍。 Kabbedijk和Jansen研究了Ruby的FOSSE,并指定了三個(gè)角色: Networker, One Day Fly和Lone Wolf。Networker是指那些在生態(tài)系統(tǒng)中與其他開發(fā)者合作,并且在SECO的下載方面起很大作用的開發(fā)者。One Day Fly是指是指那些只對(duì)生態(tài)系統(tǒng)做出一點(diǎn)點(diǎn)貢獻(xiàn)的開發(fā)者。Lone Wolf是為生態(tài)系統(tǒng)生產(chǎn)重要部分,但與其他開發(fā)者沒有聯(lián)系的開發(fā)者。正如在介紹中所講述的,本文的目的是表明那些特性可以在一個(gè)FOSSE中被發(fā)現(xiàn)。在第二SECO等級(jí),該研究將搜索三個(gè)指定的角色:Networker,One Day Fly和Lone Wolf。3.研究問題 本文的目標(biāo)是識(shí)別一個(gè)FOSSE的元素,特性和特征。本文對(duì)于主要研究問題的答案被描述為: RQ 什么是大規(guī)模FOSSE的定義特征? 這個(gè)研究問題將用一系列的子問題來(lái)回答。為了進(jìn)行生態(tài)系統(tǒng)的分析,F(xiàn)OSSE中的元素知識(shí)是需要的。只有這樣這個(gè)分析才能幫助利益相關(guān)者和協(xié)調(diào)者。這導(dǎo)致了下面的子問題: SQ1在FOSSE中有什么元素? 正如從文獻(xiàn)中研究得出的,一個(gè)FOSSE可以被通過許多其他特征進(jìn)行定義:內(nèi)部特征,在生態(tài)系統(tǒng)中的不同活動(dòng)者的不同作用,最后通過其生長(zhǎng)或隨時(shí)間的演變。 者導(dǎo)致了下面的三個(gè)子問題: SQ2 FOSSE有什么特征? SQ3 在生態(tài)系統(tǒng)中,元素扮演了哪些角色? SQ4 在生長(zhǎng)和演變的過程中,F(xiàn)OSSE有什么特征?4.案例描述和數(shù)據(jù)收集 Python是一種解釋性的,交互式的,面向?qū)ο蟮?,開源的,高級(jí)通用編程語(yǔ)言。它提供高級(jí)書籍結(jié)構(gòu),例如表和關(guān)聯(lián)數(shù)組,動(dòng)態(tài)類型和動(dòng)態(tài)綁定,模塊,類,異常,自動(dòng)內(nèi)存管理,等14。 Python誕生于1991年,由荷蘭人Guido van Rossum和Python軟件基金會(huì)開發(fā)。為了擴(kuò)展Python語(yǔ)言,開發(fā)人員能夠創(chuàng)建包,包被稱為Python eggs15。開發(fā)人員可以創(chuàng)建的包的數(shù)量是沒有限制的。這些包可以被開發(fā)人員創(chuàng)建單獨(dú)工作,或者是協(xié)同其他的開發(fā)者工作。該數(shù)據(jù)表明,Python eggs最早出現(xiàn)在2005年。一個(gè)Python 包被描述為體現(xiàn)一個(gè)Python項(xiàng)目的特定版本發(fā)布的邏輯結(jié)構(gòu),包括它的代碼,資源和元數(shù)據(jù)。 因?yàn)檎Z(yǔ)言的靈活性,Python 的包并不是必須用Python語(yǔ)言編寫。Python 的包也可以用編程語(yǔ)言C,C+,Java的Jython和.NET的IronPython編寫。當(dāng)創(chuàng)建一個(gè)包后,它可以被上傳到官方Python 網(wǎng)頁(yè),在那里它被存儲(chǔ)到數(shù)據(jù)庫(kù)里。為了利用一個(gè)特定項(xiàng)目的包,那個(gè)包需要從現(xiàn)有的網(wǎng)站下載下來(lái)并導(dǎo)入到一個(gè)指定的項(xiàng)目中。 Python的包是從Python網(wǎng)站挖掘的。2012年12月3日,使用訂制的.Net腳本挖掘了Python的數(shù)據(jù)集。該腳本被分為Python包的挖掘和Python包的開發(fā)者的挖掘兩個(gè)階段。這兩個(gè)階段都用收集到的數(shù)據(jù)庫(kù)來(lái)填充數(shù)據(jù)庫(kù)。 第一階段使用HTML刮取,以便從他們網(wǎng)站上的一系列Python 包中獲取包。一個(gè)包,包含名稱,描述和一個(gè)鏈向包詳細(xì)信息的鏈接。 第二階段利用第一階段收集的鏈接并且用HTML刮取收集創(chuàng)建包的開發(fā)者和特定包的下載次數(shù)。表述為“包索引所有者”的用戶名稱被定義為一個(gè)Python包的擁有者。因?yàn)檫@行用戶名稱并不是開發(fā)者的真實(shí)姓名,所以他們的真實(shí)身份不能被識(shí)別。因此,它不可能識(shí)別例如Guido van Rossum這些人。 在第二階段的另外一個(gè)活動(dòng)時(shí)將數(shù)據(jù)分給不同的開發(fā)者。這通過使用一個(gè)SQL腳本完成。舉一個(gè)例子:一個(gè)包規(guī)定“K0s,ejucovy”作為包的開發(fā)者?!癒0s,ejucovy”被分割成“K0s”和“ejucovy”并把分割數(shù)據(jù)放到數(shù)據(jù)庫(kù)里。 數(shù)據(jù)挖掘結(jié)果的概述在表1中,圖3表示了Python網(wǎng)絡(luò)挖掘的形象圖。 Characteristic value Unique developers 9189Unique eggs 27624Unique links between developers 6893Total links between developers 93770Developers without links 7157100% of all the links 20.11% 的開發(fā)者之間Number of developers that create one egg 4992表1 Python FOSSE 的特征/about//pypi/pypi?%3Action=index圖3Python生態(tài)形態(tài)的形象圖。這些點(diǎn)代表著不同的開發(fā)者。點(diǎn)的大小跟表示這開發(fā)者擁有的鏈接的多少。點(diǎn)大的開發(fā)者擁有的鏈接更多。這個(gè)圖是所有組開發(fā)者都擠在一起的格式化。這些分組是用馬爾可夫聚類算法(Markov Cluster Algorithm)16完成的。這些組用不同的顏色來(lái)標(biāo)識(shí),即每個(gè)組都有自己的顏色。當(dāng)這些開發(fā)者工作在同一個(gè)包上時(shí),他們之間是密切聯(lián)系的。5.分析 在Python的FOSSE中,有兩個(gè)截然不同的元素。也就是說開發(fā)者和包。開發(fā)者元素是指擁有Python網(wǎng)站賬戶的并且至少已經(jīng)創(chuàng)建一個(gè)Python包的不同的開發(fā)者。開發(fā),升級(jí)或者修復(fù)已經(jīng)存在的Python包是一般開發(fā)者都會(huì)做的工作,同時(shí)也參與了Python的FOSSE。包元素是指Python包。正如在例子中描述的,Python包是Python語(yǔ)言的擴(kuò)展可以免費(fèi)的下載和其它包一起使用。如在圖4中可以看出,元素之間有許多不同的關(guān)系。標(biāo)有星號(hào)(*)的是可選屬性。圖4,Python FOSSE元素之間的關(guān)系,加*號(hào)的是可選屬性。在Python FOSSE中確定了下面這幾個(gè)角色:One Day Fly,Networker和Lone Wolf。 One Day Fly:One Day Fly是已經(jīng)單獨(dú)的做出一個(gè)包并且這個(gè)包的下載次數(shù)在大多數(shù)被下載的包中排前5%的一個(gè)開發(fā)者。5%能夠與本文中Kabbedijk3(其中指定了相同的5%)等人的結(jié)果相匹配。該信息不能從所有的包中挖掘出來(lái),因?yàn)榘南螺d數(shù)量是可選屬性。所有的27624個(gè)包中,只有23493個(gè)包有下載數(shù)量的數(shù)據(jù)。因此下面的信息是基于23493個(gè)包的。大多數(shù)下載的包的前5%的這個(gè)名單上包含1174個(gè)包,從3975次下載的“及其學(xué)習(xí)和交互式數(shù)據(jù)挖掘工具箱”包,到2214509此下載的“系統(tǒng)管理開發(fā)附加件”包。One Day Fly的列表的大多下載包的前5%包含60個(gè)開發(fā)者。表2顯示了這個(gè)列表的其中一部分信息。這列表中的One Day Fly是從4048次下載的“一個(gè)Python的實(shí)現(xiàn)一個(gè)Erlang節(jié)點(diǎn)”的包到447100次下載的“Amazon Web服務(wù)器”的包。Developer Egg #downloadsgarnaat Amazon Web Services Library 447,100ping UUID object and generation 214,519 functions (Python 2.3 or higher)jgraham HTML parser based on the 168099 WHAT-WG Web Applications 1.0(”HTML5”) specifcation gutworth Python 2 and 3 compatibility utilities 149,957noah Pexpect is a pure Python Expect. 91,252 It allows easy control of other applications. . .jkbr HTTPie - a CLI, cURL-like tool for humans. 4,255nosexunit XML Output plugin for Nose 4,203Benjamin.Wilbur Google analytics web property 4,168 per site in django adminjfennell sqlite-backed dictionary 4,163ketralnis A python-implementation of an Erlang node 4,048表2 Python FOSSE中的One Day Fly Networker:正如前面所敘述的,Networker被定義為那些在已經(jīng)寫好的包的總下載次數(shù)扮演重要角色的開發(fā)者。如果是和其他開發(fā)者一起編寫的包,那么下載次數(shù)記給所有的開發(fā)者。圖5展示了Networker中前40個(gè)開發(fā)者。注意,由于和之前部分相同的原因,使用了23493包子集。圖5,下載總數(shù)的前40個(gè)開發(fā)者。這些連接代表著共同創(chuàng)建一個(gè)包的開發(fā)者。更多的開發(fā)者已經(jīng)與大的節(jié)點(diǎn)(鏈接多的開發(fā)者)合作。 Lone Wolf:Lone Wolf的定義和Networker類似是那些在已經(jīng)寫好的包的總下載次數(shù)扮演重要角色的開發(fā)者。兩者之間的不同之處在于,Lone Wolf從來(lái)不與其他開發(fā)者合作。在Python FOSSE中有5716個(gè)Lone Wolf。表3展示了前5個(gè)被確認(rèn)的Python FOSSE 的Lone Wolf。注意,由于相同的原因,使用了和前面兩個(gè)部分相同的子集。Developer # eggs #downloadsadustman 3 726,743euske 3 595,292garnaat 1 447,100barryp 2 409,439jamesbowman 4 283,933表3Python FOSSE中的前5個(gè)Lone Wolf6.結(jié)果 定義一個(gè)SECO的特征之一是隨時(shí)間變化的生長(zhǎng)和演變?;赑ython的FOSSE數(shù)據(jù)集的分析可以提出很多結(jié)果。 首先,圖6描述了每年P(guān)ython FOSSE的包已增加的數(shù)量。在2005年,F(xiàn)OSSE中增加了36個(gè)包,在2012年FOSSE中包的數(shù)量增加到了12063。 圖6也描述了隨時(shí)間推移的活躍開發(fā)者。如前面所述的,這些數(shù)據(jù)只是從2005年到2012年的。在那一年里有31個(gè)幫助開發(fā)Python包的開發(fā)者。在2012年向Python FOSSE中加入新的包的活躍開發(fā)者的數(shù)量增長(zhǎng)到5212個(gè)。圖6,從2005年到2012年加入Python FOSSE中包的數(shù)量(藍(lán)線)和往Python FOSSE中添加新的包的開發(fā)者數(shù)量(紅線)的增長(zhǎng)情況。圖7描述了下載次數(shù)增長(zhǎng)的趨勢(shì)。下載此時(shí)是指Python包中沒個(gè)包的總體下載次數(shù),并且顯示了每年新的下載。每年的下載次數(shù)從2005年的105784此開始到2012年的22461378此結(jié)束。圖7,從2005年到2012年P(guān)ython包的總體下載次數(shù)(單位是百萬(wàn))。 使用類別的頻率為大多數(shù)已經(jīng)創(chuàng)建的包提供了一個(gè)好的洞察力。前5個(gè)最多使用的類別在表4中呈現(xiàn)出來(lái)。正如從表4中看到的那樣,大多數(shù)包被分在類別“編程語(yǔ)言:Python”中。這樣的分類是符合邏輯的,因?yàn)樗械陌际歉郊釉赑ython編程語(yǔ)言上的。Category FrequencyProgramming Language : Python 15,287 Intended Audience : Developers 13255Operating System :OS Independent 10,272Topic : Software Development : Libraries : Python Modules 7,017Development Status :-4Beta 6,352表4,前5個(gè)使用頻率最高的類別 在Python FOSSE中有與Ruby FOSSE中被Kabbedijk等人3識(shí)別的三個(gè)相同的角色。表5給出來(lái)在Ruby FOSSE中由kabbedijk和Jansen3找到的數(shù)據(jù)和在Python FOSSE中找到的數(shù)據(jù)的對(duì)照。請(qǐng)注意,“附加組件”是指Python FOSSE中的Ruby Gems和Python FOSSE中的Python包。Characteristic Ruby Python# developers 4,784 9,189# add- 10,046 27,624# relationships 13,103 6,893Average # downloads 1,159 2,780Maximum # downloads of a one day fly 46,222 447,100Maximum # downloads of a lone wolf 2,056,351 726,743表5,Python和Ruby之間的一個(gè)比較7.討論 Python的數(shù)據(jù)集沒有被無(wú)并發(fā)的挖掘。例如包的一些屬性并不是強(qiáng)制性的填充。這就導(dǎo)致了在總數(shù)27624個(gè)包中只有23496個(gè)包有“下載數(shù)量”的屬性。所以被用于下載數(shù)量分析的數(shù)據(jù)集與用于其它情況的數(shù)據(jù)集略有不同。例如,“下載數(shù)量”和“在線上傳”的比較會(huì)使比較歪曲。讓一些屬性例如“需要”和“維護(hù)者”是可選的,這樣做是符合邏輯的。另一方面,一些例如“下載數(shù)量”和“在線上傳”的可選屬性沒有太大意義是可選的。 如在本文中說明的,為了使特定的包能夠工作,“需要”屬性表示所需要的包(多個(gè))。在Python包列表中創(chuàng)建一個(gè)新的包時(shí),這個(gè)屬性可以選擇。然而,數(shù)據(jù)挖掘結(jié)果并沒有顯示這些依賴關(guān)系。因此,對(duì)于一個(gè)包的相互依賴關(guān)系的分析被排除在外。 只分析了FOSSE的一部分特征。代理角色(咨詢,協(xié)調(diào)者,看門人,聯(lián)系人和代表),和健康特征需要進(jìn)一步的研究。為了研究開發(fā)者一直合作的原因和他們?nèi)绾伍_始他們的工作關(guān)系,代理角色可以用問卷調(diào)查的方式研究。正如在文獻(xiàn)研究中解釋的那樣,為了測(cè)量FOSSE,健康特征需要被解釋。因此一個(gè)的Python生態(tài)系統(tǒng)完整的映像尚未給出。然而,在本文所提出的數(shù)據(jù)確實(shí)給什么是Python的FOSSE一個(gè)很好的概述。8.結(jié)論 通過研究創(chuàng)建包的數(shù)量和下載的數(shù)量,Python FOSSE中的開發(fā)者能夠看出哪個(gè)開發(fā)者的知識(shí)最多。因此開發(fā)者能夠看他們應(yīng)該并發(fā)的地方,這將導(dǎo)致導(dǎo)致Python FOSSE內(nèi)的開發(fā)者之間更加社會(huì)化的聯(lián)系。本文全面的為經(jīng)濟(jì)利益相關(guān)者提供了經(jīng)濟(jì)實(shí)用的建議。例如投資者將會(huì)更加明確地知道投資哪里。除了經(jīng)濟(jì)實(shí)用的建議,敏銳的洞察力將會(huì)幫助FOSSE成長(zhǎng)為更加經(jīng)濟(jì)有效的生態(tài)系統(tǒng)。從生態(tài)角度,本文提出了對(duì)Python FOSSE更加深入的理解。從而,讓FOSSE的協(xié)調(diào)員更加清晰的知道,應(yīng)該從哪里著手提高生態(tài)系統(tǒng)。 在FOSSE中有什么元素?:在Python FOSSE中有兩個(gè)元素。這兩個(gè)元素是開發(fā)者好包。每個(gè)元素都有自己的屬性。 FOSSE有什么特征?:在Python FOSSE中,通過已經(jīng)挖掘的數(shù)據(jù)集,確定了9189個(gè)開發(fā)者。這些開發(fā)者已經(jīng)創(chuàng)建了總共27624個(gè)包。這些包的總數(shù)顯示了總數(shù)至少65324834次下載。這些包被分成超過450中類別。 被使用次數(shù)最多的類別是“編程語(yǔ)言:Python”,它被使用了15287次。通過與Ruby FOSSE比較,得出了Python FOSSE的開發(fā)者比Ruby有的開發(fā)者多一倍,并且在開發(fā)者之間有近乎相同數(shù)量的關(guān)系。因此,與Python的開發(fā)者相比,Ruby的開發(fā)者更好的交織在一起。 在生態(tài)系統(tǒng)中,元素扮演了哪些角色?:回頭看一下圖2,本文致力于Python FOSSE中的三個(gè)利基角色:One Day Fly,Networker,Lone Wolf。正如本文中提出的,這三個(gè)角色在FOSSE中被發(fā)現(xiàn)。 在生長(zhǎng)和演變的過程中,F(xiàn)OSSE有什么特征?:在研究Python FOSSE的演化時(shí),發(fā)現(xiàn)了一些特征。這些特征是“活躍開發(fā)者的數(shù)量”,“下載數(shù)量”,“新包的數(shù)量”。正如數(shù)據(jù)所顯示的,Python的FOSSE正在快速發(fā)展,每年都在快速發(fā)展。 Python FOSSE的改進(jìn):根據(jù)FOSSE的定義,可以發(fā)現(xiàn)一些關(guān)鍵的部分。即,開發(fā)者成立小組一起工作,軟件和服務(wù)的共享市場(chǎng),和它們之間的關(guān)系。對(duì)于Python FOSSE而言,軟件和服務(wù)的共享市場(chǎng)和它們之間的關(guān)系對(duì)每個(gè)開發(fā)者都是相同的。因此在這個(gè)領(lǐng)域很難有改進(jìn)。然而,一起開發(fā)包的開發(fā)者之間的關(guān)系的數(shù)量可以增加。結(jié)果表明,Python FOSSE中有約22%(2032/9189)的開發(fā)者與其他開發(fā)者合作過。為了開發(fā)者充當(dāng)更加完整的整體,這個(gè)22%必須被增加。 正如前面所述,Python FOSSE的開發(fā)者數(shù)量和包數(shù)量正在快速的增長(zhǎng)。這個(gè)增長(zhǎng)速度是一個(gè)很好的健康跡象。然而,應(yīng)該記住的是,如果這種趨勢(shì)一直持續(xù)下去,當(dāng)前的設(shè)施將要處理更高的負(fù)載。為了處理持續(xù)增加的負(fù)載,Python的策略可能需要改變。 根據(jù)Corallo17,多樣性是生態(tài)系統(tǒng)的一個(gè)關(guān)鍵因素。有人可能會(huì)說這和自然選擇相似。在Python FOSSE中當(dāng)一個(gè)環(huán)境沖擊發(fā)生時(shí),例如隨著一個(gè)破碎的更新,所有的開發(fā)者都必須更新他們的包。這樣的環(huán)境沖擊導(dǎo)致很多包對(duì)FOSSE不在是相關(guān)的了。為了合理的除了這種沖擊,Python需要做好準(zhǔn)備,并且在FOSSE中去除不相關(guān)的開發(fā)者和包元素。9.未來(lái)的研究 在Python FOSSE的特征領(lǐng)域有一部分在本文中沒有寫出來(lái),但是它們都值得在以后繼續(xù)研究。本文的研究重點(diǎn)是Python FOSSE。研究Ruby FOSSE中的角色(One Day Fly,Networker,Lone Wolf),很明顯,在Python FOSSE中也有相同的角色。然而,不僅僅只有兩個(gè)FOSSE,因此不太清楚是否其他的FOSSE中也有這些特征。在這個(gè)方面的重點(diǎn)研究能夠在Python FOSSE和其他的FOSSE之間,找出相同和/或不同的特征。 另一個(gè)區(qū)域是查找不同種類的SECO之間的區(qū)別。本文主要研究FOSSE,但是并不清楚FOSSE的特征是否不同于其它種類的SECO。 Python FOSSE的研究集中于SECO范圍等級(jí),這研究了軟件供應(yīng)網(wǎng)絡(luò)和它們之間的不同的關(guān)系。然而,這是三個(gè)不同范圍的等級(jí)。未來(lái)的研究可以研究其它的范圍等級(jí)和在那個(gè)等級(jí)下SECO的特征。 研究一個(gè)軟件生態(tài)系統(tǒng)的代理和網(wǎng)橋能夠找到公司或開發(fā)者能夠在第二范圍等級(jí)上相互連接的原因。正如在討論部分解釋的,這可以通過問卷調(diào)查。 就像上述特征,一個(gè)FOSSE的成長(zhǎng)或隨時(shí)間的演變是一個(gè)定義SECO的特征。本文中的成長(zhǎng)時(shí)期是從2005年到2012年12月3日,在這段時(shí)期里,Python每年都在發(fā)展。未來(lái)的研究可以關(guān)注一下后期,看在文中提到的結(jié)果是否正在進(jìn)行,或者該趨勢(shì)將隨時(shí)間而改變。參考文獻(xiàn):1 J. Lerner and J. Tirole, “The economics of technology sharing: Open source and beyond,” The Journal of Economic Perspectives, vol. 19, no. 2, pp. 99120, 2005. 2 A. Jansen, S.and Finkelstein and S. Brinkkemper, “A sense of community: A research agenda for software ecosystems,” in Software Engineering - Companion Volume, 2009. ICSE-Companion 2009. 31st International Conference on, May 2009, pp. 187 190. 3 J. Kabbedijk and S. Jansen, “Steering insight: An exploration of the ruby software ecosystem,” in Software Business. Springer, 2011, pp. 4455. 4 S. Jansen, S. Brinkkemper, and A. Finkelstein, “Business network management as a survival strategy: A tale of two software ecosystems,” in Proceedings of the First Workshop on Software Ecosystems, 2009, pp. 3448. 5 M. Iansiti and R. Levien, The Keystone Advantage: What the New Dynamics of Business Ecosystens Mean for Strategy, Innovation, and Sustainability. Harvard Business Press, 2004, p. 304. 6 I. van den Berk, S. Jansen, and L. Luinenburg, “Software ecosystems: a software ecosystem strategy assessment model,” in Proceedings of the Fourth European Conference on Software Architecture: Companion Volume. ACM, 2010, pp. 127134. 7 Iyer, Bala, C. Lee, and N. Venkatraman, “Managing in a small world ecosystem: Lessons from the software sector,” California Management Review, vol. 48, no. 3, p. 2847, 2006. 8 R. Hanneman and M. Riddle, Introduction to Social Network Analysis. University of California, Riverside, 2005, p. 322. 9 J. Hagel, J. S. Brown, and L. Davison, “Shaping strategy in a world of constant disruption,” Harvard Business Review, vol. 86, no. 10, pp. 8089, 2008. 10 E. den Hartigh, M. Tol, and W. Visscher, “The health measurement of a business ecosystem,” in Proceedings of the European Network on Chaos and Complexity Research and Management Practice Meeting, 2006. 11 D. E. Wynn, Jr, “Understanding the health of technological ecosystems,” PhD dissertation, Graduate Faculty of the University of Georgia, 2007. 12 M. Iansiti and G. L. Richards, “The information technology ecosystem: Structure, health, and performance,” Antitrust Bull., vol. 51, p. 77, 2006. 13 M. Iansiti and R. Levien, “Strategy as ecology,” Harvard business review, vol. 82, no. 3, pp. 6881, 2004. 14 M. F. Sanner, “Python: a programming language for software integration and development,” Journal of molecular graphics and modelling, vol. 1, pp. 5761, February 1999. 15 N. Gift and J. Jones, Pythonn for Unix and Linux System Administration. OReilly Germany, December 2008. 16 S. van Dongen, “Graph clustering by flow simulation.” PhD dissertation, University of Utrecht, 2000. 17 A. Corallo, The digital business ecosystem. Edward Elgar Pub, 2007, p. 214. 附件2:外文原文Python: Characteristics Identification of a Free Open Source Software EcosystemRick Hoving, Gabriel Slot, and Slinger Jansen Utrecht UniversityDepartment of Information and Computing SciencesPrincetonplein 5, 3584CC, Utrecht, Netherlandsr.hoving, g.c.a.slotstudents.uu.nl, s.jansencs.uu.nl AbstractAnalysing a free open source software ecosystem can be beneficial and can help stakeholders in numerous ways. The analysis can help developers, investors, and contributors, to decide which software ecosystem to invest in and where to invest. Another reason for making an analysis is to assist ecosystem coordinators in governing their ecosystem. The paper provides an insight on the free open source software ecosystem of Python. It presents an analysis of the software ecosystem itself and the different characteristics it has. Based upon the conducted analysis with the available dataset, the research concludes that the free open source software ecosystem of Python contains three ecosystem roles that define its ecosystem. Next to that, it has grown exponentially from 31 active developers in 2005 to 5,212 December 2012. These results can help set up a strategy for the future of the Python ecosystem. At this point in time, it is necessary to make arrangements for the ongoing growth of the Python ecosystem. Failing to do so can lead to a growing number of unusable features, and eventually advance to an unhealthy ecosystem. Index TermsFree open-source software, Software ecosystem, Python, Exploratory case study, Roles, Characteristics I. INTRODUCTION Free open source software ecosystems (FOSSE) will insure a greater social welfare for its developers. To insure the social welfare, the FOSSE needs to be governed and improved1. In order to define a FOSSE, the paper builds upon the definition of a software ecosystem by Jansen, Finkelstein, and Brinkkemper 2. This paper defines a FOSSE as:”A free open source software ecos

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論