精华内容
下载资源
问答
  • 由于开放源码软件主要被散布在全世界的编程者所开发,开源社区就成了他们沟通交流的必要途径,因此开源社区在推动开源软件发展的过程中起着巨大的作用。 在如今的软件设计,架构及开发中,开源扮演着越来越重要的...
  • 开源社区介绍

    2013-04-11 20:43:57
    开源平台一些介绍信息 非常科普 列举了好多开源项目可以了解一下
  • 开源社区的由来(转载)

    千次阅读 2018-09-03 15:19:13
     “开源社区”(Open Source Community)更准确的名称应该是“开源软件社区”(Open Source Software Community);而“开源软件”(Open Source Software)则是“开放源代码软件”的简称。因此,要想解释什么是“开源...

    开源的含义

     “开源社区”(Open Source Community)更准确的名称应该是“开源软件社区”(Open Source Software Community);而“开源软件”(Open Source Software)则是“开放源代码软件”的简称。因此,要想解释什么是“开源社区”,就必须先解释什么是“开源软件”;而要想解释“开源软件”,就必须先解释什么是“源代码”(Source Code)

    简称全称

    开源社区(Open Source Community)

    开源软件社区(Open Source Software Community)

    开源软件(Open Source Software)

    开放源代码软件
    1.  

     

     

     

    前言

    • 源代码,也称源程序,是指人类可以读懂的计算机语言指令。之所以被称为“源代码”,在于2点:
    1. 源代码是目标代码之源。电子计算机只能读懂以机器语言表达出来的目标代码,它读不懂源代码。但人们直接通过机器语言编写目标代码,既不符合人的语言习惯,也十分低效。因此,人们通过近似于日常语言的高级语言来编写源代码,然后通过计算机系统中的编译器,源代码就可以转换为电子计算机可以读懂的目标代码。这样做,既符合人运用语言的习惯,也更为高效。从这一点来说,源代码是相应的目标代码的源。
    2. 源代码是后续相关软件代码的源。对于程序员来说,看到1款软件的源代码,就能够读懂软件设计者关于这款软件的设计构思,而如果读懂了1款软件的源代码,在理论上讲,就可以在其基础上开发出一系列的后续软件。从这一点来说,1款软件的工作代码是后续软件工作代码的源。

    在某种意义上讲,开源软件才是软件产业的本源。1969年,美国电报电话公司(AT&T)贝尔实验室的研究人员Ken Thompson编写了UINX的第一个版本,这是一个多用户、多任务的操作系统,整个七十年代,它都在免费传播,从而迅速成为在大学和研究机构中很流行的系统。UINX是人类第1个用高级语言(C语言)编写并有较高的运行效率的系统,是使用源代码的软件的先驱,也是开源软件的先驱。

    虽然开源软件是软件产业的本源,但是,今天的软件产业的主流却不是开源软件,而是“私有软件”(Proprietary Software)。因此,研究开源软件,就不得不谈及私有软件。

    开源社区的起源

    私有软件

    1976年2月3日, Bill Gates发表了著名的《Open Letter to Hobbyists》(致电脑业余爱好者的一封公开信),在这封公开信中,Bill Gates明确提出软件应该具有“CopyRight”(版权)。这封公开信奠定了软件产品“CopyRight”的理论基础,也促使私有软件成为软件产业发展的主流。Copy Right”理念的提出,必然导致源代码被彻底被封闭起来,这是因为3点:

    • 不封闭源代码,必然导致一些非本软件开发企业的程序员以免费方式获得源代码,并以此无偿使用这款软件来获利,而该软件开发企业难以收回开发成本;
    • 不封闭源代码,一旦非本软件开发企业的程序员读懂了这款软件的源代码,他就可以在此基础上开发出一系列的延伸软件,而这些后续软件必然与本软件开发企业自行开发的后续软件产生竞争,这将严重损害本软件开发企业的利益;
    • 即使本软件开发企业并不准备自行开发后续软件,其他程序员开发的后续软件的“Copy Right”也存在着难以合理界定的难题。

    从这个意义上讲,私有软件就是闭源软件。客观地讲,Bill Gates的“Copy Right”理念以及私有软件的兴起,对于推动软件产业的兴旺功不可没。但是,Microsoft等私有软件厂商对于软件市场的垄断,引发了用户和广大软件开发者的强烈不满,兴起了反对私有软件理念的运动,开源软件就是这种运动的重要组成部分。首先兴起的私有软件运动,是自由软件运动(Free Software Movement),它是开源软件运动的先河,因此,在诠释开源软件之前,应该先介绍一下自由软件。

    自由软件

    1983年,MIT的Richard Stallman 开始倡导自由软件运动。1985年,Stallman等人创建了自由软件基金会(Free Software Foundation,简称FSF)。Stallman提出了与“Copy Right”理念针锋相对的“Copy Left”(许可复制权)理念,其表现形式是GPL,即公共许可证(General Pubic License)。自由软件应该是具有如下4大自由的软件:

    • 出于任何目的运行该软件的自由;
    • 有研究该软件如何运行并加以改进使之更符合自己需要的自由;
    • 有重新发布以帮助邻里的自由;
    • 有改善程序,公布改进方案(以及通常的修订版)以推动整个社区利益的自由。

    1991年,Linus Torvalds开发出Linux,并接受“Copy Left”理念,使得自由软件运动有了自己可以与MicrosoftWindows相抗衡的操作系统。自由软件运动初战成功。但是,自由软件运动关于自由的追求,毕竟和现实的商业氛围格格不入,带有着过于理想化的色彩。这种反商业的信条,让一些本来也反对私有软件的人士对自由软件敬而远之。正是在这种背景下,一部分原有自由软件运动人士,如Eric Raymond,开始尝试将理想的自由软件与现实的商业氛围进行某种衔接,这就是本文所涉及的开源软件运动。

    开源软件

    1998年2月,Eric Raymond等人正式创立“Open Source Software”(开源软件)这一名称,并组建了开放源代码(软件)创始组织(Open Source Initiative Association,简称OSI)。OSI曾给出了开源软件的标准定义。按照OSI的定义,开源软件是指允许任何人使用、拷贝、修改、分发(免费/少许收费)的软件。它必须满足以下6个条件:

    • 允许自由地再发布软件;
    • 要求程序的源代码是可获得的;
    • 可以修改和派生新的软件,并可以重新发布;
    • 发布时保持软件源代码的完整性;
    • 许可证不对任何个人或群体有歧视,许可证不得歧视任何应用领域;
    • 与程序有关的权利必须适用于任何重新发布的程序,不需要得到附加的其它许可证的许可。

    用一句话概括,开源软件就是源代码开放且可以自由复制的软件。开源软件运动超越自由软件运动的地方在于,它既抓住了私有软件的Achilles Heel(阿基里斯之踵),即封闭源代码,又可以实现与商业氛围的结合。

    开源社区

    由于以Microsoft为代表的私有软件企业占据着软件产业的主流地位,开源软件要想生存和发展,就必须在组织形式上进行创新。这一创新是由Eric Raymond在1998年提出的,他在被堪称开源软件的<The Cathedral and the Bazaar>(大教堂和市集)中正式提出了“开源社区”模式(Raymond将开源社区形象地比喻为“市集”)。开源社区是开源软件开发最重要的组织形式,是由所有参与开发和改进可以软件的爱好者所组成的社区。

    2002年,Seidel发表了论文<An Initial Description of the C-form Organization>(关于C型组织的最初描述),认为开源社区是一种新的组织结构,他将这种新的组织结构命名为“型”组织。Seidel认为“型”组织有6个基本特征:

    • 没有正式的组织边界;
    • 追求更高目标的强有力的团队文化;
    • 所进行的工作没有物质报酬——免费公布产品的源文件;
    • 没有商业秘密——所有的开发工作都是在互联网上公开进行的;
    • 联络方式经济有效(通过互联网)
    • 项目最初源自于兴趣而不是基于市场调研。

    LernerTirole2001年发表论文<The Open Source Movement :Key Research Questions>,他们经过研究发现,开源社区往往由核心团队、领导者用户、跟随用户、商业企业组成。其中,核心团队居于整个社区的中心,是非制度化的、动态的社群领导者。开源软件的领导者往往具有如下2个特征:

    • 领导者都是项目初始代码的开发者或早期的重要贡献者;
    • 在软件后期发展中,不一定是重要的贡献者,而是项目管理者,并具有可信的管理者地位。

    从上述关于开源社区的分析可以看出,开源社区这种组织有着不同于软件开发企业的本质特征,这种本质特征就在于,软件开发企业内部的各个员工是基于利益关系而组织在一起的,而开源社区内部的各个成员是基于兴趣而走到一起的。从这个角度来说,软件开发企业是一种利益组织,而开源社区是一种兴趣组织。

    开放社区

    对于开源社区这种软件开发组织,西方学者进行了更加深入的研究,他们提出了更为深刻的理解,这就是“开放社区”, (Free/Open Communities)

    Tzouris2002年发表了论文<Software Freedom, Open Software and the Participant's Motivation——A Multidisciplinary Study>(软件自由、开源软件和参与者动机——一项多学科的研究),在这篇论文中,Tzouris首先提出,开源社区应该是“开放社区”,他界定了开放社区的4个基本特征:

    • 共享的标准化和原则性的信念:指的是基于共同理解的为软件作贡献的共享的价值理念;
    • 共享的因果信念:指的是对因果和报酬结构的共同理解;
    • 对合法有效性的共同意见:指的是贡献者对目前问题采用的解决方案的有效性具有一致意见;
    • 共同政策企业:指的是能够通过为软件提供源代码实现的共同目标。

    Reagle2003年发表了论文<Socialization in Open Technical Communities>,在这篇论文中,Reagle也认为开源社区应该是“开放社区”,他认为“开放社区”应该具有如下5个特征:

    • 开放性:提供满足开放源代码定义的产品;
    • 透明性:可以获得所有的程序、规则、决定和原理;
    • 完整性:确保所有的程序和参与者贡献的完整性;
    • 不歧视:禁止对个人、团体或与社区活动不相关的特征的歧视,应客观评价个人和建议的优缺点,领导阶层应属于精英分子或建立在民主选举基础上;
    • 不干涉:这是开放的关键,如果参与者不同意前几条的标准,他们可以带走自己的产品在他们自己的概念标准下着手自己的工作,不受任何干涉。

    如果仅仅凭借兴趣,开源社区是难以发展壮大起来的,开源社区要想真正发展壮大到可以和巨型软件开发企业进行有效的竞争,就必须在兴趣的基础上,形成共同的文化,也就是要将开源社区从兴趣组织发展为文化组织。

    这一点,前文所提到的SeidelTzourisReagle3位学者都已经认识到这一点。Seidel认为“型”组织应该“追求更高目标的强有力的团队文化(型’组织的第2个特征)”。Tzouris关于开放社区的4个基本特征的研究,实际上都是指开源社区的文化特征。Reagle认为开放社区应该具有的“不歧视”和“不干涉”也都是关于开源社区文化的界定。西方学者关于开源社区所应具有的文化特征的研究成果,在一定程度上已经初步揭示了本文所指的开源文化的内涵。当然,在本文看来,这些学者关于开源文化内涵的理解,无论在全面上,还是深入上,都有不足,还需要本文展开进一步的研究。

    总结

     

    如果仅仅凭借兴趣,开源社区是难以发展壮大起来的,开源社区要想真正发展壮大到可以和巨型软件开发企业进行有效的竞争,就必须在兴趣的基础上,形成共同的文化,也就是要将开源社区从兴趣组织发展为文化组织。

    这一点,前文所提到的SeidelTzourisReagle3位学者都已经认识到这一点。Seidel认为“型”组织应该“追求更高目标的强有力的团队文化(型’组织的第2个特征)”。Tzouris关于开放社区的4个基本特征的研究,实际上都是指开源社区的文化特征。Reagle认为开放社区应该具有的“不歧视”和“不干涉”也都是关于开源社区文化的界定。

    西方学者关于开源社区所应具有的文化特征的研究成果,在一定程度上已经初步揭示了本文所指的开源文化的内涵。当然,在本文看来,这些学者关于开源文化内涵的理解,无论在全面上,还是深入上,都有不足,还需要本文展开进一步的研究。

    转载自:http://blog.51cto.com/zhaisj/465512

    展开全文
  • 三大开源社区是哪几个 社区建设是任何开源项目成功的关键。 甚至在开源之外,社区也被视为从零售,游戏,健身到许多行业的企业的竞争优势。 (要进行更深入的了解,请参阅《 哈佛商业评论 》中的“ 社区成为您的竞争...

    三大开源社区是哪几个

    社区建设是任何开源项目成功的关键。 甚至在开源之外,社区也被视为从零售,游戏,健身到许多行业的企业的竞争优势。 (要进行更深入的了解,请参阅《 哈佛商业评论 》中的“ 社区成为您的竞争优势时 ”。)

    但是,众所周知,开源社区建设(尤其是离线活动)很难衡量,跟踪和分析。 尽管我们都参加过聚会,会议和“总结”(可能自己亲自主持了其中的一些),但值得吗? 社区有意义地成长了吗? 打印所有这些贴纸和赃物是否物有所值? 我们是否收集并跟踪了正确的数字以衡量进度?

    为了开发一个更好的衡量社区的框架,我们可以寻求其他行业的指导和新思路:政治运动。

    我的指标始于政治

    我的职业生涯始于2008年在美国的政治竞选活动中,当时是当时的参议员奥巴马的现场组织者(又称低级职员)。回想起来,现场组织者的工作基本上是在特定分配的地理区域内建立社区,竞选需要赢。 我的一天包括召集支持者参加志愿者活动,举办活动以聚集支持者,邀请来宾演讲者(在政治上被称为“代理人”)参加活动,并推销候选人的愿景和计划(本质上是我们的“产品”)。

    不管您对一般政治家还是特定政治家有什么疑虑,赢得政治胜利的竞选活动都是庞大的社区建设活动,这些活动是由数据驱动,精心衡量并不断优化的。 它们是运转良好的社区建设机器。

    几年前,当我进入开源世界时,社区建设部分变得熟悉而自然。 使我感到惊讶的是,很少量化和衡量社区建设(特别是使用离线活动)的过程。

    跟踪三个指标

    从我见过的最佳政治竞选活动中摘录,以下是开源社区跟踪和优化的三个最重要的指标:

    • 社区大使人数
    • 回程参与者人数(两次或两次以上参加您的活动的人)
    • 参会者流失率(仅参加一次活动或表示将参加但未参加的人所占的百分比)

    如果您很好奇,这三个指标在政治竞选活动中所用的术语通常是社区队长,超级志愿者和成年率。

    社区大使

    “社区大使”是您的项目的用户或爱好者,他们愿意一贯地主持她或他所居住的当地聚会或活动。 社区大使的数量不断增加,并向他们提供资源和指导,这是社区实力和规模的核心。 如果您有很多资金,您可能可以聘请这些人,但是纯净的志愿者对您的项目的吸引力更具说服力。

    这些大使应该是您最好的朋友,在那里您可以从内到外理解为什么他们有动机在同行和陌生人面前宣传您的项目。 他们对您的项目的反馈也很有价值,并且应该是您的开发路线图和过程的关键部分。 您可以策略性地在全球各地的不同技术中心中培养大使,因此您的项目可以依靠具有本地知识的人员来接触和服务具有不同需求的不同商业文化的用户。 开源的优点在于默认情况下它是全球性的。 利用它!

    可以说有些城市比其他城市更多地是开发者中心。 阿姆斯特丹,奥斯丁,班加罗尔,北京,柏林,杭州,伊斯坦布尔,伦敦,纽约,巴黎,西雅图,首尔,深圳,新加坡,圣保罗,旧金山湾区,温哥华,特拉维夫,东京和多伦多(按字母顺序列出,并基于我通过社交媒体获得的反馈。如果错过任何评论,请添加评论!)。 Cloud Native Computing Foundation的Cloud Native Ambassadors程序就是一个例子。

    返回参会者

    回程参与者的数量对于衡量社区活动的有用性或粘性至关重要。 跟踪回程参与者是您如何在“好奇”和“认真”之间划出一条有意义的界限。

    试图增加这个数字应该是一个显而易见的目标。 但是,这不是唯一的目标。 这是您最想了解其动机的小组。 这是反映项目用户角色的组。 该小组可能会给您最有价值的反馈。 这个小组将成为您未来的社区大使。

    换句话说,这就是您的1,000个真正的粉丝 (如果可以保留的话)。

    在主持并参加了我在这些社区聚会中应有的份额后,我的观察结果是,大多数人都参加了有关技术主题的教育,寻找解决工作中问题的工具,或为下一个工作机会建立网络。 他们不想要的是被“推向市场”。

    开发人员社区事件变成营销事件的趋势正在增长,尤其是在公司资金充裕或拥有强大的营销部门想要“控制消息”的情况下。 我发现这种趋势令人不安,因为它破坏了社区建设。

    因此,将注意力集中在技术教育上。 如果开发人员社区被市场营销活动所接管,那么您的回返出席者指标就不会很漂亮。

    参会者流失率

    跟踪搅动的与会者是返回的与会者硬币的另一面,因此我不会感到惊讶。 这些人一旦加入,然后消失,或者表现出兴趣,但不露面。 它们之所以重要,是因为它们会告诉您什么是行不通的,以及为谁服务,这比仅计算出现的人员更具操作性。

    注意事项之一:测量此数字时要诚实,不要欺骗自己(或其他人)。 就其本身而言,如果有人注册但没有出现,则意义不大。 同样,如果某人出现一次却再也没有回来,那意义不大。 例行坐下来评估为什么某人没有出现,因此您可以重新评估和完善您的社区计划和活动。 不要在社区建设活动中采用错误的激励措施来奖励错误的指标。

    面对面联系的价值

    我故意将这篇文章的重点放在衡量离线社区的活动上,因为在线活动本质上对于数字原生开源创建者而言更易于跟踪和直观。

    离线社区活动对于任何项目的发展都至关重要。 我还没有看到一个成功的项目,无论其在线受欢迎程度如何,都没有足够的离线状态。

    为什么会这样呢? 为什么通常在网上出生的开源社区不能仅仅停留并在线发展?

    因为技术选择最终是人为决定; 因此,面对面的互动是采用新技术不可替代的要素。 没有人想成为豚鼠。 没有人想成为第一个。 感觉不像第一种最有效的方法是从字面上其他人正在尝试或对同一事物感兴趣。

    与其他开发人员在同一个房间中,了解相同的项目,并定期进行操作是建立项目信任的最有效方法。 信任带来了牵引力。

    这三个指标有效

    可以跟踪其他事物,但是更多数据并不一定意味着更清晰的洞察力。 将精力集中在这三个指标上将对您的社区建设运营产生最大影响。 一个开源社区,在这个社区中,大使和回程人员数量呈上升趋势, 参会人员流失率呈下降趋势,这是一个健康且以正确方式发展的社区。


    本文最初出现在 COSS Media上, 并经许可重新发布。

    翻译自: https://opensource.com/article/20/3/community-metrics

    三大开源社区是哪几个

    展开全文
  • ThinkSAAS开源社区 v2.7

    2020-10-05 11:25:11
    代码完全开源、灵活开放的建站系统程序 ThinkSAAS开源社区基于PHP+MySQL开发完成,运行于Linux 平台和Windows平台,完美支持Apache和Nginx运行环境。 完全开源的源代码更有助于php开发者进行
  • 开源社区 Android源码

    2013-11-05 18:07:27
    开源社区 Android源码,开源中国社区客户端源码
  • 开源社区开源社区方面,我们一直保持与MySQL&PostgreSQL社区的密切沟通,每年发现并反馈数十个重要问题和缺限给社区,员工也经常获得社区Award奖项,但我们发现很难将一些侧重场景的好需求提交给上游社区,比如...
    
    

    注:提前言明 本文中涉及到的资源 网站 博文,其链接列表如下:

    OceanBase相关链接:

    1、oceanbase官方gitee链接,点击前往
    2、oceanbase官网首页,点击前往
    3、oceanbase数据库源码gitee仓库,点击前往本人oceanbase gitee仓库链接,点击前往 oceanbase数据库git仓库链接,点击前往
    4、oceanbase数据库 官方使用文档链接,点击前往oceanbase数据库官方文档中心,点击前往


    PostgreSQL相关链接:

    1、PostgreSQL数据库仓库链接,点击前往
    2、PostgreSQL数据库 本人gitee仓库,点击前往


    PolarDB for PostgreSQL相关链接:

    1、PolarDB for PostgreSQL数据库仓库链接,点击前往
    2、PolarDB-for-PostgreSQL本人gitee链接,点击前往
    3、阿里云开源PolarDB数据库,与社区共建开源数据库生态,点击前往
    4、墨天轮 PolarDB数据库相关技术文档,点击前往
    5、PolarDB数据库 官方链接,点击前往
    6、polardb 源码仓库,技术文档汇总 ,点击前往


    1、本文内容全部来源于开源社区 GitHub和以上博主的贡献,本文也免费开源(可能会存在问题,评论区等待大佬们的指正)
    2、本文目的:开源共享 抛砖引玉 一起学习
    3、本文不提供任何资源 不存在任何交易 与任何组织和机构无关
    4、大家可以根据需要自行 复制粘贴以及作为其他个人用途,但是不允许转载 不允许商用 (写作不易,还请见谅 💖)


    PolarDB for PostgreSQL 也重磅开源!!!



    消息


    儿童节当天,OceanBase数据库开源…

    昨日(2021年06月04日),阿里再一次开源了 PolarDB for PostgreSQL 数据库 !!!


    随着互联网和云计算的飞速发展,数据库也正在加速向云服务方向演进。云数据库服务在数据库整体市场中的占比越来越大云原生以及分布式技术正在重塑数据库整个技术栈。

    阿里云在自身互联网业务和云数据库服务有丰富的实践经验,在高可用,分布式,云原生,存储与计算分离等技术上有深厚积累,为了更进一步促进整个数据库产业的变革,现在将这些关键技术组件和系统包括内部MySQL分支AliSQL(目前RDS服务的内核),分布式一致性协议库X-Paxos,高性价比存储引擎X-Engine,基于PostgreSQL开源数据库打造的分布式数据库产品PolarDB for PostgreSQL一起开源,与社区一起共建云原生分布式数据库生态。

    阿里云数据库秉承组件模块化,兼容标准化协议的方式,可以灵活组合和复用这些技术,打造更多的系统解决方案,不断完善和丰富云原生分布式数据库的形态,满足更多样化的用户需求。

    在这里插入图片描述

    AliSQL 8.0

    2018年初,我们预见到MySQL 8.0的数据字典、实时加列、Hash Join和CTE等功能对各种业务场景的重要性,便将研发重心转向AliSQL 8.0的研发,也是这一次开源的核心版本。

    AliSQL 8.0已经过集团内部和公共云场景的考验,在功能、性能、稳定性和安全性上都有非常扎实的技术创新和功能积累。全网开启的Thread Pool支撑了海量的并发和连接数,内核级的秒杀和并发控制技术支撑了瞬间业务流量冲击,Faster DDL保障了高峰时期DDL操作的稳定性,各种增强的性能统计指标和信息加快了问题分析和排查的速度,存储层和通信层的加密功能保障了数据的安全。更多详情可访问 阿里云官网AliSQL内核功能介绍,点击前往,强劲的数据库内核是支持和服务好关键业务场景的基础。

    X-Paxos

    X-Paxos是C++编写的Paxos分布式一致性协议库,在阿里集团内部已经广泛用户诸多分布式系统来保证数据强一致性下的高可用能力,是一个得到充分验证的Paxos协议工程实现。X-Paxos会自动探测网络环境,根据传输延时来自适应调整发包的频率和批量聚合的大小,在跨数据中心长传链路上也同样保证吞吐能力。

    X-Engine

    阿里自研的高压缩及冷热存储分离的存储引擎,基于LSM架构之上做了大量优化,求取性能与成本之间的最佳平衡 (详见SIGMOD’19论文),兼容MySQL,适用于大数据量的TP数据库,目前已经集成在自研产品PolarDB中实现了存储计算分离与一写多读,未来也会将这一技术在AliSQL下开源。

    PolarDB for PostgreSQL

    基于PostgreSQL开源数据库打造的分布式数据库产品PolarDB for PostgreSQL,蕴含了多项阿里云数据库技术,这些核心技术在公有云和混合云场景下都已经得到了广泛应用。

    PolarDB for PostgreSQL率先开源的三节点高可用版本是PostgreSQL原生WAL复制协议与阿里自研的Paxos一致性协议算法库X-Paxos的一次完美结合,Logger节点的最小化资源成本、Learner节点的跨域只读、Leader节点的多模式选举等特征也让PolarDB for PostgreSQL独具特色。

    PolarDB for PostgreSQL紧随其后开源的分布式插件版,具有很好的规模化扩展能力和性能。这得益于全局强一致性所采用混合逻辑时钟(HLC)实现,MVCC和2PC协议结合算法实现的分布式事务。基于PostgreSQL独有的插件化技术实现分布式Sharding功能,最大限度的保证了分布式SQL计算对单机SQL的兼容能力。

    在这里插入图片描述

    开源社区

    在开源社区方面,我们一直保持与MySQL&PostgreSQL社区的密切沟通,每年发现并反馈数十个重要问题和缺限给社区,员工也经常获得社区Award奖项,但我们发现很难将一些侧重场景的好需求提交给上游社区,比如著名的秒杀补丁,始终未能合并入上游社区。
    深觉我们不仅要有自己的开源MySQL&PostgreSQL分支,更需要建立自己的开源社区,好集中更多的力量和以更快的响应速度来解决更多业务问题和需求,从而进一步推动开源数据库在国内的快速发展,并在国际开源社区上发挥更大的国内技术影响力。
    阿里云数据库对开源社区的投入力度会越来越大,期望更多的开源社区爱好者能够参与进来,与我们一起共建生态,服务用户,推动技术变革。


    简介

    PolarDB是阿里巴巴自主研发的下一代关系型分布式云原生数据库,目前兼容三种数据库引擎:MySQL、PostgreSQL、高度兼容Oracle语法。计算能力最高可扩展至1000核以上,存储容量最高可达 100T。经过阿里巴巴双十一活动的最佳实践,让用户既享受到开源的灵活性与价格,又享受到商业数据库的高性能和安全性。

    PolarDB融合了商业数据库稳定、可靠、高性能的特征,同时具有开源数据库简单、可扩展、高速迭代的优势,适合各个行业公司的创新业务使用。


    优势评价

    在这里插入图片描述
    对于企业级数据库而言,一般会从可靠性、可用性、性能、弹性、成本和易用性这六个方面进行评价:

    1、在可靠性方面,POLARDB基于Parallel Raft协议并借助RDMA能够做到RPO=0。此外,POLARDB基于TCP的远程物理复制技术实现了跨AZ的容灾
    2、在可用性方面,POLARDB借助Parallel Raft复制技术使得单节点存储切换RTO控制在10毫秒以内,基于Warm Buffer Pool技术使得读写节点重启速度加快4倍以上,并且基于跨节点物理复制技术使得日志并发应用的节点间延迟控制在100毫秒以内
    3、在性能方面,POLARDB使用了高速硬件和用户态I/O协议栈,使得计算节点的写延迟小于100us,而读带宽大于4GB/s。除此之外,还在I/O上进行了优化,借助Parallel Query技术使得TPC-H性能提升超过25倍
    4、在成本方面,POLARDB这样的云原生数据库的成本往往低于传统的托管数据库。这是因为企业在使用POLARDB时可以按需扩容,弹性伸缩,而这是在实现存储与计算分离的云原生架构诞生之前无法实现的。目前来看,相较于RDS,使用POLARDB将会使得成本降低约44%,这就是技术释放的红利
    5、在易用性方面,POLARDB可以100%兼容RDS,并且可以在阿里云上一键将RDS替换为POLARDB,此外还提供了智能读写分离、性能洞察以及SQL审计等优秀的功能
    6、此外,POLARDB在2019年也实现了技术的全面升级。首先,POLARDB MySQL 8.0兼容版于9月12日正式发布,这是全球第一个兼容MySQL 8.0版本的云原生数据库。其次,POLARDB分布式数据库服务也正式发布,其存储容量支持最多超过100TB。再次,POLARDB的高性能存储引擎X-Engine即将发布,X-Engine存储引擎具有高性能和高压缩率,并且经历了2018年双11的实战考验。此外,POLARDB对于Oracle的语法兼容性特性也即将实现商业化,能够为用户带来将近6倍的成本降低。此外,本次的云栖大会上还正式发布了POLARDB一体机,它能够更好地帮助用户在私有云上使用POLARDB数据库。

    目前,阿里云POLARDB数据库已经成了增长最快的云数据库产品,未来也将会提供更多的特性,为客户带来更多的价值。


    设计思想

    作为云托管的关系型数据,除了关系型数据库的核心特征之外。PoalrDB 更多的关注于如何提供满足用户业务需求的云服务,并且通过技术革新,不断进化,在提供更好的数据库计算力的同时,满足用户以下业务需求:上云成本、OLTP 性能、业务连续性、在线业务扩展、数据安全。

    另一方面云计算除了成本优势之外,弹性和可扩展性也是云计算的天然属性。为了用户业务的扩展,更好的 Scale Up 以及故障恢复,计算和存储分离的架构成为云资源环境更好的选择。

    PolarDB 采用了从计算虚拟化,高速网络互联,存储块设备,分布式文件系统,数据库物理 Replication 等全方位的技术手段,可以说是众多热点技术的集大成。正式这些关键技术的整合创新,才使得 PolarDB 的性能有了质的飞跃。


    技术简介

    PolarDB for PostgreSQL(简称PolarDB)是一个基于PostgreSQL 的开源数据库系统。它扩展了PostgreSQL成为一个无共享的分布式数据库,支持跨数据库节点的全局数据一致性和ACID,分布式SQL处理,通过基于Paxos的复制支持数据冗余和高可用。PolarDB 旨在为 PostgreSQL 在高性能、可扩展性、高可用和弹性方面增加价值和新特性。同时,PolarDB 尽最大努力保持对单节点 PostgreSQL 的 SQL 兼容性。

    PolarDB 将在两个主要部分发展并提供其功能和特性:Postgres 的扩展和补丁。扩展部分包括在 PostgreSQL 内核之外实现的组件,如分布式事务管理、全局或分布式时间服务、分布式 SQL 处理、附加元数据和内部功能,以及管理数据库集群和进行容错或恢复的工具。

    大部分功能都在 Postgres 扩展中,PolarDB 的目标是易于升级、易于迁移和快速采用。补丁部分包括内核所需的更改,例如针对不同隔离级别的分布式 MVCC。我们预计补丁部分的功能和代码是有限的。因此,PolarDB 可以轻松升级到较新的 PostgreSQL 版本并保持与 PostgreSQL 的完全兼容。

    PolarDB 使用无共享架构。每个节点存储数据并执行查询,它们通过消息传递相互协调。该架构允许通过向集群添加更多节点来扩展数据库。PolarDB 通过对其主键进行哈希处理,将表切成碎片。分片的数量是可配置的。分片存储在 POLARDB 节点中。当查询访问多个节点中的分片时,使用分布式事务和事务协调器来维护跨节点的 ACID。每个分片被复制到三个节点,每个副本存储在不同的节点上。为了节省成本,我们可以部署两个副本来存储完整的数据。第三个副本只存储预写日志(WAL),它参与选举但不能被选为领导者。


    关于PolarDB for PosrgreSQL的架构及主要功能,可以参见文档:架构及主要功能,点击前往


    展开全文
  • 开源软件和开源社区的反思

    千次阅读 2016-03-31 10:48:10
    由于开源软件存在局限性,近来学术界 开始对开源软件和社区的发展进行反思,认为 :开 源软件的使用比开发更重要 ;要重视发展开源软件 工程技术 ;在大数据和云平台的环境下,应该建立 新的软件工程,包括软件的...

    蔡维德 李 磊 
    北京航空航天大学

    引言

    当前,许多新型技术凭借开源方式推广。开源 软件的发展由来已久,目前已有数以万计的开源社 区和模型。由于开源软件存在局限性,近来学术界 开始对开源软件和社区的发展进行反思,认为 :开 源软件的使用比开发更重要 ;要重视发展开源软件 工程技术 ;在大数据和云平台的环境下,应该建立 新的软件工程,包括软件的需求、设计、测试、整合、 部署和监测。

    开源软件和开源社区的发展

    一个流行的开源软件拥有一群高效率的开发者和数量庞大的用户群,在通常情况下,用户无须 支付费用。这些“免费”的开源软件往往由拿着高 薪的工程师完成。为什么这些工程师愿意无偿从事 开发?以Linux为例,以前很多人虽然反感微软的 Windows系统,但由于没有其他操作系统,只能选 择Windows。当Linux系统开源项目一出现,许多 软件开发组织自愿加入进来。再如,OpenStack的 开发也是如此,许多公司愿意付薪水给员工,并将 其组成团队进行开发,期望OpenStack能取代市场 的主导产品。如果市场上出现了能够主宰市场的产 品,而其他公司却没有足够的资源能在短时间内开 发出自己的产品与其竞争,这些公司就会结成联盟 使用开源软件开发来改变竞争态势。安卓系统也存 在同样的情形。该系统一直在利用开源软件系统与

    其竞争对手苹果iOS系统对抗。 由于每个参与开发的组织都有自己的管理方 式、企业文化及软件开发流程,因此他们只能以开 源的方式合作,通过社区交换代码进行交流。这是 开源软件和开源社区的驱动力。 比尔·盖茨说过: “市场占有率是最重要的”[1]。 一旦占领市场,以后开发出来的软件就不得不依靠 之前拥有市场主导地位的软件,所以软件公司以占 领市场为首要任务。由于人们可以免费或低价获取 开源软件,所以开源成为占领市场的利器。 从许多开源软件的事例可以发现以下几个事实:
    1. 虽然大多数开源项目没有成功,但是成功的 开源软件占据了绝大多数市场份额,例如Hadoop、 Linux、Spark和OpenStack。
    2. 成功的开源软件大多是被“赞助”的(意指 多个公司结成联盟进行软件开发),而“独立”的 开源项目则大多失败。
    3. 成功的开源项目也可能走向失败,其原因有: 出现了新一代产品,开源软件领导核心离开以及企 业改变了经营策略等。
    4. 许多新的软件技术也经常使用开源软件来进 行推广。例如作为当前金融学领域炙手可热的区块 链技术 [2]。 “开源社区”的核心是“开源”,社区是“果”, 而不是“因”。“赞助”往往是“因”,有了大量的赞助, 才有了大量的开发人员。此外,社区这个“果”并 不意味着其相应的软件已经成为“产品”。软件产 品和项目是不同的,一个软件成为产品要花费大量的工程与测试。所以如果有人认为软件放在开源社 区开发,就会有工程师免费参与,那是不切实际的。如果没有赞助,相信大多数工程师都没有兴趣来开 发,愿意无偿开发的工程师毕竟是少数。
    斯蒂芬·瓦利斯(Stephen Wallis)在其著作中提 到了开源社区和顾客的不同 :社区是一群开发者, 对软件有兴趣,有大量的时间却缺乏资金 ;顾客正 好相反,没有时间但有钱。在一个社区里,开发者 也可能是顾客,但不是每一个开发者都是顾客,也 不是每一个顾客都是开发者。社区活动的要素包括 :社区辨识与认同 (identify community)、社区的 使命(mission)、平台工具、参与机制(architecture of participation)、行为准则、知识产权和治理结构等。 开源社区需要顾客发现软件和使用软件,培训 顾客使其了解软件并产生购买欲望。开源社区与顾 客的关系如图1所示。
    图片描述
    成功的开源社区形成的模式通常经历以下过程 :
    1. 项目开始于一些开发者对问题的讨论 ;
    2. 开发者讨论要发展的项目 ;
    3. 把软件放在开源社 区,让其他的开发者共同参与 ;
    4. 建立说明文档及 FAQ1,让众人参与讨论 ;
    5. 建立一个非盈利的基金会。基金组织确认知识产权管理的制度,使投资人从上述生态系统中获益。

    开源软件的开发和应用

    开源软件技术分为软件“开发”及“应用和采 购(adoption and acquisition)”两部分。人们往往谈 论软件开发多一些,但是,通过了解美国国防部对 开源软件的方针就会发现,他们更重视“采购”和 “使用”[3]。早期美国卡内基梅隆大学软件工程研 究所(SEI2)曾提出软件能力成熟度模型(Capability Maturity Model, CMM)理论,其重点是“软件的开 发遵循着一定的流程”,流程在一定程度上保障了软 件的开发质量。这在过去是正确的,但后来美国国 防部的软件开发项目几乎全部采用了外包策略,这 才有了软件采购技术的研究。采购技术是一种关于 设计软件需求以及验证外包商开发的软件是否能够 被采纳的新兴技术。 “采购”与“开发”技术有所关联。“开发”是 源于“生产者”的观点,目的是用最高效的方法研 发软件; “采购”是源于“消费者”的观点,目的是 用最低的费用来快速地得到和使用有质量的软件。 例如,生产者(工程师)关注设计和制造软件,消 费者(用户)则更关注软件的质量、维护以及使用。 采购技术是为了收集、批准和使用软件。对于 那些有开发进度数据的软件系统,采购者需要检验 开发进度中的数据,以判定开发者或者项目管理者 是否存在欺骗。如果已经偏离了规定的进度,或者 明显落后于计划,管理者就可以采取措施来改正或 取消项目。 如果没有可利用的进度数据,则采购者需要检 验产品来判断软件质量。因此,采购者关注的是测 试和评价数据,根据需要获取足够的此类数据,来 确保系统符合质量标准、安全性和可靠性标准。这 项工作通常包含端对端测试和集成检测 [4]。采购者 还需要确保所需的项目能够集成到现有系统中。因此,采购技术包括计划、承包、进度管理(包括规范、 控制、跟踪和审计) 、测试和评价以及最终政策和 指向。 在开源软件时代,采购的一个重要目标是创造 可信赖的软件库,库中只存有通过严格测试和用户 验证的软件。虽然国内外的开源社区非常多,也提 供了大量的开源软件,但只有极少数的开源软件能 通过严格的测试而放在可信赖的软件库中 [5]。美国 国防部开发Forge.mil社区就采取了这个策略。 表1比较了开源软件的 “开发” 与 “应用和采购”。
    图片描述

    应用社区的探索

    Forge.mil社区

    Forge.mil与软件开发社区有许多不同,主要有 以下几个特点 [6] : (1)需要用户提前、持续地参与系 统开发 ; (2)软件开发者必须经常发布不同版本的软 件 ; (3)所提交的软件必须可以持续升级 ; (4)开发 者必须使用一种可模块化、开放的流程。社区包括 软件库、协作开发/测试的环境、软件过程管理与 方法、软件工具与资源这四个部分。 其软件开发的方法是敏捷开发方式加上开源 软件。要实现这个方法不仅需要社区有许多的开源软件,还需要对这些开源软件的使用提供大量的支 持,包括传统的软件开发工具、社交网络以及大数 据。可以利用大数据方法搜集每个开源软件的元数 据,并利用云计算上面的快速运算来帮助搜寻开源 软件。开源软件元数据是SEI所做的工作 [7],正是 得益于他们的软件支持以及云计算平台的联合,才 有了持续集成 (continuous integration)、持续测试 (continuous testing)以及持续部署(continuous deployment)等技术。

    其他软件社区

    其他具有代表性的开源软件社区有Black Duck (黑鸭软件)、Stackoverflow以及CSDN(中国程序 员大本营)。Black Duck是开源代码审计和管理领域 的领导者,软件包含Protex、Codecenter和Export 三个工具。Protex用于代码扫描,可以帮助用户发 现自己的源代码中是否含有开源软件代码,如果有, 则帮助用户判断其是否有触犯开源软件知识产权法 律的风险。Codecenter是帮助用户在软件开发生命 周期中管理和有效使用开源代码的工具。Export能 够帮助用户发现源代码中是否含有加密算法等。
    Stackoverflow是一个与程序相关的技术问答网 站。用户可以在网站免费提交问题,浏览问题,检索相关内容。
    CSDN创立于1999年,目前是中国最大的信息 技术社区和服务平台,为信息技术从业者提供服务。

    开源软件工程教育

    开源软件改变了软件工程。当前由于人们已拥 有大量的开源软件,并可以利用一些方法搜寻元数 据,再加上能够获得持续集成、持续测试、持续部 署等工具的支持,使得软件开发模型开始发生根本 的改变。例如,软件需求被改变。在传统的需求中, 不论是瀑布模型或是敏捷模型,都需要先与顾客讨 论需求细节。而在开源软件的环境下,则是先查看 相关的开源软件,再了解开源软件的需求,这是因 为很多开源软件已经包含80%的新软件需求。在此情形下,可以把开源软件的需求当作新软件需求的初稿。同样,设计软件的时候,不是先设计软件,而是先在开源社区里查看是否有可重用的设计。同理,开源软件程序代码以及测试方法也可以重用。
    本文第一作者在美国从事软件工程教育多年, 最近开始用开源软件进行软件工程方面的教学。起 初,对学生的要求是可以在开源软件或传统方法进 行软件开发之间进行选择,结果许多学生选择了传 统方法,而不愿意使用开源软件,原因是害怕或者 不愿意花时间去学习开源软件,而且教科书上也没 有开源软件的使用方法。所以在授课的第二年,笔 者强制要求学生必须使用开源软件。由于项目较大, 开源软件的利用使得开发时间较之前缩短了许多, 取得了不错的效果。如果项目不采用开源软件,则 几乎不可能完成任务。作为额外的要求,学生还需 要做三个星期的测试。结果大部分学生既完成了代 码,也完成了测试。他们的软件还具有不同环境下 的可扩展性(scalability)。在互联网以及大数据的环 境下,若软件没有可扩展性,则基本上不会有人使用。
    在开源的环境下,通常会要求工程师必须在 很短的时间内开发大量的软件,这在以前被认定 是错误的。旧的观点认为软件开发必须耗费大量 时间才能保证质量和数量。这是30年前软件工程 之父布鲁克斯(F. Brooks)在其著名的文章《没有 银弹》中提出的,其核心思想就是软件开发非常 复杂,任何宣称能够快速发展新软件的技术都是 荒谬的。这种观念今天仍然正确。但开源软件重 点不是在于“创造”新软件,而是“重复利用” 已被开发过的软件。因为有大量的开源软件,所 以重复利用、集成大量的软件比重新开发软件效 率要高得多。表2是传统与现代两种软件开发思 想的对比。
    我们曾经在课堂上讲过一个有启发的软件开发 实例 : Instagram软件 [9],它是由3个人在两年半 的时间内开发出来的,并创造了10亿美元的市价。 软件的92%使用了开源软件,自行开发的部分只占 8%。他们的原则是: (1)“永远不重新‘发明’设计 轮子”(do not re-invent the wheel)。即任何已经存在的东西,都不重新开发。如果碰到问题,就先在网 上搜寻看看有没有解答;如果有就用,如果找不到, 就到社交网络上询问那里的大师,大师们通常都乐 意解答。(2)软件要有可扩展性。他们列举了软件开 发过程中的许多重大改变都是为了满足可扩展性的 要求。(3)注重软件用户的体验。
    图片描述

    “开源”的开源软件工程教育

    我们需要一个新的软件开发环境来开展新的软 件工程教育。这个开发环境是一个为教育学生而设 计的软件搜寻工具,能够搜索开源软件,支持持续 集成,保证持续测试、持续部署。学生们可以在系 统中自由交谈,讨论设计和问题。只有通过严格测 试和检验的软件才允许被放进来。
    我们还需要一个新的开源软件工程的教材。像 开源软件一样,公开的、共享的资源可以充分激励 人参与,创造价值。因此,我们可以设计“开源”的开源软件工程教材,任何人都可以参与教材的制 作。孔子曰“三人行必有我师”。在这个大数据、 云计算以及开源软件的环境中,每一个人都可以当 老师。即使是软件工程教师也并非对每个软件都了 解,事实上对于某些软件,学生可能了解得更多。 所以,那些懂得多的学生可以把知识分享给他人。 这种教育的原则是“人人为我师”。使用开源软件 案例也要经过评审。由一组专家先把样本做出来, 他们随时监督、检验所提交的教材,以保证“开源” 教材的质量。因为开源软件是在不断进步、可扩展 的,所以软件工程的材料必须能够得到持续扩展且 随时更新。
    这种开源软件的教育方式还可以与国外软件公 司进行合作,一起开发。此外,中国有大量的软件 工程师、学生以及开源软件产品,如果中国师生共 同参与,“开源”的软件工程教育还能在世界产生 重大的影响。
    最近出现了许多新型的教育方式和新学说,例 如慕课(MOOC)、知识地图(concept map or knowledge map)、在做项目中学习(边做边学)、群体学 习(crowd learning)和数字出版(digital publishing)[10]、 小规模在线课程(SPOC)等。这些都可以在开源的 软件工程教育上使用。在软件工程教学方面,老师 的课程并非最重要的,学生参与软件开发才是核心, 学生需要做到以下几点。
    1. 在开源软件项目上学习(边做边学):传 统的软件工程是在小项目上做练习学习,这种方式 在现在的环境下需要补充加强。学生们应该在大学 时代就接触大型的、可扩展的及有质量的开源软件, 并学习开发高手是如何设计软件的。虽然不需要初 学的学生就能够开发开源软件,但是他们要学会如 何了解、寻找、使用、评估和测试开源软件。由此 出发再学会开发开源软件。
    2. 在社区中学习(群体学习):在开源的社区 里需要学习如何做一个有所作为的参与者,如何和 其他人一同工作。而且在这个开源的环境中,还会 有许多外国人参加,要学会通过英语进行交流。有 问题不耻下问,向社区里的大师询问。
    3. 自主学习“开源”软件材料(知识地图、 慕课、小规模在线课程和维基百科):学生可以自 主选择某些材料来学习。不过这些材料必须事先以 教学的方式组织起来,以便自学。学生们可以进行 在线讨论,听在线的讲座,在博客上交流,学习和 编写维基百科相关内容。
    4. 自主发表学习材料(数字出版):学生在 自主学习后,可以把相关的资料包装成一个学习模 块,发表在开源软件工程教育社区,以便让其他老 师、学生学习。在这个社区中,允许一个题目上让 多个团队发表他们的学习材料,使用者也可以评论 和参与。
    5. 在社区发表软件(数字出版):在开源社区 里发表软件是学生学习的一个重要的里程碑。学生 甚至可以创立一个新的开源软件项目。学生不只是 学习软件开发的方法,更重要的是学习开发有质量 的软件(边做边学)。传统的软件工程教给学生各 种技术,例如需求分析、设计模板、编码标准、测 试脚本以及文档编写。但是这些都聚焦在软件工程 技术而不是在软件本身。敏捷开发方式创始者的“敏 捷宣言”(Agile Manifesto)[11] 中讲到“软件才是有价 值的,而软件开发过程、软件需求、软件设计都是 创造价值的工具或者过程”。
    软件工程教育的最终目的是让学生能够开发有 质量的软件,而不只是让他们明白软件工程技术。 所以,对软件工程学生的评估不能只看考试成绩, 更应该注重学生是否能在社区中开发软件,能否通 过严格的社区测试,以及用户对他们所开发软件能 否给予正面的反馈。

    结论

    大量的开源软件造福了许多公司,也改变了软 件工程的发展。虽然开源软件的发展是市场的自我 选择,但它也在一定程度上促成了开放、共享的软 件工程,包括软件开发、采购和应用。不仅如此, 它还改变了软件工程教育。这些都必须通过公开的、 分享的且持续不断的更新来实现。

    展开全文
  • OpenAnolis开源社区的萌芽与发展

    千次阅读 2020-11-11 18:09:27
    10月24日,2020中国开源年会暨阿帕奇中国路演在长沙举行,阿里云智能高级技术运营专家金运通应邀在操作系统分论坛上做了主题为「OpenAnolis开源社区的萌芽与发展」的演讲。本文内容根据其演讲内容整理而成。
  • 国内外开源社区资源汇总

    万次阅读 2019-01-28 20:57:58
    国内外开源社区资源汇总  主要在这里汇总一下国内外开源的社区和网站,方便大家平时学习和工作使用,这个会不定期更新最新的地址。 名称 网站 说明  备注 ...
  • 小程序「Github开源社区

    千次阅读 2017-05-26 09:54:45
    也就在前两天我的小程序 「Github开源社区」 历经了两周的审核,终于。。。。。。成功发布了,并且绑定到了公众号。 以下是这两天时间的数据分析报表。(实时访问次数 pv)粗略的分析下:实时访问次数波动很明显,...
  • DPDK与SPDK开源社区更 名 通 知DPDK开源社区公众号自2016年起进入公众视野,非常感谢大家一直以来的支持。由于网络存储联系日益紧密,同时应广大粉丝要求,即日起...
  • Rabel 是新一代开源社区软件,设计简洁,摒弃了传统论坛软件的臃肿功能,让论坛回归交流本质。 如果你厌倦了discuz!/phpwind,不妨试试 Rabel ! 标签:开源社区 论坛社区 开源论坛
  • Apache ServiceComb 作为开源的Apache软件基金会孵化项目,加入方式和常规的加入开源社区的方式大体一致,一般为三个阶段:订阅并关注社区动态;开始在开源社区提交第一份代码;深度加入社区讨论并贡献。以下将详细...
  • 前言作为一名职业程序员,如果去除待遇,薪资等等的因素考虑,从纯技术的角度出发,如何才能达到一个比较高的境界呢,...这些人往往活跃于许多开源社区,比如Apache.下面有很多的子项目,都是非常棒的系统。所以本文
  • divertidalista:开源项目列表开源社区互联网
  • 开源社区合入patch的步骤

    千次阅读 2018-09-25 16:55:00
    以Ranger项目为例,说明开源社区合入patch的详细步骤。 1.reviews页面下载patch 进入到review页面: https://reviews.apache.org/r/67919/ 点击Download Diff下载patch, Chrome浏览器会下载0001-Ranger-2152.patch...
  • 爱客开源网简称爱客网(IKPHP),她是一个开源的社区程序;... 爱客开源社区程序: 架构:她是基于LAMP(linux Apache MySQL PHP)的技术架构体系; 框架:她是基于开源的ThinkPHP技术架构,实现MVC、缓存等框架设
  • 国外著名开源社区

    千次阅读 2017-03-06 13:29:24
    http://code.google.com/hosting/ http://www.codeplex.com/ http://sourceforge.NET/ http://www.codeproject.com/...1. Fedora开源项目社区 : http://fedoraproject.org/wiki/Communicate#IRC  描述:
  • 早在2年多前,笔者曾写过一篇关于如何参与到开源社区的文章:作为一名非Committer,如何向开源社区提交自己的代码,但是现在笔者重新阅读这篇文章,发现与其讲述的参与开源的方法论,还不如帮大家仔细分析其内在本质...
  • 如果你想要使用指标来追踪你的自由开源软件(FOSS)的社区。现在就面临着一个问题:我应该去追踪哪些指标呢? 要回答这个问题,你必须知道你需要什么信息。比如,你可能想要知道一个项目社区的可持续性。一个社区对问题...
  • 【CSDN 编者按】从 Eric Raymond 在自由软件的范畴下进一步提出 Open Source 开源软件至今,已经过去 30 余年,今天,开源不...
  • 如何向开源社区贡献代码

    千次阅读 2018-09-10 16:38:29
    一、流程图 首先,fork 源项目到自己的GitHub代码仓库,之后通过 fetch 同步代码; 然后,clone fork 的项目,本地修改后 push 提交(最好基于新分支); 最后,提交 pull request 等待...开源项目源地址&g...
  • Material风格的Quick组件,妈妈再也不用担心我的界面不好看了。https://github.com/papyros/qml-material
  • 开源社区“大牛”关于“开源”的大讨论

    万次阅读 热门讨论 2013-03-26 15:09:00
    开源软件在当今软件市场中的重要性逐渐凸显,...如何建立一个稳固发展的社区,让更多的开发者参与到社区中,是一个亟待解决的问题。 个人开发者该如何参与开源开源能够给予我们什么?……带着这些问题,我们邀请了开
  • 微信社区团购小程序,原生+PHP开发,功能全面,可二次开发。
  • 开源社区

    千次阅读 2013-11-02 12:23:37
    linux能开源那么普通的C51,msp430,stm32程序或者硬件资源为什么不能开源呢?基于这样一个考虑,我现在搭建了一个平台专门用来收集大家愿意开源的资源。
  • 我们将要建立的EasyDarwin开源社区

    千次阅读 2016-03-13 00:28:17
    从12年12月我开始建立EasyDarwin开源项目,已经三年多的时间了,从开始最简单的一个开源流媒体服务器项目,如今已经发展成为目前国内最大的一个流媒体开源社区,截至目前已经有十几个项目在Github进行迭代,而且随着...
  • 狮子鱼社区团购小程序V9.4.0 开源版 已经亲测.zip。让周边能够提供方便。哈哈,可以试试哦。社区团购 可以试试看,很不错的源码社区团购 可以试试看,很不错的源码社区团购 可以试试看,很不错的源码社区团购 可以...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 291,991
精华内容 116,796
关键字:

开源社区