首页 > 传媒 > 关键词  > 极狐GitLab最新资讯  > 正文

极狐GitLab|参与开源的正确方式:Upstream First

2021-12-30 19:43 · 稿源: 站长之家用户

近年来,“开源”成为了国内科技公司对外传播技术实力的热门词汇。从闭源到开源,从低调发展,到今年三月国家将“开源”写入十四五规划,这一年,我们共同见证了开源的历史时刻。毋庸置疑,开源正在加速成为中国未来技术发展的关键路径,而开源的发展和生态繁荣离不开多方力量(个人、企业、组织、高校等)的共同参与,一直以来,“Upstream First”被认为是参与开源的正确方式。

什么是Upstream?

Upstream(上游)这个术语通常指数据流,对应的是Downstream(下游)。对于开源项目来说,Upstream指开源参与者贡献开源项目以及此项目版本发布的地方。参与者在Upstream做贡献(功能特性、缺陷修复、决策制定等),最后流向(分发)Downstream,为用户所用。

为什么Upstream First很重要?

Upstream是开源项目贡献者共同协作的地方,功能特性的添加、缺陷的修复、相关决策的制定都发生在上游,其重要性不言而喻。Upstream First可以:

1、降低成本

如果采用Upstream First的模式,积极与Upstream进行沟通,将功能特性都贡献进Upstream,不管后续如何迭代发布,版本中都会包含有自己想要的功能特性。这就省去了维护臃肿的Downstream的成本。

2、保证软件供应链安全

软件安全攻击在近些年已经发生了转变,从对既有漏洞集中攻击的传统软件攻击转变为了软件供应链攻击,也就是说攻击开始向着Upstream转移。如果所有的贡献都在上游,缺陷、漏洞、补丁都发生在Upstream,只要Upstream的安全性能够得到保证,Downstream的安全性也将得到足够的保障。Upstream和Downstream的有效协同,将构建起软件供应链的安全屏障。

3、助力良好开源文化的构建

Upstream First一直是众多优秀开源项目践行的开源参与方式。坚持Upstream First的理念,有助于构建良好的开源文化,培养更多的开源人才,让个人、企业或组织从开源这种协作创新中获益。从而推动整个开源的良好发展。

极狐(GitLab):Upstream First的践行者

极狐(GitLab)研发团队从2021年初开始组建,虽然成立时间不长,团队规模也不大,但我们对GitLab上游社区的代码贡献量已经取得了非常不错的进展。以最近的一次GitLab release(GitLab14.5,发布时间为2021年11月22日)为例,GitLab上游社区总计有201个来自社区贡献者的代码合并请求(Merge Request)被成功合并,如下图所示:

而在这个release中,有40个来自极狐(GitLab)研发团队,如下图所示:

由此可知,在GitLab14.5release中,极狐(GitLab)的代码贡献量占到了社区总贡献量的20%。另外,在下图中我们可以看到各大公司对GitLab14.5所做出的代码贡献量(极狐(GitLab)暂未被统计在其中),图中显示的第二名,其代码合并请求数为10个,远低于极狐(GitLab)的40,据此我们可以推断在最近的GitLab release中,极狐(GitLab)研发团队对GitLab的代码贡献量已仅次于GitLab Inc. 达到了全球第二位。

另外,有两位来自极狐(GitLab)研发团队的工程师进入了个人贡献者榜单的Top10,其中曹宝栋以16次代码合并请求位于榜单的第二位。数据来源同上图。

极狐(GitLab)研发团队前端研发人员的Upstream First实践

极狐(GitLab)研发团队前端开发人员Jeremy Wu作为极狐(GitLab)Upstream First的践行者,在工作中发现了GitLab的一些security问题,直接贡献到了Upstream(GitLab),最后获得了Upstream的赞赏。以下是Jeremy Wu关于Upstream First的故事:

Jeremy Wu是极狐(GitLab)研发团队的前端开发人员,主要工作是前端方向基于XSS攻击的防范。简单的来讲就是“不相信用户的输入”,通过一系列方法将用户的输入“消毒”,并展示到用户界面上。关于安全性问题的发现,Jeremy Wu是通过issue里的 ~security标签来查找的,而且完成的安全性相关的代码修复都是基于~security和~easy for new contributor来做的。他以onboarding warm up为出发点,去找寻“潜在的安全问题”,这些安全性问题可能导致用户的输入内容劫持网站。

因为安全性问题的发现与修复是一个长期的过程,在代码提交的时候需要由专业的安全团队去做代码审查,防止有代码会存在潜在的安全性问题,在这个前提下安全团队会定期去检查代码和通过一系列的CI自动化扫描来查找是否有潜在风险。对于GitLab来说,更是有着严格的代码安全审核流程,而Jeremy Wu是非常熟悉这个流程的。他把security贡献的Upstream First归纳为三个步骤:

1. 首先需要去对应的issue下面找到对应的issue owner,然后询问是否可以着手修复这个对应的 issue,owner如果觉得可以会把这个issue assignee改为“你”,接下来就可以开始修复工作。而Jeremy Wu对修复流程也是驾轻就熟,他用如下三步就会完成问题的修复:

a. 找到未经“消毒”的内容片段;

b. 将该片段引入“消毒”代码;

c. 把“消毒”后的代码替换到源片段。

通过以上三步即可完成安全性问题的修复。

2. 如果在做的过程中遇到了一些技术性的困难,可以直接在issue里与issue的owner进行沟通,讨论如何解决。沟通大致为:

• 当前所遇到的问题的一段详细描述

• 如何复现遇到的问题

• 如果描述且复现步骤清晰,一般不需要经过第二轮沟通则可以解决。但在实施过程中,Jeremy为了更加熟悉GitLab本身,他选择先去找到代码对应的页面(找入口),然后通过上述方法给代码补丁之后再对对应页面进行观察,是否与之前渲染的内容有出入,若无出入则可以将代码提交,并进行Merge Request。

3. Merge Request

当Merge Request做好之后,GitLab Dangerbot会自动为“你”推荐对应的MR reviewer。一般来说是三个(frontend/backend/database + maintainer + security),然后Jeremy Wu会手动在MR的channel里ping上述的issue owner。如果在MR review的过程中有一些代码建议以及修改,在与对应的reviewer进行交涉以及代码修改之后代码即可以被合进Upstream的仓库。

一般来说,到这个阶段某个issue就可视为结束了。如果需要后续的跟进,Upstream owner会创建对应的 follow up issue来跟进。

Jeremy Wu一直使用这种工作方式与 Upstream(GitLab)进行协作,其出色的工作获得了Upstream的赞赏。

Upstream First:培育真正开源文化,构建良好开源生态

开源是开源参与共同体(community)通过协作创新的极致体现。也被视为能够解决国内“卡脖子”问题的有效手段。Upstream First理念是能够培育真正开源文化,构建开源生态的基石。

极狐(GitLab)自成立之日起就秉承“开源开放,人人贡献”的理念,鼓励所有极狐人积极参与开源贡献,努力践行Upstream First,期望能够通过极狐人的努力来夯实开源发展基础,完善极狐GitLab开源生态发展;打造开源软件品牌,构建生态完善的开源社区、开放联盟;推广普及开源文化,培养更多开源人才,扩大开源生态发展;促进产学研协同创新,释放“软件定义”创新活力,助力国内软件产业的开源开放、创新发展,提升国际竞争力,从而加速全球化布局。

推广

特别声明:以上内容(如有图片或视频亦包括在内)均为站长传媒平台用户上传并发布,文章为企业产品宣传内容,本平台仅提供信息存储服务,对本页面内容所引致的错误、不确或遗漏,概不负任何法律责任,相关信息仅供参考。站长之家将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。任何单位或个人认为本页面内容可能涉嫌侵犯其知识产权或存在不实内容时,可及时向站长之家提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明(点击查看反馈联系地址)。本网站在收到上述法律文件后,将会依法依规核实信息,沟通删除相关内容或断开相关链接。

  • 相关推荐
  • 大家在看
  • GitLab|解读高科技企业极狐GitLab)的“中外合资3.0”创新模式

    2021 年 3 月 18 日,极狐信息技术(湖北)有限公司正式宣布在中国武汉注册成立,这是全球知名开源软件开发和项目管理协同平台GitLab公司与独家领投方红杉宽带跨境数字产业基金(红杉宽带),以及高成资本共同成立的中国合资公司,同时更是首家在“中外合资3.0”(JV3.0)架构下进入中国市场并拥有国外领先技术和品牌独家授权的高科技企业......

  • 韩国检方已就UST稳定币崩盘而向Terraform Labs高管发起调查

    作为 TerraUSD(UST)算法稳定币及其姊妹代币 Luna 的发起方,Terraform Labs 高管正因两款加密代币的雪崩,而面临在韩国的法律诉讼...消息发布前一天,五位损失达 14 亿韩元(约 110 万美元)的韩国加密货币投资者,已经向俩人提起了欺诈和违反其它金融法规行为的刑事诉讼...与其它稳定币相比,UST 并无法定货币或现实资产提供支撑,而是通过销毁姊妹代币 Luna 来维持币值在 1 美元左右......

  • 削减开支 Meta将压缩元宇宙部门Reality Labs不打算裁员

    5月12日消息,据国外媒体报道,Meta Platform发言人证实,公司计划削减旗下硬件和其他元宇宙项目部门Reality实验室的开支,叫停部分项目并推迟实施部分项目,目前还不清楚哪些项目会受到影响,但并不打算裁员。Meta首席技术官安德鲁·博斯沃思(Andrew Bosworth)表示,Reality实验室无法再继续承担一些项目的成本,还被迫推迟其他项目,预计将在一周内宣布相关调整方案,但是公司并不打算裁员。这一消息对Meta的计划无疑是当头一棒。2021年,公司在Reality Labs上亏损了100亿美元,并且2022年计划雇佣的员工数量比前几年减少。Meta也曾表示

  • 快手推出首个云服务业务“StreamLake” 处于测试阶段

    据Tech星球报道,快手于近日推出了首个云服务业务“StreamLake”,目前处于测试阶段,并未正式对外开放...“StreamLake”主要的业务为音视频及AI服务,通过音视频技术和人工智能算法、云基础设施保障,为用户提供全链路智能化音视频解决方案...快手内部信显示,成立房产业务中心,负责满足快手用户的购房需求,帮助业主更高效的卖房,探索大宗线下交易业务在快手生态闭环的业务模式...

  • 红帽开源去年收购的Kubernetes安全平台StackRox

    去年1月,红帽宣布收购Kubernetes安全初创公司StackRox,该公司自2014年成立以来已经筹集了超过6500万美元。通过StackRox,该公司获得了一个针对云原生应用的复杂安全解决方案,然后将其重新命名为"RedHat Advanced Cluster Security (ACS) for Kubernetes",看上去名字又长又平淡。但现在,该公司正在以一个更好的名字为Kubernetes开源ACS:StackRox。红帽在今天的公告中解释说:"该项目旨在鼓励采用DevSecOps原则,有助于解决常见的云原生安全挑战,包括可见性、漏洞管理、配置管理、网络分割、合规性、威胁检测和事件响应,以及风险分?

  • Appwrite推出开源软件基金 致力帮助项目维护者与开源社区的健康发展

    尽管许多现代应用程序都依赖于部分开源组件来实现相关功能,但用爱发电的开源开发者们往往会陷入困境。为了化解这方面的风险,我们已在过去数月见到多个旨在维持开源供应链健康发展的项目 —— 比如谷歌与微软联手推出的 Alpha-Omega 。通过与项目维护者直接对接,这项合作将致力于在开源代码库中查找新发现的错误。与此同时,Spotify 也推出了一个 10 万欧元(10.9 万美元)的基金,以支持小型“独立”项目维护者。 现在,紧随早前发起的 2700 万美元的筹款活动,开源后端即服务(BaaS)公司 Appwrite,也为开源项目维护者推出了一个专门

  • Redmi Note 11T Pro+获DisplayMate A+认证

    卢伟冰表示,Note 11T Pro+荣获DisplayMate A+权威屏幕认证,成为首款通过这一认证的旗舰LCD手机屏幕,并且突破14项屏幕记录...核心配置上,Note 11T Pro+搭载口碑神U天玑8100,芯片基于台积电5nm工艺制程打造,由4颗主频为2.85GHz的Cortex-A78大核、4颗2.0GHz主频的Cortex-A55组成,GPU为Mali-G610 MC6......

  • 分层式PlayStation Plus最快下月推出

    亚洲市场最早可于5月23日(日本6月1日)开始部署分层式PlayStation Plus定期服务,即Essentials级、Extra级,以及带有云游戏功能的Premium级PlayStation Plus会员,年费分别为60/100/120美元。Essentials会员与现有Plus会员待遇一致,费用不变;Extra会员可下载多达四百款(老)游戏,比如《死亡搁浅》、《战神》、《漫威蜘蛛侠》、《死亡回归》等已上市多时的第一方或第三方作品。相较于Extra会员,最顶级的Premium会员的性价比反而更高,多花20美元年费即可额外下载另外340款PS4/PS5作品,且玩家可通过云游戏运行PS3作品,通过云游戏或?

  • WeLab Bank智能理财顾问服务进入试业阶段

    该行推出名为GoWealth智能理财顾问服务,现已进入试业阶段,供特定客户先行试用,预计于短期内正式推出市场,全面投入服务...GoWealth不同于市场上大多数风险导向(risk-based)型的财富管理服务,将以目标导向(goal-based)为产品主轴,向广大客户提供个人化的智能财富管理服务...”有鉴于此,WeLab Bank运用金融科技,填补理财服务供应上的缺口,为客户提供智能化的理财顾问服务,轻松实现理财目标......

  • 开源项目:用环信MQTT实现“世界频道”只需5分钟【附源码】

    说到“世界频道”想必大家都不陌生,常见的如王者荣耀的世界广播摇人组队以及最近兴起的Discord社区交友等等。究其目的就是在应用内让海量用户可以实时互动。有些开发者为了实现这种场景会选择聊天室方案来实现,但是这种方式存在一定的局限性,比如聊天室人数上限、海量消息处理等各种情况。当然如果有钱有颜,可以直接选择云厂商产品(比如环信的聊天室方案和超级社区),如果有才有time,也可以选择平替版MQTT实现方案。今天小猿将介绍用环信MQTT消息云实现应用内的世界频道,满满干货,不要错过~~使用MQTT实现世界频道-Demo效果演示

今日大家都在搜的词: