当前位置: 首页 > article >正文

夜天之书 #103 开源嘉年华纪实

上周在北京参与了开源社主办的 2024 中国开源年会。其实相比于有点明显班味的“年会”,我的参会体验更像是经历了一场中国开源的年度嘉年华。这也是在会场和其他参会朋友交流时共同的体验:在开源社的 COSCon 活动上,能够最大限度地一次性见到所有在中国从事开源相关工作的人。

我在本次会场上有两个演讲,分别是 Rust 分论坛上分享的《高性能 Rust 编程:如何减少数据拷贝和并发开销》,以及开源运营分论坛介绍的《商业开源如何重塑社群信任》。本文将简要介绍我的分享内容,以及参会的见闻纪实。

开源社的午后香茗

开源社的所有成员都是志愿者。也就是说,开源社没有任何一个全职员工,所有成员都是依靠对开源的热爱自愿贡献的。我从 2022 年开始志愿参与开源社的工作和活动,从 2023 年开始参与顾问管理委员会提供建议。

今年的 COSCon 正好也是开源社成立十周年的嘉年华,在活动现场作为组织成员有幸收到了开源社准备的一盒普洱茶:

1f744b1912a56b527e1a8e94031d4db2.jpeg

午后香茗

9923d89a7cce1333b318be7b0c2af386.jpeg

茶客基操

作为一个典型潮州人和饮茶爱好者,这是我本次活动最满意的收获。可以看到,从会场回来三天,每天一颗普洱茶,正好。

主题分享:高性能 Rust

第一天下午我分享的主题是《高性能 Rust 编程》。

我从今年初开始把 Rust 语言作为我的主力编程语言。这主要是我观察到我长期投入的数据系统领域,出现了一个由于云基础设施的崛起带来的创新机会,而这个创新机会的探索者们大多采用 Rust 语言编程和构建生态。于是,我也加入其中。

b218ee8966045f175ff5f0798e2bf6d4.jpeg

我的 Rust 码力值

可惜的是,截止我演讲的前一刻,我的 Rust 代码量仍然以 1% 的微弱差距落后于我早年编写 Java 大数据系统时生产的代码。

不过,在过去的一年里,我充分体会到了 Rust 生态的勃勃生机,全面投入到生态共建当中,包括:

  • 给 Rust 标准库提交补丁,增强标准库的能力:PR-114788[1] & PR-123600[2]

  • 给依赖的 Rust 项目积极打补丁,修复问题和提高性能:POEM-844[3] & ARROW-6452[4] & ARROW-6652[5]

  • 发起或维护 Rust 生态缺失的开源公共库:Apache OpenDAL[6] & FastLabs[7] & Mea[8]

本次分享的内容就是在这些工作当中积累的经验,每一页 PPT 都是朴实无华地贴代码讲代码(bushi)。主要介绍的两个核心论点:一个是在 Rust 所有权系统下,如何规避常见的由于绕过所有权挑战带来的拷贝开销;另一个是破除 Async Rust 的性能迷思,介绍其远不及完善的应用现状。

目前,关于 Rust 编程的最佳实践,包括工程组织、接口设计和性能优化,还处于一个激烈讨论的环境中。整个 Rust 生态的繁荣和完整程度,我经常把它比作 Java 1.5-1.7 时代,即当今统治生态的类库和软件尚未诞生或方兴未艾。应该说,Rust 生态的广阔天地,大有可为。任何想要赶上 Rust 主导的软件发展浪潮的人,现在上车还为时未晚。

主题分享:商业开源

第二天下午,我在开源运营和开发者关系论坛分享了《商业开源如何重塑社群信任》的主题。

e5472c2b28786856601961a9422dc606.png

b216997d2b4e95ed3b4a3dc9c95bb91a.png

f5bc9baedf71b0e99c4ccc03a65b969f.png

74264d642d79fb1a721c310f0f964d14.png

这个话题其实不太应该出现在“开源运营和开发者关系”论坛,而是比较适合一个独立的“商业开源”论坛,即讨论在商业活动中如何利用开源要素创造优势,还有营利性组织如何做出开源贡献以及背后的原因。

我在做这个分享的时候更多像是对自己近年来的思考做一个总结,从开源项目的分类学,商业开源的方法,到商业开源和“开源商业化”的思辨。这大概会导致信息量太大而听众难以接受。

我目前在实践自己分享里提到的商业开源理念,也颇感有趣的看到我对“开源商业化”的批判接连被印证。或许以后我再讲这个话题的时候,就不会像这次一样做一个总纲式的分享,而是抽取一两个典型的案例和瞬间来传播。

663520f7bf7887cf633449f4e0c38581.jpeg

承接上一个主题讲的这一张 PPT 实际不在演讲的 PPT 里🤣

开源社的下一个十年

这个话题其实我讲不了(笑)。只是在这里介绍一下我所认识的开源社,它是做什么的以及未来可能会做什么。

近年来,开源社除了一年一度举办 COSCon 以外,还联合其他社群伙伴推出了《中国开源年度报告》[9]、中国开源先锋[10]和中国开源码力榜[11]等报告和评选活动,丰富了开源社作为一个公益团体在开源主题上传递出的观点。

但是,相比起开放源代码促进会(OSI)[12]和 TODO Group[13] 这样,在通用开源和企业开源领域能够提出见解和倡议的组织,开源社在掌握开源话语权这个议题上显得比较弱势。随着中国开源力量的崛起,如何引导各方参与者正确认识开源,在开源环境当中高效协作创新,将是一个无可回避的问题。我热切期望开源社能够发挥自己所在生态位的优势,联合开源社的志愿者,向社会不断输出批判性观点,帮助中国开源茁壮成长。

此外,开源社从去年开始,成立了一系列开源社城市社区(KCC)[14],包括北京、上海、广州、深圳、成都、杭州、长沙、大连、南京和新加坡等。在一年一度的开源嘉年华之外,日常组织起中华开源的 Meetup 活动,日积月累的提高开源理念在群众当中的影响力。如果任何个人或组织想要在本地聚集开源人办活动,都可以考虑联系 KCC 合作落地。

开源嘉年华:交个朋友

最后,我想以“交个朋友”作为本次开源嘉年华参与体验的总结。

这一次 COSCon 的绝大部分分论坛,都是由开源社和一个或多个合作社群共同举办的,所以才能攒成 21 个论坛的盛况。

在主会场上,我能看到开源公益的从业者分享他们的故事,看到青少年开源开发者介绍自己的作品,看到开源人展现自己多彩的生活。

开源从来都是一个广阔的概念,秉持着开放和合作的基本理念在不同的细分领域创新价值。但是,开源也只是每个开源人生活当中的一部分。本届开源嘉年华的主题“开源新生活(Open Source, Open Life)”,传递出的是开源社一直以来的人文关怀。

希望所有参与开源的贡献者,都能在开源共同体当中认识新朋友,开心开源,在开源生活中收获快乐 :D

参考资料

[1]

PR-114788: https://github.com/rust-lang/rust/pull/114788

[2]

PR-123600: https://github.com/rust-lang/rust/pull/123600

[3]

POEM-844: https://github.com/poem-web/poem/pull/844

[4]

ARROW-6452: https://github.com/apache/arrow-rs/pull/6452

[5]

ARROW-6652: https://github.com/apache/arrow-rs/pull/6652

[6]

Apache OpenDAL: https://github.com/apache/opendal

[7]

FastLabs: https://github.com/fast

[8]

Mea: https://github.com/tisonkun/mea

[9]

《中国开源年度报告》: https://kaiyuanshe.github.io/2023-China-Open-Source-Report/

[10]

中国开源先锋: https://kaiyuanshe.cn/article/2023-China-Open-Source-Pioneers-33-Open-Source-People

[11]

中国开源码力榜: https://opensource.win/

[12]

开放源代码促进会(OSI): https://opensource.org/

[13]

TODO Group: https://todogroup.org/

[14]

开源社城市社区(KCC): https://kaiyuanshe.cn/community


http://www.kler.cn/a/384315.html

相关文章:

  • Docker基本概念汇总(更全面了解Docker)
  • 【测试】【Debug】vscode中同一个测试用例出现重复
  • 探索开放资源上指令微调语言模型的现状
  • 【LeetCode】【算法】283. 移动零
  • vue组件在项目中的常用业务逻辑(2)
  • 使用 RabbitMQ 有什么好处?
  • Chromium127编译指南 Mac篇(六)- 编译优化技巧
  • 苍穹外卖 管理端订单分页查询
  • 【Android】Service
  • 在数据抓取的时候,短效IP比长效IP有哪些优势?
  • ESP32 gptimer通用定时器初始化报错:assert failed: timer_ll_set_clock_prescale
  • 【数字图像处理+MATLAB】对图片进行伽马校正(Gamma Correction):使用 imadjust 函数进行伽马变换
  • 由中文乱码引来的一系列学习——Qt
  • 『Django』初识前后端分离
  • 【CentOS】中的Firewalld:全面介绍与实战应用(上)
  • 基于Spring Boot的船舶监造系统的设计与实现,LW+源码+讲解
  • JavaFx -- chapter06(UDPSocket)
  • unplugin-auto-import 库作用
  • ubuntu22.04 安装ffmpeg
  • 【数据集】【YOLO】【目标检测】道路垃圾识别数据集 8805 张,垃圾堆放识别数据集,YOLO垃圾识别算法实战训练教程!
  • 《TCP/IP网络编程》学习笔记 | Chapter 4:基于TCP的服务器端/客户端(2)
  • Nextjs14记录
  • 文件系统和日志管理 附实验:远程访问第一台虚拟机日志
  • Java:网络原理-TCP/IP
  • TARE-PLANNER学习记录
  • Chat GPT英文学术写作指令