GitLab致开源项目维护者的一封信

2023-10-07 01:32

本文主要是介绍GitLab致开源项目维护者的一封信,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2016/02/gitlab-to-open-source-maintainer


前几日,GitHub上一些流行的开源项目维护者联合签署了一篇名为“亲爱的,GitHub”的公开信,表达了对GitHub某些行为的不满之情。接下来,GitLab官方也发出了自己的声音。他们在自己的博客上表达了希望GitLab成为任何软件项目的最佳托管场所的愿景,无论开源与否,无论项目规模是怎样的,他们都希望GitLab能在这个过程中助广大开发者一臂之力。GitLab官方表示,虽然GitHub开源社区联合签署的公开信并不是针对于自己,但他们还是对这封公开信中所提及的问题进行了深入的思考。最后,GitLab希望能与广大开发者分享他们的一些想法,以及为了让GitLab变得更好而做出的努力。

主要的问题

在记录Issue时常常会丢掉诸如重现步骤或是测试的版本等相关的重要信息。我们希望Issue能够拥有一些自定义字段,同时还能提供一种机制(比如说强制性的Issue模板,这也许可以通过在项目根目录下的newissue.md文件来实现,这也是个简单的解决方案)来确保每个Issue都能如此。

在GitLab中,你可以对Issue与合并请求设定模板。我们还计划添加多个模板,这样使用者就可以根据需要进行选择了。此外,GitLab还对自定义字段表示出了兴趣。对于模板使用new_issue.md文件是个好想法,我们也很乐意讨论这个问题。

Issue通常伴随着毫无内容的“+1”评论,这只会不断困扰项目维护者以及其他订阅了这个Issue的人。这些+1对于让维护者知晓这个Issue的影响范围有多么广是很有意义的,不过其缺点也是显而易见的。我们希望Issue能有一个不错的投票系统,对于那些诸如“+1”或是“me too”等无内容的评论会触发一个警告,并给出相应的指示告诉大家该如何使用投票机制。

GitLab目前有一个投票系统,它会自动将+1转换为一个投票。在我们自己使用GitLab作为问题追踪或是特性投票功能时,这对于我们来说是个优先级很高的事情。我们还计划对投票进行一些改进,这里也欢迎大家提出更多有价值的想法以及合并请求。

很多时候,人们在创建Issue与Pull Request时并未遵守CONTRIBUTING.md贡献指南,这是由于在创建Issue时,“贡献指南”并不起眼所导致的,同时也与该指南包含了大量与Issue并不相关的信息有关(比如说关于如何Hack项目的信息等)。维护者应该能在仓库中配置一个文件,该文件显示在新的Issue/PR页面的顶层位置而不是一个链接的形式。维护者可以选择在里面插入内容,当然也可以在必要时使用指向其他页面的链接。

目前,我们提供了对CONTRIBUTING.md的链接,你可以在创建Issue与合并请求时使用。还可以使用Issue模板告知人们具体的规则。我们对于在GitLab中为Issue添加自定义的贡献文件很感兴趣。

对于具体建议的响应

在“亲爱的,GitHub”的公开信中包含了长长的建议列表。若想了解我们对于每个建议的回应,请在GitLab.com上查看。其中有一个Issue被反复提起多次,那就是无法创建合并提交。在GitLab中,你可以使用快进合并或是对合并请求进行变基来间接实现合并提交。

我们是如何构建GitLab的

GitLab的构建是开放的。我们对GitLab变化的决策、疑虑、争论与新特性等等都可以在我们的仓库中看到(主要是GitLab CE与GitLab EE)。每个人都可以自由地提交、创建新Issue、投票以及对GitLab的开发做出贡献。我们有着短期与长期的目标,这些目标都可以在仓库的Issue中与网站的页面上看到。如果想要改变某些东西,请创建Issue或是提交合并请求。你可以选择自己实现,也可以让其他人帮你做。好的想法总会得到人们的关注。

GitLab的这份声明发出后,很快就在国外各大社区中引起了人们的广泛关注,也有很多人表达了自己的看法。

Mdw说到:

我最近在GitLab上创建了一个iOS App,GitLab的工程师的表现让我感到震惊,他们很快就对我所提交的Issue作出了响应,并且每次发布时都改进了API,我真的没有想到他们能做到如此之好的程度。GitLab有一点做得特别好,那就是每个月的22号都会有一个发布,因此你可以进行持续的改进。如果你认为GitLab不适合于你的开源项目,那你也可以在其Issue追踪器上与GitLab团队好好聊聊,问题很快就会得到解决!

lexicality说到:

在过去一年多的时间内,我们一直在组织内部使用GitLab CE。我们需要一个on-premises解决方案,这是公司的策略所决定的。到目前为止,体验是非常棒的。在EE中,我们所需要的一切都在,我们最终也选择了EE。我们还有专门的dev-ops。此外,EE的价格相比于GitHub Enterprise来说也是很给力的。从我个人角度来说,我认为GitLab做得非常不错。

akerro说到:

我所在的公司有将近300名开发者,准备在未来的几个月内迁移到GitLab上。今天,公司的CTO/PM向我们分享了他们对于GitLab的看法,他们觉得我们的做法是非常正确的。我是GitLab的老用户了,使用GitLab也有好几年的时间。从我个人的角度来说,我喜欢GitLab要胜于GitHub,其中一个重要的原因就是我担心GitHub有太多的项目,对OSS控制得过多。此外,我也不喜欢他们的CoS。GitLab,好运,我看好你!

关于GitLab

GitLab包括Git仓库管理、代码审查、问题跟踪、Wiki等功能。GitLab搭配GitLab CI,能更简单地实现持续集成和自动部署。目前的GitLab提供了社区版(CE)与企业版(EE)。社区版可从网络免费下载并且是开源产品,它出自一个由700多人组成的社区。企业版提供订阅服务,并且更深层次地集成了LDAP/AD、Jira与Jenkins等。

这篇关于GitLab致开源项目维护者的一封信的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/155216

相关文章

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

SpringBoot项目是如何启动

启动步骤 概念 运行main方法,初始化SpringApplication 从spring.factories读取listener ApplicationContentInitializer运行run方法读取环境变量,配置信息创建SpringApplication上下文预初始化上下文,将启动类作为配置类进行读取调用 refresh 加载 IOC容器,加载所有的自动配置类,创建容器在这个过程

Maven创建项目中的groupId, artifactId, 和 version的意思

文章目录 groupIdartifactIdversionname groupId 定义:groupId 是 Maven 项目坐标的第一个部分,它通常表示项目的组织或公司的域名反转写法。例如,如果你为公司 example.com 开发软件,groupId 可能是 com.example。作用:groupId 被用来组织和分组相关的 Maven artifacts,这样可以避免