




已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
XXXXXXXXX畢業(yè)設(shè)計(論文)外文資料翻譯 學(xué) 院: 計算機學(xué)院 專業(yè): 學(xué)生姓名: 班級學(xué)號: Princetonplein 5, 3584CC, 外文出處:Utrecht, Netherlands 附件:1.外文資料翻譯譯文;2.外文原文指導(dǎo)教師評價:1翻譯內(nèi)容與課題的結(jié)合度: 優(yōu) 良 中 差2翻譯內(nèi)容的準確、流暢: 優(yōu) 良 中 差3專業(yè)詞匯翻譯的準確性: 優(yōu) 良 中 差4翻譯字符數(shù)是否符合規(guī)定要求: 符合 不符合 指導(dǎo)教師簽名:年月日附件1:外文資料翻譯譯文Python:一個免費的開源軟件生態(tài)系統(tǒng)的特征識別作者: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摘要: 分析一個免費開源的軟件生態(tài)系統(tǒng)是有益的,并且可以在很多方面幫助利益相關(guān)者。這個分析可以幫助開發(fā)人員、投資者和貢獻者決定投資的軟件生態(tài)系統(tǒng)和投資的地方。做這個分析的另一個原因是幫助生態(tài)系統(tǒng)協(xié)調(diào)員管理他們的生態(tài)系統(tǒng)。本文提供了一個對于Python免費開源軟件生態(tài)系統(tǒng)的了解。它提供了一個軟件生態(tài)系統(tǒng)本身和軟件生態(tài)系統(tǒng)的不同特點的分析?;谶M行可用數(shù)據(jù)集的分析,研究得出結(jié)論:Python的免費開源軟件神態(tài)系統(tǒng)包含三個定義其生態(tài)系統(tǒng)生態(tài)系統(tǒng)角色。然后,活躍開發(fā)者的數(shù)量從2005年的31人以指數(shù)級增長到2012年12月的5212人。這些結(jié)果可以能夠幫助建立一個Python生態(tài)系統(tǒng)的未來戰(zhàn)略。在這個時間點上,有必要安排Python生態(tài)系統(tǒng)的持續(xù)增長。不這樣做的話,會導(dǎo)致越來越多的無法使用的功能,并最終促成一個不健康的生態(tài)系統(tǒng)。關(guān)鍵字: 免費開源軟件,軟件生態(tài)系統(tǒng),Python,探索性案例研究,角色特征1.介紹 免費開源軟件生態(tài)系統(tǒng)(FOSSE)將為其開發(fā)人員確保跟大的社會福利。為了確保社會福利,F(xiàn)OSSE需要被管理和提高1。為了定義一個FOSSE,本文建立在由Jansen,F(xiàn)inkelstein,和Brinkkemper定義的軟件生態(tài)系統(tǒng)。本文定義FOSSE為:“一個免費的開源軟件生態(tài)系統(tǒng)是一組以開發(fā)人員作為一個單元,并與一個共享的軟件和服務(wù)的市場相互作用,以及它們之間的關(guān)系?;拥慕Y(jié)果是免費地提供給每個人?!?據(jù)Jansen等。2,了解生態(tài)系統(tǒng)的動態(tài),以便管理和改善生態(tài)系統(tǒng)是非常重要的。對FOSSEs的利潤不在金錢上的定義,但在如何經(jīng)營和生存(即生態(tài)系統(tǒng)有多生動)。一個FOSSE的分析可以是有益的,是必要的為了產(chǎn)生最大的利潤。據(jù)kabbedijk和Jansen 3和 Jansen, Finkelstein,和Brinkkemper 4,指定不同的特征,如大小、活動者、角色類型,與FOSSE連通性可以幫助開發(fā)商、投資者和捐助者了解生態(tài)系統(tǒng)。敏銳的洞察力將協(xié)助他們選擇FOSSE投資和在哪里投資。它也可以幫助生態(tài)系統(tǒng)的協(xié)調(diào)管理FOSSE。 在被完成之前,一個FOSSE的不同特征可以被例如Kabbedijk,Jansen3和Jansen4等人識別。kabbedijk和Jansen 3稱FOSSE的特點為它的描述,而Jansen4等人稱之為特征。描述和特征都被用來表示一個FOSSE的特點。因此,描述和特征被認為是相同的,并且將被稱為特征貫穿全文。 本文的目的是表明FOSSE的哪些特征可以被識別。為了明確其特征,本文描述了Python FOSSE 的數(shù)據(jù)挖掘和數(shù)據(jù)分析過程。通過定義Python的特征,本文有助于更加深入的定義描述FOSSE特征的總集。 在第二部分,一個文獻研究表明什么特征可以被定義給其他的FOSSEs。文獻研究后的部分,第三部分,利用信息來陳述一系列子問題,它們共同將回答的主要研究問題。第四部分描述了Python FOSSE和數(shù)據(jù)挖掘過程。第五節(jié)給出的數(shù)據(jù)挖掘過程中獲得的數(shù)據(jù)的分析。分析結(jié)束后,結(jié)果部分使用被分析過的數(shù)據(jù)展示了分析的結(jié)果。最后一個部分介紹了討論,結(jié)論和未來的研究點。2.文獻研究 生態(tài)系統(tǒng)在各種各樣的調(diào)查中已經(jīng)被研究。Iansiti和Levien5聲明,一個生態(tài)系統(tǒng)圍繞著一個平臺。在一個軟件生態(tài)系統(tǒng) (SECO) 中,平臺通常是指一個常用的軟件產(chǎn)品。然而,根據(jù)Jansen等人4,一個生態(tài)系統(tǒng)不僅僅是它的所有部分的總和。它包括活動者,比如獨立軟件供應(yīng)商,客戶,經(jīng)銷商,和或者是外包。一個SECO的動態(tài)和同一性可以通過某些特征來限定。特征的例子有大小,活動者的類型,角色和連通性。如在圖1所繪的,SECO的模型有三個范圍等級。每個范圍等級都有自己的研究課題,和其自身的特點。圖1.軟件生態(tài)系統(tǒng)范圍的等級4。圖2.一個軟件生態(tài)系統(tǒng)中各部分的域模型。 在這一研究中,F(xiàn)OSSE的分析將在第二等級(SECO級)上進行。Jansen等人4,聲稱在這個等級上SECO可以由內(nèi)部特性來定義。內(nèi)部特征顯示SECO的總體信息,在這是大小, SECO中的許多不同類型的元素,最重要的元素和不同元素之間的連接性。內(nèi)部特征之后,一個SECO在SECO級上,可以被通過SECO活動者的不同生態(tài)系統(tǒng)角色定義和最后隨著時間的推移,通過它的成長或進化定義。 一個SECO和它的組成部分更加完整的視圖,在圖2中給出。這個圖是基于Berk,Jansen和Lutzen6的域模型和其它研究結(jié)果的延展作出的。這些其他的研究在下面的段落中進一步闡述。 根據(jù)Iyer,Lee和Venkatraman7的研究,在大多數(shù)網(wǎng)絡(luò)中有三個重要部分:集線器,代理和網(wǎng)橋。Iyer等人,把集線器描述成一個有不成比例的高數(shù)目的鏈接的公司。代理是創(chuàng)建其他兩家公司之間連接的公司。代理可以通過許多許多角色進一步分類。Hanneman和Riddle8區(qū)分出五種不同的角色:顧問,協(xié)調(diào)者,看門者,聯(lián)絡(luò)人和代表。最后,網(wǎng)橋是在網(wǎng)絡(luò)內(nèi)對于整體連通性關(guān)鍵的鏈路。根據(jù)Jansen等人4,網(wǎng)橋不僅僅是角色的屬性,更是一個生態(tài)系統(tǒng)的實際組成部分。為了使用Iyer等人的定義,有必要把它們解釋成一個FOSSE定義。集線器可以定義為擁有大量的可以連接到其他開發(fā)人員的鏈接的開發(fā)人員。代理和網(wǎng)橋在優(yōu)先規(guī)定的領(lǐng)域內(nèi)也需要被解釋。 一個生態(tài)系統(tǒng)內(nèi)的才與這可以被描述成一個關(guān)鍵角色,一個利基角色或者是一個統(tǒng)治者。就像集線器,這些角色的定義適用于市場中的公司。角色的解釋已經(jīng)被Jansen等人4完成。正如Iansiti和Levien13表示,特殊的角色添加部分被關(guān)鍵角色創(chuàng)造和維護的關(guān)鍵平臺。這個進行的研究是基于所謂的Python eggs完成的。因此本文的重點是開發(fā)了Python eggs作為附加在實際Python語言作為關(guān)鍵平臺的利基角色。 根據(jù)Hagel,Brown和Davison9,利基角色可以是下列之一:一個影響者,一個套期保值者,一個門徒。盡管這些角色對于模型的完整是相關(guān)的,這些角色將不作進一步的研究。這些角色是適用于第一個SECO范圍等級的,這超過了研究的范圍。 Kabbedijk和Jansen研究了Ruby的FOSSE,并指定了三個角色: Networker, One Day Fly和Lone Wolf。Networker是指那些在生態(tài)系統(tǒng)中與其他開發(fā)者合作,并且在SECO的下載方面起很大作用的開發(fā)者。One Day Fly是指是指那些只對生態(tài)系統(tǒng)做出一點點貢獻的開發(fā)者。Lone Wolf是為生態(tài)系統(tǒng)生產(chǎn)重要部分,但與其他開發(fā)者沒有聯(lián)系的開發(fā)者。正如在介紹中所講述的,本文的目的是表明那些特性可以在一個FOSSE中被發(fā)現(xiàn)。在第二SECO等級,該研究將搜索三個指定的角色:Networker,One Day Fly和Lone Wolf。3.研究問題 本文的目標是識別一個FOSSE的元素,特性和特征。本文對于主要研究問題的答案被描述為: RQ 什么是大規(guī)模FOSSE的定義特征? 這個研究問題將用一系列的子問題來回答。為了進行生態(tài)系統(tǒng)的分析,F(xiàn)OSSE中的元素知識是需要的。只有這樣這個分析才能幫助利益相關(guān)者和協(xié)調(diào)者。這導(dǎo)致了下面的子問題: SQ1在FOSSE中有什么元素? 正如從文獻中研究得出的,一個FOSSE可以被通過許多其他特征進行定義:內(nèi)部特征,在生態(tài)系統(tǒng)中的不同活動者的不同作用,最后通過其生長或隨時間的演變。 者導(dǎo)致了下面的三個子問題: SQ2 FOSSE有什么特征? SQ3 在生態(tài)系統(tǒng)中,元素扮演了哪些角色? SQ4 在生長和演變的過程中,F(xiàn)OSSE有什么特征?4.案例描述和數(shù)據(jù)收集 Python是一種解釋性的,交互式的,面向?qū)ο蟮?,開源的,高級通用編程語言。它提供高級書籍結(jié)構(gòu),例如表和關(guān)聯(lián)數(shù)組,動態(tài)類型和動態(tài)綁定,模塊,類,異常,自動內(nèi)存管理,等14。 Python誕生于1991年,由荷蘭人Guido van Rossum和Python軟件基金會開發(fā)。為了擴展Python語言,開發(fā)人員能夠創(chuàng)建包,包被稱為Python eggs15。開發(fā)人員可以創(chuàng)建的包的數(shù)量是沒有限制的。這些包可以被開發(fā)人員創(chuàng)建單獨工作,或者是協(xié)同其他的開發(fā)者工作。該數(shù)據(jù)表明,Python eggs最早出現(xiàn)在2005年。一個Python 包被描述為體現(xiàn)一個Python項目的特定版本發(fā)布的邏輯結(jié)構(gòu),包括它的代碼,資源和元數(shù)據(jù)。 因為語言的靈活性,Python 的包并不是必須用Python語言編寫。Python 的包也可以用編程語言C,C+,Java的Jython和.NET的IronPython編寫。當創(chuàng)建一個包后,它可以被上傳到官方Python 網(wǎng)頁,在那里它被存儲到數(shù)據(jù)庫里。為了利用一個特定項目的包,那個包需要從現(xiàn)有的網(wǎng)站下載下來并導(dǎo)入到一個指定的項目中。 Python的包是從Python網(wǎng)站挖掘的。2012年12月3日,使用訂制的.Net腳本挖掘了Python的數(shù)據(jù)集。該腳本被分為Python包的挖掘和Python包的開發(fā)者的挖掘兩個階段。這兩個階段都用收集到的數(shù)據(jù)庫來填充數(shù)據(jù)庫。 第一階段使用HTML刮取,以便從他們網(wǎng)站上的一系列Python 包中獲取包。一個包,包含名稱,描述和一個鏈向包詳細信息的鏈接。 第二階段利用第一階段收集的鏈接并且用HTML刮取收集創(chuàng)建包的開發(fā)者和特定包的下載次數(shù)。表述為“包索引所有者”的用戶名稱被定義為一個Python包的擁有者。因為這行用戶名稱并不是開發(fā)者的真實姓名,所以他們的真實身份不能被識別。因此,它不可能識別例如Guido van Rossum這些人。 在第二階段的另外一個活動時將數(shù)據(jù)分給不同的開發(fā)者。這通過使用一個SQL腳本完成。舉一個例子:一個包規(guī)定“K0s,ejucovy”作為包的開發(fā)者?!癒0s,ejucovy”被分割成“K0s”和“ejucovy”并把分割數(shù)據(jù)放到數(shù)據(jù)庫里。 數(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)的形象圖。這些點代表著不同的開發(fā)者。點的大小跟表示這開發(fā)者擁有的鏈接的多少。點大的開發(fā)者擁有的鏈接更多。這個圖是所有組開發(fā)者都擠在一起的格式化。這些分組是用馬爾可夫聚類算法(Markov Cluster Algorithm)16完成的。這些組用不同的顏色來標識,即每個組都有自己的顏色。當這些開發(fā)者工作在同一個包上時,他們之間是密切聯(lián)系的。5.分析 在Python的FOSSE中,有兩個截然不同的元素。也就是說開發(fā)者和包。開發(fā)者元素是指擁有Python網(wǎng)站賬戶的并且至少已經(jīng)創(chuàng)建一個Python包的不同的開發(fā)者。開發(fā),升級或者修復(fù)已經(jīng)存在的Python包是一般開發(fā)者都會做的工作,同時也參與了Python的FOSSE。包元素是指Python包。正如在例子中描述的,Python包是Python語言的擴展可以免費的下載和其它包一起使用。如在圖4中可以看出,元素之間有許多不同的關(guān)系。標有星號(*)的是可選屬性。圖4,Python FOSSE元素之間的關(guān)系,加*號的是可選屬性。在Python FOSSE中確定了下面這幾個角色:One Day Fly,Networker和Lone Wolf。 One Day Fly:One Day Fly是已經(jīng)單獨的做出一個包并且這個包的下載次數(shù)在大多數(shù)被下載的包中排前5%的一個開發(fā)者。5%能夠與本文中Kabbedijk3(其中指定了相同的5%)等人的結(jié)果相匹配。該信息不能從所有的包中挖掘出來,因為包的下載數(shù)量是可選屬性。所有的27624個包中,只有23493個包有下載數(shù)量的數(shù)據(jù)。因此下面的信息是基于23493個包的。大多數(shù)下載的包的前5%的這個名單上包含1174個包,從3975次下載的“及其學(xué)習和交互式數(shù)據(jù)挖掘工具箱”包,到2214509此下載的“系統(tǒng)管理開發(fā)附加件”包。One Day Fly的列表的大多下載包的前5%包含60個開發(fā)者。表2顯示了這個列表的其中一部分信息。這列表中的One Day Fly是從4048次下載的“一個Python的實現(xiàn)一個Erlang節(jié)點”的包到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個開發(fā)者。注意,由于和之前部分相同的原因,使用了23493包子集。圖5,下載總數(shù)的前40個開發(fā)者。這些連接代表著共同創(chuàng)建一個包的開發(fā)者。更多的開發(fā)者已經(jīng)與大的節(jié)點(鏈接多的開發(fā)者)合作。 Lone Wolf:Lone Wolf的定義和Networker類似是那些在已經(jīng)寫好的包的總下載次數(shù)扮演重要角色的開發(fā)者。兩者之間的不同之處在于,Lone Wolf從來不與其他開發(fā)者合作。在Python FOSSE中有5716個Lone Wolf。表3展示了前5個被確認的Python FOSSE 的Lone Wolf。注意,由于相同的原因,使用了和前面兩個部分相同的子集。Developer # eggs #downloadsadustman 3 726,743euske 3 595,292garnaat 1 447,100barryp 2 409,439jamesbowman 4 283,933表3Python FOSSE中的前5個Lone Wolf6.結(jié)果 定義一個SECO的特征之一是隨時間變化的生長和演變。基于Python的FOSSE數(shù)據(jù)集的分析可以提出很多結(jié)果。 首先,圖6描述了每年P(guān)ython FOSSE的包已增加的數(shù)量。在2005年,F(xiàn)OSSE中增加了36個包,在2012年FOSSE中包的數(shù)量增加到了12063。 圖6也描述了隨時間推移的活躍開發(fā)者。如前面所述的,這些數(shù)據(jù)只是從2005年到2012年的。在那一年里有31個幫助開發(fā)Python包的開發(fā)者。在2012年向Python FOSSE中加入新的包的活躍開發(fā)者的數(shù)量增長到5212個。圖6,從2005年到2012年加入Python FOSSE中包的數(shù)量(藍線)和往Python FOSSE中添加新的包的開發(fā)者數(shù)量(紅線)的增長情況。圖7描述了下載次數(shù)增長的趨勢。下載此時是指Python包中沒個包的總體下載次數(shù),并且顯示了每年新的下載。每年的下載次數(shù)從2005年的105784此開始到2012年的22461378此結(jié)束。圖7,從2005年到2012年P(guān)ython包的總體下載次數(shù)(單位是百萬)。 使用類別的頻率為大多數(shù)已經(jīng)創(chuàng)建的包提供了一個好的洞察力。前5個最多使用的類別在表4中呈現(xiàn)出來。正如從表4中看到的那樣,大多數(shù)包被分在類別“編程語言:Python”中。這樣的分類是符合邏輯的,因為所有的包都是附加在Python編程語言上的。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個使用頻率最高的類別 在Python FOSSE中有與Ruby FOSSE中被Kabbedijk等人3識別的三個相同的角色。表5給出來在Ruby FOSSE中由kabbedijk和Jansen3找到的數(shù)據(jù)和在Python FOSSE中找到的數(shù)據(jù)的對照。請注意,“附加組件”是指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之間的一個比較7.討論 Python的數(shù)據(jù)集沒有被無并發(fā)的挖掘。例如包的一些屬性并不是強制性的填充。這就導(dǎo)致了在總數(shù)27624個包中只有23496個包有“下載數(shù)量”的屬性。所以被用于下載數(shù)量分析的數(shù)據(jù)集與用于其它情況的數(shù)據(jù)集略有不同。例如,“下載數(shù)量”和“在線上傳”的比較會使比較歪曲。讓一些屬性例如“需要”和“維護者”是可選的,這樣做是符合邏輯的。另一方面,一些例如“下載數(shù)量”和“在線上傳”的可選屬性沒有太大意義是可選的。 如在本文中說明的,為了使特定的包能夠工作,“需要”屬性表示所需要的包(多個)。在Python包列表中創(chuàng)建一個新的包時,這個屬性可以選擇。然而,數(shù)據(jù)挖掘結(jié)果并沒有顯示這些依賴關(guān)系。因此,對于一個包的相互依賴關(guān)系的分析被排除在外。 只分析了FOSSE的一部分特征。代理角色(咨詢,協(xié)調(diào)者,看門人,聯(lián)系人和代表),和健康特征需要進一步的研究。為了研究開發(fā)者一直合作的原因和他們?nèi)绾伍_始他們的工作關(guān)系,代理角色可以用問卷調(diào)查的方式研究。正如在文獻研究中解釋的那樣,為了測量FOSSE,健康特征需要被解釋。因此一個的Python生態(tài)系統(tǒng)完整的映像尚未給出。然而,在本文所提出的數(shù)據(jù)確實給什么是Python的FOSSE一個很好的概述。8.結(jié)論 通過研究創(chuàng)建包的數(shù)量和下載的數(shù)量,Python FOSSE中的開發(fā)者能夠看出哪個開發(fā)者的知識最多。因此開發(fā)者能夠看他們應(yīng)該并發(fā)的地方,這將導(dǎo)致導(dǎo)致Python FOSSE內(nèi)的開發(fā)者之間更加社會化的聯(lián)系。本文全面的為經(jīng)濟利益相關(guān)者提供了經(jīng)濟實用的建議。例如投資者將會更加明確地知道投資哪里。除了經(jīng)濟實用的建議,敏銳的洞察力將會幫助FOSSE成長為更加經(jīng)濟有效的生態(tài)系統(tǒng)。從生態(tài)角度,本文提出了對Python FOSSE更加深入的理解。從而,讓FOSSE的協(xié)調(diào)員更加清晰的知道,應(yīng)該從哪里著手提高生態(tài)系統(tǒng)。 在FOSSE中有什么元素?:在Python FOSSE中有兩個元素。這兩個元素是開發(fā)者好包。每個元素都有自己的屬性。 FOSSE有什么特征?:在Python FOSSE中,通過已經(jīng)挖掘的數(shù)據(jù)集,確定了9189個開發(fā)者。這些開發(fā)者已經(jīng)創(chuàng)建了總共27624個包。這些包的總數(shù)顯示了總數(shù)至少65324834次下載。這些包被分成超過450中類別。 被使用次數(shù)最多的類別是“編程語言:Python”,它被使用了15287次。通過與Ruby FOSSE比較,得出了Python FOSSE的開發(fā)者比Ruby有的開發(fā)者多一倍,并且在開發(fā)者之間有近乎相同數(shù)量的關(guān)系。因此,與Python的開發(fā)者相比,Ruby的開發(fā)者更好的交織在一起。 在生態(tài)系統(tǒng)中,元素扮演了哪些角色?:回頭看一下圖2,本文致力于Python FOSSE中的三個利基角色:One Day Fly,Networker,Lone Wolf。正如本文中提出的,這三個角色在FOSSE中被發(fā)現(xiàn)。 在生長和演變的過程中,F(xiàn)OSSE有什么特征?:在研究Python FOSSE的演化時,發(fā)現(xiàn)了一些特征。這些特征是“活躍開發(fā)者的數(shù)量”,“下載數(shù)量”,“新包的數(shù)量”。正如數(shù)據(jù)所顯示的,Python的FOSSE正在快速發(fā)展,每年都在快速發(fā)展。 Python FOSSE的改進:根據(jù)FOSSE的定義,可以發(fā)現(xiàn)一些關(guān)鍵的部分。即,開發(fā)者成立小組一起工作,軟件和服務(wù)的共享市場,和它們之間的關(guān)系。對于Python FOSSE而言,軟件和服務(wù)的共享市場和它們之間的關(guān)系對每個開發(fā)者都是相同的。因此在這個領(lǐng)域很難有改進。然而,一起開發(fā)包的開發(fā)者之間的關(guān)系的數(shù)量可以增加。結(jié)果表明,Python FOSSE中有約22%(2032/9189)的開發(fā)者與其他開發(fā)者合作過。為了開發(fā)者充當更加完整的整體,這個22%必須被增加。 正如前面所述,Python FOSSE的開發(fā)者數(shù)量和包數(shù)量正在快速的增長。這個增長速度是一個很好的健康跡象。然而,應(yīng)該記住的是,如果這種趨勢一直持續(xù)下去,當前的設(shè)施將要處理更高的負載。為了處理持續(xù)增加的負載,Python的策略可能需要改變。 根據(jù)Corallo17,多樣性是生態(tài)系統(tǒng)的一個關(guān)鍵因素。有人可能會說這和自然選擇相似。在Python FOSSE中當一個環(huán)境沖擊發(fā)生時,例如隨著一個破碎的更新,所有的開發(fā)者都必須更新他們的包。這樣的環(huán)境沖擊導(dǎo)致很多包對FOSSE不在是相關(guān)的了。為了合理的除了這種沖擊,Python需要做好準備,并且在FOSSE中去除不相關(guān)的開發(fā)者和包元素。9.未來的研究 在Python FOSSE的特征領(lǐng)域有一部分在本文中沒有寫出來,但是它們都值得在以后繼續(xù)研究。本文的研究重點是Python FOSSE。研究Ruby FOSSE中的角色(One Day Fly,Networker,Lone Wolf),很明顯,在Python FOSSE中也有相同的角色。然而,不僅僅只有兩個FOSSE,因此不太清楚是否其他的FOSSE中也有這些特征。在這個方面的重點研究能夠在Python FOSSE和其他的FOSSE之間,找出相同和/或不同的特征。 另一個區(qū)域是查找不同種類的SECO之間的區(qū)別。本文主要研究FOSSE,但是并不清楚FOSSE的特征是否不同于其它種類的SECO。 Python FOSSE的研究集中于SECO范圍等級,這研究了軟件供應(yīng)網(wǎng)絡(luò)和它們之間的不同的關(guān)系。然而,這是三個不同范圍的等級。未來的研究可以研究其它的范圍等級和在那個等級下SECO的特征。 研究一個軟件生態(tài)系統(tǒng)的代理和網(wǎng)橋能夠找到公司或開發(fā)者能夠在第二范圍等級上相互連接的原因。正如在討論部分解釋的,這可以通過問卷調(diào)查。 就像上述特征,一個FOSSE的成長或隨時間的演變是一個定義SECO的特征。本文中的成長時期是從2005年到2012年12月3日,在這段時期里,Python每年都在發(fā)展。未來的研究可以關(guān)注一下后期,看在文中提到的結(jié)果是否正在進行,或者該趨勢將隨時間而改變。參考文獻: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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家具設(shè)計中的市場競爭分析考題及答案
- 生物化學(xué)在醫(yī)藥領(lǐng)域的應(yīng)用探索試題及答案
- 對口升學(xué)化學(xué)試題及答案
- 物理應(yīng)用題及答案2025年
- 教師教育教學(xué)反思在新農(nóng)村教育中的探索與實踐試題及答案
- 注冊土木工程師考試考點解讀試題及答案
- 答疑解惑的土木工程師考試試題及答案
- 科學(xué)實驗與化學(xué)創(chuàng)新題目及答案
- 英語學(xué)習測試題及答案
- 耒陽美術(shù)面試題及答案
- 企業(yè)專職消防隊消防安全知識培訓(xùn)
- 綠色設(shè)計產(chǎn)品評價技術(shù)規(guī)范 粉末冶金氣門座
- 醫(yī)用高分子材料行業(yè)發(fā)展趨勢
- 2024年醫(yī)學(xué)高級職稱-皮膚與性病學(xué)(醫(yī)學(xué)高級)歷年考試高頻考點試題附帶答案
- 中國公民健康素養(yǎng)66條知識講座課件
- 新教師入職培訓(xùn)新學(xué)期新教師入職培訓(xùn)課件
- 2023許昌職業(yè)技術(shù)學(xué)院教師招聘考試真題匯總
- Spring Boot從入門到實戰(zhàn)(知識點+實例)
- 《企業(yè)會計準則第 25 號-保險合同》應(yīng)用指南
- 手術(shù)物品清點標準操作程序-手術(shù)物品清點流程
- 武術(shù)基本功五步拳 教案6篇
評論
0/150
提交評論