Python一个的开源软件生态系统的特征识别-毕业设计-外文翻译.docx_第1页
Python一个的开源软件生态系统的特征识别-毕业设计-外文翻译.docx_第2页
Python一个的开源软件生态系统的特征识别-毕业设计-外文翻译.docx_第3页
Python一个的开源软件生态系统的特征识别-毕业设计-外文翻译.docx_第4页
Python一个的开源软件生态系统的特征识别-毕业设计-外文翻译.docx_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

XXXXXXXXX毕业设计(论文)外文资料翻译 学 院: 计算机学院 专业: 学生姓名: 班级学号: Princetonplein 5, 3584CC, 外文出处:Utrecht, Netherlands 附件:1.外文资料翻译译文;2.外文原文指导教师评价:1翻译内容与课题的结合度: 优 良 中 差2翻译内容的准确、流畅: 优 良 中 差3专业词汇翻译的准确性: 优 良 中 差4翻译字符数是否符合规定要求: 符合 不符合 指导教师签名:年月日附件1:外文资料翻译译文Python:一个免费的开源软件生态系统的特征识别作者: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摘要: 分析一个免费开源的软件生态系统是有益的,并且可以在很多方面帮助利益相关者。这个分析可以帮助开发人员、投资者和贡献者决定投资的软件生态系统和投资的地方。做这个分析的另一个原因是帮助生态系统协调员管理他们的生态系统。本文提供了一个对于Python免费开源软件生态系统的了解。它提供了一个软件生态系统本身和软件生态系统的不同特点的分析。基于进行可用数据集的分析,研究得出结论:Python的免费开源软件神态系统包含三个定义其生态系统生态系统角色。然后,活跃开发者的数量从2005年的31人以指数级增长到2012年12月的5212人。这些结果可以能够帮助建立一个Python生态系统的未来战略。在这个时间点上,有必要安排Python生态系统的持续增长。不这样做的话,会导致越来越多的无法使用的功能,并最终促成一个不健康的生态系统。关键字: 免费开源软件,软件生态系统,Python,探索性案例研究,角色特征1.介绍 免费开源软件生态系统(FOSSE)将为其开发人员确保跟大的社会福利。为了确保社会福利,FOSSE需要被管理和提高1。为了定义一个FOSSE,本文建立在由Jansen,Finkelstein,和Brinkkemper定义的软件生态系统。本文定义FOSSE为:“一个免费的开源软件生态系统是一组以开发人员作为一个单元,并与一个共享的软件和服务的市场相互作用,以及它们之间的关系。互动的结果是免费地提供给每个人。” 据Jansen等。2,了解生态系统的动态,以便管理和改善生态系统是非常重要的。对FOSSEs的利润不在金钱上的定义,但在如何经营和生存(即生态系统有多生动)。一个FOSSE的分析可以是有益的,是必要的为了产生最大的利润。据kabbedijk和Jansen 3和 Jansen, Finkelstein,和Brinkkemper 4,指定不同的特征,如大小、活动者、角色类型,与FOSSE连通性可以帮助开发商、投资者和捐助者了解生态系统。敏锐的洞察力将协助他们选择FOSSE投资和在哪里投资。它也可以帮助生态系统的协调管理FOSSE。 在被完成之前,一个FOSSE的不同特征可以被例如Kabbedijk,Jansen3和Jansen4等人识别。kabbedijk和Jansen 3称FOSSE的特点为它的描述,而Jansen4等人称之为特征。描述和特征都被用来表示一个FOSSE的特点。因此,描述和特征被认为是相同的,并且将被称为特征贯穿全文。 本文的目的是表明FOSSE的哪些特征可以被识别。为了明确其特征,本文描述了Python FOSSE 的数据挖掘和数据分析过程。通过定义Python的特征,本文有助于更加深入的定义描述FOSSE特征的总集。 在第二部分,一个文献研究表明什么特征可以被定义给其他的FOSSEs。文献研究后的部分,第三部分,利用信息来陈述一系列子问题,它们共同将回答的主要研究问题。第四部分描述了Python FOSSE和数据挖掘过程。第五节给出的数据挖掘过程中获得的数据的分析。分析结束后,结果部分使用被分析过的数据展示了分析的结果。最后一个部分介绍了讨论,结论和未来的研究点。2.文献研究 生态系统在各种各样的调查中已经被研究。Iansiti和Levien5声明,一个生态系统围绕着一个平台。在一个软件生态系统 (SECO) 中,平台通常是指一个常用的软件产品。然而,根据Jansen等人4,一个生态系统不仅仅是它的所有部分的总和。它包括活动者,比如独立软件供应商,客户,经销商,和或者是外包。一个SECO的动态和同一性可以通过某些特征来限定。特征的例子有大小,活动者的类型,角色和连通性。如在图1所绘的,SECO的模型有三个范围等级。每个范围等级都有自己的研究课题,和其自身的特点。图1.软件生态系统范围的等级4。图2.一个软件生态系统中各部分的域模型。 在这一研究中,FOSSE的分析将在第二等级(SECO级)上进行。Jansen等人4,声称在这个等级上SECO可以由内部特性来定义。内部特征显示SECO的总体信息,在这是大小, SECO中的许多不同类型的元素,最重要的元素和不同元素之间的连接性。内部特征之后,一个SECO在SECO级上,可以被通过SECO活动者的不同生态系统角色定义和最后随着时间的推移,通过它的成长或进化定义。 一个SECO和它的组成部分更加完整的视图,在图2中给出。这个图是基于Berk,Jansen和Lutzen6的域模型和其它研究结果的延展作出的。这些其他的研究在下面的段落中进一步阐述。 根据Iyer,Lee和Venkatraman7的研究,在大多数网络中有三个重要部分:集线器,代理和网桥。Iyer等人,把集线器描述成一个有不成比例的高数目的链接的公司。代理是创建其他两家公司之间连接的公司。代理可以通过许多许多角色进一步分类。Hanneman和Riddle8区分出五种不同的角色:顾问,协调者,看门者,联络人和代表。最后,网桥是在网络内对于整体连通性关键的链路。根据Jansen等人4,网桥不仅仅是角色的属性,更是一个生态系统的实际组成部分。为了使用Iyer等人的定义,有必要把它们解释成一个FOSSE定义。集线器可以定义为拥有大量的可以连接到其他开发人员的链接的开发人员。代理和网桥在优先规定的领域内也需要被解释。 一个生态系统内的才与这可以被描述成一个关键角色,一个利基角色或者是一个统治者。就像集线器,这些角色的定义适用于市场中的公司。角色的解释已经被Jansen等人4完成。正如Iansiti和Levien13表示,特殊的角色添加部分被关键角色创造和维护的关键平台。这个进行的研究是基于所谓的Python eggs完成的。因此本文的重点是开发了Python eggs作为附加在实际Python语言作为关键平台的利基角色。 根据Hagel,Brown和Davison9,利基角色可以是下列之一:一个影响者,一个套期保值者,一个门徒。尽管这些角色对于模型的完整是相关的,这些角色将不作进一步的研究。这些角色是适用于第一个SECO范围等级的,这超过了研究的范围。 Kabbedijk和Jansen研究了Ruby的FOSSE,并指定了三个角色: Networker, One Day Fly和Lone Wolf。Networker是指那些在生态系统中与其他开发者合作,并且在SECO的下载方面起很大作用的开发者。One Day Fly是指是指那些只对生态系统做出一点点贡献的开发者。Lone Wolf是为生态系统生产重要部分,但与其他开发者没有联系的开发者。正如在介绍中所讲述的,本文的目的是表明那些特性可以在一个FOSSE中被发现。在第二SECO等级,该研究将搜索三个指定的角色:Networker,One Day Fly和Lone Wolf。3.研究问题 本文的目标是识别一个FOSSE的元素,特性和特征。本文对于主要研究问题的答案被描述为: RQ 什么是大规模FOSSE的定义特征? 这个研究问题将用一系列的子问题来回答。为了进行生态系统的分析,FOSSE中的元素知识是需要的。只有这样这个分析才能帮助利益相关者和协调者。这导致了下面的子问题: SQ1在FOSSE中有什么元素? 正如从文献中研究得出的,一个FOSSE可以被通过许多其他特征进行定义:内部特征,在生态系统中的不同活动者的不同作用,最后通过其生长或随时间的演变。 者导致了下面的三个子问题: SQ2 FOSSE有什么特征? SQ3 在生态系统中,元素扮演了哪些角色? SQ4 在生长和演变的过程中,FOSSE有什么特征?4.案例描述和数据收集 Python是一种解释性的,交互式的,面向对象的,开源的,高级通用编程语言。它提供高级书籍结构,例如表和关联数组,动态类型和动态绑定,模块,类,异常,自动内存管理,等14。 Python诞生于1991年,由荷兰人Guido van Rossum和Python软件基金会开发。为了扩展Python语言,开发人员能够创建包,包被称为Python eggs15。开发人员可以创建的包的数量是没有限制的。这些包可以被开发人员创建单独工作,或者是协同其他的开发者工作。该数据表明,Python eggs最早出现在2005年。一个Python 包被描述为体现一个Python项目的特定版本发布的逻辑结构,包括它的代码,资源和元数据。 因为语言的灵活性,Python 的包并不是必须用Python语言编写。Python 的包也可以用编程语言C,C+,Java的Jython和.NET的IronPython编写。当创建一个包后,它可以被上传到官方Python 网页,在那里它被存储到数据库里。为了利用一个特定项目的包,那个包需要从现有的网站下载下来并导入到一个指定的项目中。 Python的包是从Python网站挖掘的。2012年12月3日,使用订制的.Net脚本挖掘了Python的数据集。该脚本被分为Python包的挖掘和Python包的开发者的挖掘两个阶段。这两个阶段都用收集到的数据库来填充数据库。 第一阶段使用HTML刮取,以便从他们网站上的一系列Python 包中获取包。一个包,包含名称,描述和一个链向包详细信息的链接。 第二阶段利用第一阶段收集的链接并且用HTML刮取收集创建包的开发者和特定包的下载次数。表述为“包索引所有者”的用户名称被定义为一个Python包的拥有者。因为这行用户名称并不是开发者的真实姓名,所以他们的真实身份不能被识别。因此,它不可能识别例如Guido van Rossum这些人。 在第二阶段的另外一个活动时将数据分给不同的开发者。这通过使用一个SQL脚本完成。举一个例子:一个包规定“K0s,ejucovy”作为包的开发者。“K0s,ejucovy”被分割成“K0s”和“ejucovy”并把分割数据放到数据库里。 数据挖掘结果的概述在表1中,图3表示了Python网络挖掘的形象图。 Characteristic value Unique developers 9189Unique eggs 27624Unique links between developers 6893Total links between developers 93770Developers without links 7157100% of all the links 20.11% 的开发者之间Number of developers that create one egg 4992表1 Python FOSSE 的特征/about//pypi/pypi?%3Action=index图3Python生态形态的形象图。这些点代表着不同的开发者。点的大小跟表示这开发者拥有的链接的多少。点大的开发者拥有的链接更多。这个图是所有组开发者都挤在一起的格式化。这些分组是用马尔可夫聚类算法(Markov Cluster Algorithm)16完成的。这些组用不同的颜色来标识,即每个组都有自己的颜色。当这些开发者工作在同一个包上时,他们之间是密切联系的。5.分析 在Python的FOSSE中,有两个截然不同的元素。也就是说开发者和包。开发者元素是指拥有Python网站账户的并且至少已经创建一个Python包的不同的开发者。开发,升级或者修复已经存在的Python包是一般开发者都会做的工作,同时也参与了Python的FOSSE。包元素是指Python包。正如在例子中描述的,Python包是Python语言的扩展可以免费的下载和其它包一起使用。如在图4中可以看出,元素之间有许多不同的关系。标有星号(*)的是可选属性。图4,Python FOSSE元素之间的关系,加*号的是可选属性。在Python FOSSE中确定了下面这几个角色:One Day Fly,Networker和Lone Wolf。 One Day Fly:One Day Fly是已经单独的做出一个包并且这个包的下载次数在大多数被下载的包中排前5%的一个开发者。5%能够与本文中Kabbedijk3(其中指定了相同的5%)等人的结果相匹配。该信息不能从所有的包中挖掘出来,因为包的下载数量是可选属性。所有的27624个包中,只有23493个包有下载数量的数据。因此下面的信息是基于23493个包的。大多数下载的包的前5%的这个名单上包含1174个包,从3975次下载的“及其学习和交互式数据挖掘工具箱”包,到2214509此下载的“系统管理开发附加件”包。One Day Fly的列表的大多下载包的前5%包含60个开发者。表2显示了这个列表的其中一部分信息。这列表中的One Day Fly是从4048次下载的“一个Python的实现一个Erlang节点”的包到447100次下载的“Amazon Web服务器”的包。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被定义为那些在已经写好的包的总下载次数扮演重要角色的开发者。如果是和其他开发者一起编写的包,那么下载次数记给所有的开发者。图5展示了Networker中前40个开发者。注意,由于和之前部分相同的原因,使用了23493包子集。图5,下载总数的前40个开发者。这些连接代表着共同创建一个包的开发者。更多的开发者已经与大的节点(链接多的开发者)合作。 Lone Wolf:Lone Wolf的定义和Networker类似是那些在已经写好的包的总下载次数扮演重要角色的开发者。两者之间的不同之处在于,Lone Wolf从来不与其他开发者合作。在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.结果 定义一个SECO的特征之一是随时间变化的生长和演变。基于Python的FOSSE数据集的分析可以提出很多结果。 首先,图6描述了每年Python FOSSE的包已增加的数量。在2005年,FOSSE中增加了36个包,在2012年FOSSE中包的数量增加到了12063。 图6也描述了随时间推移的活跃开发者。如前面所述的,这些数据只是从2005年到2012年的。在那一年里有31个帮助开发Python包的开发者。在2012年向Python FOSSE中加入新的包的活跃开发者的数量增长到5212个。图6,从2005年到2012年加入Python FOSSE中包的数量(蓝线)和往Python FOSSE中添加新的包的开发者数量(红线)的增长情况。图7描述了下载次数增长的趋势。下载此时是指Python包中没个包的总体下载次数,并且显示了每年新的下载。每年的下载次数从2005年的105784此开始到2012年的22461378此结束。图7,从2005年到2012年Python包的总体下载次数(单位是百万)。 使用类别的频率为大多数已经创建的包提供了一个好的洞察力。前5个最多使用的类别在表4中呈现出来。正如从表4中看到的那样,大多数包被分在类别“编程语言: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找到的数据和在Python FOSSE中找到的数据的对照。请注意,“附加组件”是指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的数据集没有被无并发的挖掘。例如包的一些属性并不是强制性的填充。这就导致了在总数27624个包中只有23496个包有“下载数量”的属性。所以被用于下载数量分析的数据集与用于其它情况的数据集略有不同。例如,“下载数量”和“在线上传”的比较会使比较歪曲。让一些属性例如“需要”和“维护者”是可选的,这样做是符合逻辑的。另一方面,一些例如“下载数量”和“在线上传”的可选属性没有太大意义是可选的。 如在本文中说明的,为了使特定的包能够工作,“需要”属性表示所需要的包(多个)。在Python包列表中创建一个新的包时,这个属性可以选择。然而,数据挖掘结果并没有显示这些依赖关系。因此,对于一个包的相互依赖关系的分析被排除在外。 只分析了FOSSE的一部分特征。代理角色(咨询,协调者,看门人,联系人和代表),和健康特征需要进一步的研究。为了研究开发者一直合作的原因和他们如何开始他们的工作关系,代理角色可以用问卷调查的方式研究。正如在文献研究中解释的那样,为了测量FOSSE,健康特征需要被解释。因此一个的Python生态系统完整的映像尚未给出。然而,在本文所提出的数据确实给什么是Python的FOSSE一个很好的概述。8.结论 通过研究创建包的数量和下载的数量,Python FOSSE中的开发者能够看出哪个开发者的知识最多。因此开发者能够看他们应该并发的地方,这将导致导致Python FOSSE内的开发者之间更加社会化的联系。本文全面的为经济利益相关者提供了经济实用的建议。例如投资者将会更加明确地知道投资哪里。除了经济实用的建议,敏锐的洞察力将会帮助FOSSE成长为更加经济有效的生态系统。从生态角度,本文提出了对Python FOSSE更加深入的理解。从而,让FOSSE的协调员更加清晰的知道,应该从哪里着手提高生态系统。 在FOSSE中有什么元素?:在Python FOSSE中有两个元素。这两个元素是开发者好包。每个元素都有自己的属性。 FOSSE有什么特征?:在Python FOSSE中,通过已经挖掘的数据集,确定了9189个开发者。这些开发者已经创建了总共27624个包。这些包的总数显示了总数至少65324834次下载。这些包被分成超过450中类别。 被使用次数最多的类别是“编程语言:Python”,它被使用了15287次。通过与Ruby FOSSE比较,得出了Python FOSSE的开发者比Ruby有的开发者多一倍,并且在开发者之间有近乎相同数量的关系。因此,与Python的开发者相比,Ruby的开发者更好的交织在一起。 在生态系统中,元素扮演了哪些角色?:回头看一下图2,本文致力于Python FOSSE中的三个利基角色:One Day Fly,Networker,Lone Wolf。正如本文中提出的,这三个角色在FOSSE中被发现。 在生长和演变的过程中,FOSSE有什么特征?:在研究Python FOSSE的演化时,发现了一些特征。这些特征是“活跃开发者的数量”,“下载数量”,“新包的数量”。正如数据所显示的,Python的FOSSE正在快速发展,每年都在快速发展。 Python FOSSE的改进:根据FOSSE的定义,可以发现一些关键的部分。即,开发者成立小组一起工作,软件和服务的共享市场,和它们之间的关系。对于Python FOSSE而言,软件和服务的共享市场和它们之间的关系对每个开发者都是相同的。因此在这个领域很难有改进。然而,一起开发包的开发者之间的关系的数量可以增加。结果表明,Python FOSSE中有约22%(2032/9189)的开发者与其他开发者合作过。为了开发者充当更加完整的整体,这个22%必须被增加。 正如前面所述,Python FOSSE的开发者数量和包数量正在快速的增长。这个增长速度是一个很好的健康迹象。然而,应该记住的是,如果这种趋势一直持续下去,当前的设施将要处理更高的负载。为了处理持续增加的负载,Python的策略可能需要改变。 根据Corallo17,多样性是生态系统的一个关键因素。有人可能会说这和自然选择相似。在Python FOSSE中当一个环境冲击发生时,例如随着一个破碎的更新,所有的开发者都必须更新他们的包。这样的环境冲击导致很多包对FOSSE不在是相关的了。为了合理的除了这种冲击,Python需要做好准备,并且在FOSSE中去除不相关的开发者和包元素。9.未来的研究 在Python FOSSE的特征领域有一部分在本文中没有写出来,但是它们都值得在以后继续研究。本文的研究重点是Python FOSSE。研究Ruby FOSSE中的角色(One Day Fly,Networker,Lone Wolf),很明显,在Python FOSSE中也有相同的角色。然而,不仅仅只有两个FOSSE,因此不太清楚是否其他的FOSSE中也有这些特征。在这个方面的重点研究能够在Python FOSSE和其他的FOSSE之间,找出相同和/或不同的特征。 另一个区域是查找不同种类的SECO之间的区别。本文主要研究FOSSE,但是并不清楚FOSSE的特征是否不同于其它种类的SECO。 Python FOSSE的研究集中于SECO范围等级,这研究了软件供应网络和它们之间的不同的关系。然而,这是三个不同范围的等级。未来的研究可以研究其它的范围等级和在那个等级下SECO的特征。 研究一个软件生态系统的代理和网桥能够找到公司或开发者能够在第二范围等级上相互连接的原因。正如在讨论部分解释的,这可以通过问卷调查。 就像上述特征,一个FOSSE的成长或随时间的演变是一个定义SECO的特征。本文中的成长时期是从2005年到2012年12月3日,在这段时期里,Python每年都在发展。未来的研究可以关注一下后期,看在文中提到的结果是否正在进行,或者该趋势将随时间而改变。参考文献: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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论