龙蜥开发者说:为爱发电!当一个龙蜥社区打包 Contributor 是怎样的体验?| 第16期

news2024/10/3 2:19:36

「龙蜥开发者说」第 16 期来了!开发者与开源社区相辅相成,相互成就,这些个人在龙蜥社区的使用心得、实践总结和技术成长经历都是宝贵的,我们希望在这里让更多人看见技术的力量。本期故事,我们邀请了龙蜥社区开发者 Funda Wang 来分享「 为爱发电!当一个龙蜥社区打包 Contributor 是怎样的体验?」。

欢迎阅读上期故事《6 年前打开的开源“潘多拉盲盒”,如今都解了哪些未知数》。开发者说系长期活动,对于积极投稿、多次分享的童鞋,我们还有神秘大礼鼓励!诚邀开发者们分享真实体验,以文会友、共同学习、一起进步。

本期故事主角:Funda Wang,龙蜥社区贡献者,在社区进行 RPM 打包工作,帮助 Anolis OS 23 成为真正意义上的自包含原生社区发行版。

和大多数开发者一样,我也是从大学的时候开始接触 Linux 及其他开源软件的。在我大四的时候,一边做着大量开源软件的翻译工作,一边搞着我的毕业课题“基于 Delphi 的 Gettext 实现”。不用搜索就知道这两个名词是什么意思的人,大多已经实现了财务自由,我最终只是选择了去一所与专业关系不大的学校工作。

在学校的工作,又不具体参与教学,下班之后的自由度很高。做开源软件翻译的时间长了,就会和软件开发者的交流频繁起来。那个时候我才真正体会到,软件开发者大多数时候并不直接接触用户,中间有很多人来帮助软件从代码交付到客户。而将源代码编译打包成为二进制包,这个工作在开源软件界已经细分成为了一个专门的工种。自此之后,我的工作兴趣和重心逐渐转移到了二进制包的打包,并先后在两个 Linux 发行版持续进行了五六年的打包工作

RPM 软件打包,主要内容是编写一个 SPEC 文件,将软件的源代码编译成二进制文件,然后交付给软件仓库。这个过程说起来简单,其实涉及的内容很多很杂。绝大多数时候,我们对于软件内部一无所知,这和技术 SIG(Special Interest Group)还是有区别的。我经手的软件包,少说也有二三百个,构建系统也是多种多样,不可能全部都明白是怎么回事。对于打包工程师来说,我只要知道软件开发者的编译文档是怎么写的,然后根据我的理解,将其转化为正确的 SPEC 文件,编译安装成功就可以了。当然,在打包过程中,我也发现开发者在构建系统方面的理解和使用水平参差不齐,和他们反复沟通就成为了不可避免的事情,毕竟我们需要共同努力协作才能给社区交付高质量的软件包。

2022 年,随着国内 Linux 社区的再次兴起,我沉寂已久的心又激动起来。龙蜥社区背靠多家国内外主流的操作系统厂商、芯片厂商、云计算公司,有望成为 Linux 社区的标杆。在参与过程中,我凭借多年的打包经验,迅速加入到 Anolis OS 23 的构建工作中来。社区里现有的小伙伴,可能年纪很轻,尤其对打包缺乏经验,那么我们大家就互相帮助,解决问题。

2023 年寒假期间,我按学校要求减少外出,在家有很多时间更新软件包,龙蜥社区的全职工程师利用春节休假也和我一起频繁审核仓库的合入请求,我们经常工作到深夜。前几天,我们几个核心打包骨干,在 OpenSSL、OpenSSH 等发行版核心加密组件的打包管理上,进行了多次富有成效的讨论,促使打包工作更加有序的进行下去。规划中的 Anolis OS 23 是完全自包含的原生 Linux 发行版,所以在打包工作上需要大量的人力和精力投入。

也许有些人会想问,志愿者与全职工程师有什么区别。我觉得最重要的区别是,志愿者真的是为爱发电。如果我累积的知识能够为一个有用的项目做出贡献,我的内心是有强烈满足感的,根本不会在乎物质上的报酬。

人人参与开源,不是一句口号,而是一种行动。或者更直白的说,反正大多数人都不懂打包,你如果懂了,你就是这个领域的大牛。最近很多小伙伴积极参与「人人都可以参与开源」活动中的随机试炼,发现了打包的很多问题,我也希望其中有一些人能够从发现问题变成参与解决问题,共同推动社区向更好的目标发展。

注*因作者自身工作情况限制,无法披露作者个人信息。作者是以个人身份参与龙蜥社区,并做出贡献。

相关链接地址参考链接可移步龙蜥公众号(OpenAnolis龙蜥)2023年2月23日相同推送查看。

—— 完 ——

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/369604.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

无线通信时代的新技术----信标( Beacon)

随着IT技术的发展,无线通信技术也在不断发展。 现已根据预期用途开发了各种无线通信技术,例如 NFC、WIFI、Bluetooth和 RFID。 车辆内部结构的复杂化和数字化,车载通信网络技术的重要性也越来越高。 一个典型的例子是远程信息处理。 远程信息…

注重邮件数据信息安全 保障企业稳步发展

近年来,世界各地的政府、银行、电信公司、制造业以及零售业等,不断发生数据泄密事件。 就企业而言,邮件数据很容易成为竞争对手或者诈骗者窃取的目标。 电子邮件是企业中一种重要的沟通工具但是随着网络攻击手段的不断升级,电子邮…

RN面试题

RN面试题1.React Native相对于原生的ios和Android有哪些优势?1.性能媲美原生APP 2.使用JavaScript编码,只要学习这一种语言 3.绝大部分代码安卓和IOS都能共用 4.组件式开发,代码重用性很高 5.跟编写网页一般,修改代码后即可自动刷…

关系数据库

关系的三类完整性约束实体完整性规则• 保证关系中的每个元组都是可识别的和惟一的 • 指关系数据库中所有的表都必须有主键,而且表中不允许存在如下记录:– 无主键值的记录– 主键值相同的记录• 原因:实体必须可区分• 就像实体-学生&#…

谷歌外推留痕,谷歌搜索留痕快速收录怎么做出来的?

本文主要分享谷歌搜索留痕的收录效果是怎么做的,让你对谷歌留痕技术有一个全面的了解。 本文由光算创作,有可能会被修改和剽窃,我们佛系对待这样的行为吧。 谷歌搜索留痕快速收录怎么做出来的? 答案是:通过谷歌蜘蛛…

XLSX.utils读取日期格式错误

表格中的时间为2023/2/16调用 XLSX.utils.sheet_to_json 读取到的时间为2/16/23时间格式不对-期待的时间格式为2023-02-16 00:00增加代码 cellDates: true, dateNF: "yyyy-MM-dd HH:mm" 解决问题readerData (rawFile) {this.loading truethis.isFile true // 流程结…

透射电镜测试样品的制备要求和方法

透射电镜(Transmission Electron Microscope,TEM)是一种高分辨率的显微镜,能够对样品进行高精度的成像和分析。为了得到高质量的TEM图像,样品制备是非常重要的。 ​ 样品选择 TEM样品应该是具有明确结构和化学成分的…

《分布式技术原理与算法解析》学习笔记Day21

分布式数据存储三要素 什么是分布式数据存储系统? 分布式存储系统的核心逻辑,就是将用户需要存储的数据根据某种规则存储到不同的机器上,当用户想要获取指定数据时,再按照规则到存储数据的机器中获取。 分布式存储系统的三要素…

苏州市软件行业协会第五届第四次理事会暨元宇宙专委会成立决议会在苏召开

2月17日,2022年度苏州市软件行业协会第五届第四次理事会暨苏州市软件行业协会元宇宙专委会成立决议会在西交利物浦大学顺利召开。会议选举西交利物浦大学担任苏州市软件行业协会元宇宙专委会第一届轮值会长单位。 苏州市工信局大数据处处长(信息化和软件…

python+pytest接口自动化(1)-接口测试基础

接口定义一般我们所说的接口即API,那什么又是API呢,百度给的定义如下:API(Application Programming Interface,应用程序接口)是一些预先定义的接口(如函数、HTTP接口),或…

MySQL锁篇

文章目录说明:锁篇一、MySQL有那些锁?二、MySQL 是怎么加锁的?三、update 没加索引会锁全表?四、MySQL 记录锁间隙锁可以防止删除操作而导致的幻读吗?五、MySQL 死锁了,怎么办?六、字节面试&…

【单例模式】单例模式创建的几种方式

一、饿汉模式饿汉模式是在类加载的时候就初始化了一份单例对象,所以他不存在线程安全问题。优点:不存在线程安全问题,天然的线程安全缺点:在类加载的时候就已经创建了对象,如果后续代码里没有使用到单例,就…

跟20%的同行去竞争80%的蓝海市场不香吗?

近年来,由于科技的发展等诸多因素,跨境电商行业有了长足的发展空间,不少人也有想要入行的打算。对于不是很了解这一行业的新手来说,如何选择合适的跨境电商市场与平台就显得至关重要。 一直以来,作为全球第四大电商市…

Android自定义View实现横向的双水波纹进度条

效果图:网上垂直的水波纹进度条很多,但横向的很少,将垂直的水波纹改为水平的还遇到了些麻烦,现在完善后发布出来,希望遇到的人少躺点坑。思路分析整体效果可分为三个,绘制圆角背景和圆角矩形,绘…

阅读HAL源码之重点总结

HAL封装中有如下特点(自己总结的): 特定外设要设置的参数组成一个结构体; 特定外设所有寄存器组成一个结构体; 地址基本都是通过宏来定义的,定义了各外设的起始地址,也就是对应寄存器结构体的地…

问答系统(QA)调研

引言 智能问答系统广泛用于回答人们以自然语言形式提出的问题,经典应用场景包括:智能语音交互、在线客服、知识获取、情感类聊天等。根据QA任务,可以将QA大致分为5大类,分别为: 文本问答(text-based QA&am…

使用Chemistry Development Kit (CDK) 来进行化学SMILES子结构匹配

摘要 SMILES是一种用于描述化合物结构的字符串表示法,其中子结构搜索是在大规模化合物数据库中查找特定的结构。然而,这种搜索方法存在一个误解,即将化合物的子结构视为一个独立的实体进行搜索,而忽略了它们在更大的化合物中的上…

码匠 × OpenAI :快速生成 SQL 语句,提升开发效率!

目录 使用 OpenAI 生成 SQL 码匠连接与集成 OpenAI 总结 关于码匠 在码匠中,编写 SQL 语句,并结合码匠一系列开箱即用的组件实现复杂的业务逻辑,是很常见的应用开发场景。然而,不同的数据库在 SQL 增删改查操作语法、类型字段和…

【C++进阶】一些小知识点

const限定符 用const给字面常量起个名字(标识符),这个标识符就称为标识符常量;因为标识符常量的声明和使用形式很像变量,所以也称常变量。声明方式: const int a 77; const float PI 3.14159f&#xff…

单核CPU, 1G内存,也能做JVM调优吗?

最近,笔者的技术群里有人问了一个有趣的技术话题:单核CPU, 1G内存的超低配机器,怎么做JVM调优?这实际上是两个问题。单核CPU的超低配机器,怎么充分利用CPU?单核CPU, 1G内存的超低配机器,怎么做J…