标签 开源 下的文章

HashiCorp 放弃开源原则这件事并无新意。

在加利福尼亚蒙特利召开的 Linux 基金会成员峰会 Linux Foundation Members Summit 上,最受关注的议题是人工智能和开源。而第二重要的话题涉及到 HashiCorp 放弃 Terraform 的 Mozilla 公共许可证 Mozilla Public License (MPL),转而采用 商业源代码许可证 Business Source License (BSL)1.1,以及由此引发的 OpenTofu 项目复刻。因 Linux 基金会对 OpenTofu 项目的支持,HashiCorp 的 CEO David McJannet 表现出极度的不满。

关于许可证切换、源代码复刻以及由此产生的争议,火热的讨论并未减少。但在我看来,有一点被人们忽视:人们一直误认为这是新鲜事物,实则不然。

之前已经有过不止一次,甚至不止十次,公司将开源代码转变为专有程序,或者隐藏在一个专有的包装中。

首先,人们经常拿走开源代码,但却抹去其许可证信息,然后就此继续下去。虽然这并不一定构成窃取行为,实际上,有些许可证,比如 MIT 许可证和两句版 BSD 许可证,完全允许公司和开发者在他们的专有程序中使用这些代码。例如,我们都熟知以下基于 MIT 许可证的程序,比如 Angular、.NET、Node.js、Ruby on Rails 和 React。

其次,有一些程序最初以开源的形式开始,但随着时间的推移,原始所有者和许可证规则发生了变化,以至于许多人甚至都不知道它们曾经是开源的。举例来说,苹果公司的 macOS 就是其中的一个典型。

你是否知道 macOS 曾经是开源的?确实,它曾经是。

macOS 的核心基于 Darwin,这是一种 Unix 操作系统。 史蒂夫·乔布斯 Steve Jobs 回归苹果公司时,引入了他的基于 Unix 的 NeXTStep 操作系统。到了 2000 年,苹果公司逐步放弃了他们的经典 Mac 操作系统,转而支持 macOS Darwin。除了来自 NeXTStep 的部分,Darwin 还大量借鉴了开源的 FreeBSD 和 Mach 操作系统的设计。

如今,如果你深入研究,仍然可以在 macOS 中找到 Darwin,它在 苹果公共源代码许可证 Apple Public Source License 2.0 下开源。虽然还有一项名为 PureDarwin 的工作正在努力制作一个独立的 Darwin 操作系统,但进展甚微。在这个过程中,苹果公司巧妙地减弱了一个重要的开源操作系统的影响力。更为常见的方式是开源软件以 “ 开放核心 open core ” 的方式融入商业程序中。简而言之,开放核心,与开源不同的是,这是一种商业模式。在这种模式中,公司基于一个免费的、开源的核心程序,然后通过加入商业版本或者专有的附加组件来发展。

此术语由 Andrew Lampitt 在 2008 年提出,虽然代表的并不是一个新的概念。他提出这个术语是为了替代混乱的术语 “ 双重许可 dual licensing ”。这个命名更改是为了 “消除误解,推广一个对于开源社区、付费客户和供应商都有利的商业模式”。同时,其目标也是为了消解我们现在在 HashiCorp 看到的 “ 诱捕并切换 bait and switch ” 类似的争议。

尽管我们可以辩论这是否是一个 “出色的商业模式”,但无可争议的是它已经成为一个非常流行的模式。然而,近年来,我们看到的趋势是,许多企业从开放核心模式退回到 源码可得 source-available 模式。在源码可得模式下,你可以查看所有的代码,但在某些情况下你不能修改或使用它。

例如,MongoDB 创建 了一种非开源许可证,即 服务端公共许可证 Server Side Public License (SSPL),以应对那些通过提供自托管版本和服务从其代码中获利的超级云计算公司。

并非只有 MongoDB 做出了这样的决定。Elastic 在开源核心模型运作的很好,但当亚马逊 AWS 等公司通过提供 ElasticSearch 服务赚取巨额利润时,Elastic 在 2021 年做出了 策略调整。它放弃了开源的 Apache 2.0 许可,转而采用非开源的 SSPL 和 Elastic 许可证。

Elastic 和其他几家公司(如 Redis 等)的此类做法,主要目的是阻止云服务公司将他们的开源程序作为一种服务而提供。然而,这个做法反过来对 Elastic 产生了负面影响,因为 AWS 对这个项目进行了 复刻。这一切是否让你想起了 HashiCorp?是吧。

尽管这些向非开源许可的转变惹怒了一些用户和很多开发者,但这些公司的业绩仍表现相对稳定。你可能对此感到不满,但事实是,对于这些公司来说,这种转变在一定程度上取得了成功。

接着,我们来看红帽公司的情况。红帽公司对其红帽企业 Linux(RHEL)代码的使用 施加了限制,只允许其客户使用。几十年来,红帽公司一直在权衡作为开源领导者与处理 RHEL 克隆产品(例如 CentOS,以及最新的 AlmaLinux 和 Rocky Linux)的关系。

随着时间的推移,红帽公司对与他人共享其代码表现出越来越大的犹豫。现在,你可以(且很多人确实正在这么做)辩论红帽公司不再是一个真正的开源公司。批评者认为,红帽公司虽然仍然严格遵守 GNU 通用公共许可证(GPL)的条款,但已经失去了开源精神。

虽然 RHEL 和与其相关的一系列程序仍在产生可观的利润,但红帽公司希望能够从中获取更多的收益,因此,它也开始逐步偏离开源原则。

实际上,所有这些案例的共同之处在于:对更大财富的欲望。如圣经所言,“贪财是万恶之根”。我不确定这一句话的真假,但我确实知道,对金钱的热爱和开源原则很难两全。

对于从开源软件中赚钱并没有错误之处。 理查德·斯托曼 Richard M Stallman (RMS)曾言:“工作寻求报酬,或者寻求尽可能增加收入,这并没有错,只要不采用破坏性的方式即可。” 然而,在 RMS 看来,“通过限制它们的使用来从程序的用户中挤取金钱,是一种破坏行为。”

尽管在现今开源软件与商业实践交汇的情况下,RMS 的观点可能并不如过去那样深受欢迎,但他仍然拥有众多的支持者。

(题图:MJ/b06e9a62-5c0d-49c5-a7b3-fd5af60ac0b1)


via: https://www.theregister.com/2023/10/27/open_source_vs_sort_of_open_source/

作者:Steven J. Vaughan-Nichols 译者:ChatGPT 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

他还称,Linux 基金会接受 OpenTofu 的决策是一个 “悲剧”。

(本文节略自 The Stack 的文章

HashiCorp 的 CEO 在该公司本月的用户会议上为其改变许可证的做法辩护。他预测,除非社区重新思考如何保护创新,否则硅谷将 “不再有开源公司”。

作为 IaaC 的先驱者,他在 HashiConf 用户会议上介绍了一系列产品了更新和新特性,这是在该公司将其所有产品的版权协议从 Mozilla 公共许可证 Mozilla Public License (MPL)更改为 商业源代码许可证 Business Source License (BSL)后不到两个月时间所做的举措。

HashiCorp 当时表明,“除了在与 HashiCorp 商业产品竞争的产品中托管或嵌入软件外,所有生产用途都不受限制,无论是自我管理的还是托管的。”

然而,此举引起了开源社区的强烈反响。在 Linux 基金会的支持下,一个名为 OpenTofu 的 Terraform 分支很快地被发布出来。

HashiCorp 的 CEO Dave McJannet 本周表示,改变许可证的决策是必要的,因为 HashiCorp 的技术对现代云服务起到了关键的作用,随着全球最大的公司将其业务从本地技术转移到云服务,这种关键性只会越来越强。

尽管开源社区猛烈批评了 HashiCorp 改变许可证的决定,但 McJannet 说其最大的客户对此的反应却是,“太好了,因为你是我们的关键伙伴,我们需要你发展成一个大公司。”实际上,他表示,在很多反馈中客户表示,“我们希望你早点这么做”,并补充说,这个决定在公告之前就已经与主要的云供应商进行了讨论。

McJannet 说,“过去三四年间,每个达到一定规模的供应商都已经得出了同样的结论。……这只是意识到,鉴于市场现在的激励机制,开源模型必须演进。”

他声称,过去成立开源基金会的模式现在已经不合时宜了,这些基金会都被传统供应商所主导。以 Hadoop 为例,他说,“基金会就是大公司免遭创新影响的一种机制,如果 Hadoop 流行起来,IBM 这样的公司可以把它拿来,因为他们是基金会的一部分,他们可以以更低的价钱卖出去。”

将开源产品放到 GitHub 上 “的确非常好”,但是,一旦某个项目变得流行,“克隆供应商就开始竞相复制”。

他声称,“我们发出公告后不久,我就开始接到来自硅谷每一个开源创业公司的电话,他们都告诉我,‘我认为这才是正确的模型’。”

“确实是悲剧……”,他感叹道,Linux 基金会接受 OpenTofu 的行动,为我们揭示了一个严重的问题。“如果基金会只是简单地接收并给它找个归宿,那对开源的未来将带来怎样的影响呢?这对开源创新而言,无疑是一场悲剧。我可以坦诚告诉你,如果这样的事情真的发生,硅谷将再也看不到开源公司的身影。”

他更具体地指出,许可证的改变是他们为赢取企业信任而设计的策略的一部分。

“让其他供应商误解我们的产品是一个巨大的风险,对吗?这对我们的长期发展是不利的,对我们的客户而言也同样危险。”

他进一步解释说,赢得这些大型组织的信任是促使 HashiCorp 当时选择上市的一个驱动力。“我们并不全然需要钱,我们之所以这么做,是想要向公众表明,我们有充足的资金,可以成为他们长期信任的合作伙伴。”

他补充说,他们提议继续和受许可证更改影响的四个主要的公司合作,“只需要你们承担一部分研发成本。然而他们却拒绝,声称要另起炉灶,这对我们来说也没问题。”

(题图:MJ/5cdb5ba0-a7fa-4a29-b3dd-ef0d07bad575)


via: https://www.thestack.technology/hashicorp-ceo-predicts-oss-free-silicon-valley-unless-the-open-source-model-evolves/

作者:JOE FAY 译者:ChatGPT 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

HashiCorp CEO 称硅谷将不会再有开源公司

之前,我们报道过,HashiCorp 将其 Terraform 等产品从开源的 MPL 许可证改为 MariaDB 的 BSL 许可证,新的许可仅限于 “非生产使用”。尽管开源的拥护者抨击了 HashiCorp 的许可证转换,并成立了 OpenTF 基金会,但 HashiCorp CEO 戴夫·麦克简内特 Dave McJannet 却用 “太好了” 来形容其最大客户的反应,他声称很多反馈都是“我们希望你们早点这么做”。他还补充说,他们宣布之前已经与主要云计算厂商进行了讨论,“在过去的三四年里,每一个达到一定规模的厂商都得出了同样的结论。”他认为,历史上的开源基金会模式已经被打破,因为它们被传统供应商所主导。“它们是大公司保护自己不受创新影响的一种方式,”一旦某个项目流行起来,“克隆厂商就会开始抢占这些东西”。他批评了 Linux 基金会接纳 OpenTF 基金会的做法,“这对开源创新来说是个悲剧。……那样硅谷就不会再有开源公司了。”

消息来源:The Stack
老王点评:我想说,这就是得了开源的利,而砸开源的锅。一开始开源得到了社区贡献和支持,壮大后就嫌弃黄脸婆了。但是,公平的说,为什么会有大量的项目会在壮大后抛弃开源?是开源模式无法持续,还是新的形势下,开源模式也需要新的进化呢?

攻击者在 Binance 区块链上托管恶意软件

通常,被攻击者入侵的网站会向访问者分发恶意软件,而这些恶意软件在被发现后会被清除。但安全专家发现,攻击者开始通过将恶意文件托管在去中心化的、匿名的区块链上,使这些恶意软件不被安全专家或执法部门清除。攻击者在 Binance 智能链(BSC)上创建一个新的智能合约,包括一个由攻击者控制的区块链地址,以及一组定义合约功能和结构的指令。当被攻击的网站查询该合约时,它会返回一个被混淆的恶意有效载荷。由于区块链的可公开访问性和不可更改性,这些恶意代码无法被清除,攻击者从而获得一种免费的、无跟踪、稳健的方式来下载恶意有效载荷,而且不会留下痕迹。

消息来源:Krebs on Security
老王点评:我是真没想到区块链被用在这个用途上,还好 BSC 不够去中心化,尚有一定手段可以缓解,但是这反而有点让人哭笑不得。

KeePass 被攻击者用国际化域名编码钓鱼

安全公司警告,攻击者正通过谷歌广告引诱用户访问开源密码管理器 KeePass 的钓鱼网站。攻击者使用国际化域名编码(Punycode)注册了 KeePass 的钓鱼网站 ķeepass[.]info,它和 KeePass 官方域名在视觉上的差异非常小,无疑会让很多人上当。

消息来源:Malware Bytes
老王点评:国际化域名用的很少,但带来的麻烦却很多。不过,这种钓鱼手段应该可以被浏览器很好的防御。

只有约 11% 的开源项目得到了积极维护

Sonatype 的《年度软件供应链分析报告》发现,开源项目的维护率在下降。在对 117 万个开源项目进行了评估后,报告显示今年仅有 11% 的项目在积极维护,比去年下降了 18%。调查主要涉及四个生态系统:通过 NPM 维护的 JavaScript、通过 Maven 维护的 Java、通过 PyPI 维护的 Python 和通过 NuGet 维护的 .NET,此外还包括一些 Go 项目。此外,报告还发现,67% 的受访者表示,他们不认为自己的应用程序依赖于已知的漏洞库;39% 的组织在一到七天内发现漏洞;39% 的企业需要一周以上的时间来缓解漏洞;每 8 次开放源代码下载中就有 1 次存在已知风险,但 96% 的漏洞下载版本都有可用的修复版本。

消息来源:Info World
老王点评:开源项目就像野草,随时生,随时长,随时枯荣。

谷歌人工智能 “绿灯计划” 加速交通、降低油耗和碳排放

谷歌的 “绿灯计划”通过对地图数据的机器学习来优化绿灯时间,减少车辆的空转时间以及刹车和加速次数。谷歌 2021 年首次在四个十字路口进行了试点测试,测试中观察到燃料和十字路口延迟时间减少了 10% 到 20%。谷歌称,“早期的数据显示,我们有可能减少 30% 的停车位,……在曼彻斯特测试的排放水平和空气质量提高了 18%,……帮助减少了 240 多万吨碳排放,相当于一整年减少了约 50 万辆燃油汽车”。

消息来源:Engadget
老王点评:这就是智慧交通该做的事情,随着车机联网普及,会有更智能的交通管理。

微软计划放弃使用 NTLM 验证方式

20 多年来,各种版本的 Windows 一直使用 Kerberos 作为主要的身份验证协议。不过,在某些情况下,操作系统必须使用另一种方法,即 NTLM(NT LAN 管理器)。NTLM 的优点是因为它不需要本地网络连接到域控制器,它也是使用本地账户时唯一受支持的协议。这些优点导致一些应用程序和服务硬编码使用 NTLM。但 Kerberos 提供了更好的安全保证,而且可扩展性更强,这也是它现在成为 Windows 首选默认协议的原因。今天,微软宣布将扩大 Kerberos 的使用范围,并计划最终完全放弃使用 NTLM,微软将其称为 “Windows 身份验证的进化”。

消息来源:Neo Win
老王点评:NTLM 也不够 NT 了。

开源在发展中国家面临着许多困难,这些困难使人们对开源的看法以及与开源的联系变得不准确、不贴切。
编者按:本文作者 Ahmed Sobeh 是 Aiven 开源项目办公室的开源工程经理。他来自埃及,在开源领域有各种经验。本文是他对埃及的开源文化的见解。

当我回国,和科技行业或其他行业的人谈起我的工作和我每天参与的话题时,我通常会对 开源计划办公室 Open Source Programs Office (OSPO)这个想法感到困惑。一家公司在没有明显的直接经济利益的情况下为开源项目做出贡献,这种概念在文化上很难理解或解释。

作为一个在发展中国家出生并成长的人,我理解并赞同这个观点。曾几何时,我对开源软件的唯一理解是,它是一种无需付费、无需等待特定问题或附加功能发布即可使用的软件。我可以自己在本地做任何我需要的事情。

在发展中国家,开源面临着许多困难,这些困难使人们对它的看法和相关印象变得不准确和脱节。我将在本文中讨论这些问题。

发展中国家的开源挑战

开源在这些地区面临的挑战主要分为三个部分:

  • 社会与文化
  • 资源与基础设施
  • 政府管理

社会与文化

众所周知,科技中的文化,特别是其中的开源部分,源自它所存在的社会文化。这就是为什么在当今世界,开源更有可能在世界较发达地区得到维持和维护。

但是,试想一个完美的社会,一个最适合开源发展、维持和维护的社会。这个社会的文化是什么样的?其主要特征是什么?

开放和透明

开源想要发展,社会文化必须尽可能开放和透明。信息必须可以自由公开地获取,这在许多欠发达地区是一个巨大的问题。信息往往受到繁文缛节的制约,普通公民难以获取,更不用说那些试图为开源做出贡献的人了。

自由

“自由”这个词有许多不同的含义与解释。有言论自由、表达自由、选择自由、信仰自由、宗教自由等等。在本文中,我最关心的自由方面是在没有更高层机构干预的情况下建立新社区和组织的能力。这是开源的本质。分布式协作模式是一种高效的协作模式,在这种模式下,大型团体在没有强大的中央权威指挥的情况下开展合作。这是大多数这些地区面临的另一个重大挑战。新的社区和组织往往会受到质疑、密切监视,不幸的是,在某些情况下,甚至会因为害怕可能出现的新思想或其他原因而遭到起诉并最终被关闭。

充满活力

充满活力的文化对开源的发展至关重要。准备接受和实行新想法的文化是发展开源最理想的地方。抵制改变和倾向于固守传统方法会阻止社会接受新的技术和方法,这是大部分发展中国家中的主要问题。

这些地区抵制改变背后最重要也是最常见的原因是对未知的恐惧。把对未知的恐惧作为“发展中国家”的问题来讨论是不公平的。这是在哪里都常见问题,甚至在发达国家。但是恐惧背后的一些原因是发展中国家特有的。主要原因有两个,一是对科技行业的能力缺乏信心,二是缺乏责任感。企业和个人都不信任现有软件解决方案的功能,更不用说开源解决方案了。有一种观点认为,开源软件不安全、不可靠。当人们不相信软件开发者的能力时这种担忧会被放大。其次,人们不相信该系统会对使用软件或法律冲突中可能出现的错误或问题追究责任。

资源、基础设施和经济

经济挑战是发展中国家开源面临的最明显的困难,影响着这些地区的开源开发者和社区。

供应和资金

开源开发人员在发展中国家努力解决供应问题。无论是上网还是使用设备,当你每天都在努力获取资源时,就很难成为一名固定的开源贡献者。这些国家的数字鸿沟十分巨大。依然有许多地区没有正常、稳定和高速的互联网连接。在设备方面,这些地区也与世界其他地区存在市场差距。没有足够的资金购买最新、最强大的机器始终是个难题,但同时也存在供应问题。在这些地区,建立和运行最大的开源项目所需的现代化、功能强大的技术设备并不总能提供。

这些问题使得自我教育和学习具有挑战性。由于这些供应问题,开源开发人员很难选择一个开源项目,自行学习所有相关知识,并开始为其做出贡献。

在这种情况下,如何建立开源社区呢?项目最终只能由少数拥有稳定高速互联网连接和最新设备的特权人士来维护。剩下的将是零星的、偶尔来自他人的贡献,很难被视为一个社区。一旦出现有偿工作的机会,即使是这些人也会消失。我亲眼见过多次这种情况。有人会开始了解一个开源项目,研究特定的堆栈或提高自己的技能,并开始为其做出贡献。但一旦出现了有偿工作的机会,即使是作为第二份工作,他们也会完全放弃开源项目。这是有道理的。任何个人都必须优先考虑自己和家人的生存手段。

这种资源匮乏和对少数特权人群的依赖,也使其几乎不可能为营销活动、社区建设活动以及最后但并非最不重要的文献本地化尝试提供资金。

本地化

英语是互联网语言,但对许多国家来说并非如此。虽然几乎所有的开发人员都会说基本的英语,但并不是每个人都有能力理解文档、架构资源和技术规范,使他们能够有意义地 为开源项目做出贡献。由于没有相应的文档,发展中国家的开发人员很难找到进入开源项目的切入点。为此所需的时间和资源通常会使这些地区的潜在贡献者望而却步。

员工合同

几乎所有的软件员工合同都旨在将开发人员的每一行代码、贡献或想法货币化。任何参与外部项目的行为都会受到雇佣公司的质疑,而雇佣公司往往会阻止开发人员为开源做贡献,以避免法律问题。法律偏向于公司和组织,阻止软件开发人员做出外部贡献。

知识产权法

发展中国家的法律框架往往不具备处理知识产权和开源许可细微差别的能力。与发达国家相比,发展中国家的知识产权法律可能较弱或不够全面,执法效力也可能较低。这可能使创作者和贡献者难以保护自己的作品,并防止他人在未经许可的情况下使用。

此外,开源许可证可能很复杂。许多发展中国家可能不具备有效驾驭这些许可的法律专业知识或资源。这可能使开发人员很难在不无意中违反许可证条款的情况下为开源项目做出贡献。

另一个问题是,知识产权法和开源许可证有时被视为发展中国家创新和发展的障碍。批评者认为,这些法律和许可会扼杀创造力,阻碍知识和技术的传播,尤其是在资源和技术有限的地区。

总体而言,发展中国家围绕知识产权法和开源贡献所面临的挑战是复杂的、多方面的,需要采取细致入微的方法来应对这些国家所面临的独特情况和挑战。

专有软件交易

美国和欧洲的科技巨头与发展中地区的政府签订了价值数十亿美元、长达数十年的软件供应协议。一旦有人当选,并决定开始采用开源软件,他们就会发现摆脱这些交易需要付出巨大的代价。

开源并非一帆风顺

这些只是开放源代码在发展中国家面临的一些困难。要改善这种状况,使开源技术的采用和发展变得可行,还有许多工作要做。在今后的文章中,我将深入探讨具体的解决方案,但现在,我想说的是,任何事情都要从个人做起。当我们每个人都 “众包” 开放文化时,我们生活和工作所在地区的文化也会随之改变。尽你所能,将开放源代码带入你的社区,看看它会带来什么。

(题图:MJ/e9f5a8be-b0bd-425a-8199-248f5c0abe16)


via: https://opensource.com/article/23/4/challenges-open-source-developing-countries

作者:Ahmed Sobeh 选题:lkxed 译者:wcjjdlhws 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

按:本文来自硬核老王在 LLUG 2023 上海线下沙龙的演讲《高效开源(个人篇)》。

我要开源!

今天,我在这里与大家探讨一个我内心深处热爱的话题——开源。无论出于理想主义还是实用性的目的,我坚信开源的力量。它不仅代表着崇高的思想追求,更为个人和职业发展提供了巨大的机遇。

首先,开源与我们对协作和分享的天性相契合。开源的理念源于这样一种信念:知识应该为所有人所共享,通过携手合作,我们可以取得伟大的成就。这种高尚的理念与我们在教育和成长过程中所受的教育价值观完美契合。拥抱开源不仅仅是关乎技术,它反映了对世界的更广阔理解,以及我们在其中的定位。

此外,积极参与开源对我们的职业发展有着重要的影响。越来越明显的是,许多大型公司强调他们对开源的承诺。通过积极参与开源项目,我们不仅为社区做出贡献,还能提升我们的职业形象。在简历中写上自己的开源参与经历不仅仅令人印象深刻,还展示了我们的奉献精神、主动性和团队协作能力。这向我们的简历增添了一份很“酷”的感觉,使我们在竞争激烈的就业市场中与众不同。

总而言之,我对开源的热爱既源于其崇高的理念,也源于其潜力能够推动个人的成长。通过拥抱开源的理念并积极参与其中,我们可以开启知识和机遇的无限大海。让我们一同踏上开源之旅,发现无尽的可能。

每个人都可以爱开源

无论你是一个懂编码的人,还是一个具备艺术素养的人;无论你是一个善于社交的社交达人,还是一个擅长文字表达的人;又或者,你只是希望多一种新的体验。开源欢迎每一个人的参与。

如果你懂编码,无论是初学者还是经验丰富的开发者,你都可以贡献你的代码。参与开源项目,你可以帮助解决问题,改进功能,甚至发起自己的项目。你的代码将被广泛使用和赞赏,为开源社区做出重要贡献。

如果你有艺术素养,你可以参与开源项目的用户界面设计、图标设计等方面,为项目增添美感和易用性。你的创意和设计可以改善用户体验,为项目赋予独特的视觉风格。

如果你善于社交,开源社区需要你的贡献。你可以参与讨论、解答问题,提供支持和指引给其他开发者。通过分享你的经验和知识,你可以帮助其他人成长,构建一个更加友善和协作的开源社区。

如果你擅长文字表达,你可以成为开源项目的文档贡献者或博客作者。通过撰写清晰准确的文档和文章,你帮助他人理解和使用开源项目,推动项目的传播和发展。

最重要的是,如果你只是想多一种全新的体验,开源将成为你的理想选择。加入开源社区,你将结识志同道合的人,不断学习和成长,分享和接触到创新的思想和技术。

无论你是谁,无论你的技能和背景如何,开源都为你敞开大门。让我们一同参与开源,共同创造一个更加开放、协作和进步的世界。

你的第一步

让我们来讲讲你参与开源之前的第一步。

首先,了解开源是什么。开源不仅仅是一种软件许可证,它更是一种思想和文化。它鼓励知识的分享和合作,追求透明和开放的工作方式。同时,开源也是一种行为模式,要求贡献者共同协作、审查代码、提出改进,并为改进和发展项目做出贡献。

接下来,你需要找到适合你的“社区”。开源是一种群体行为,它由一群以特定方式组合起来的人构成。通过寻找相应的开源社区,你可以与志同道合的人共同工作,相互学习和支持。参与开源社区需要你积极参与讨论和互动,遵守社区准则和规范,以及尊重其他成员的意见和贡献。

最后,你需要知道如何加入。加入开源社区并不是一蹴而就的过程,而是一种渐进的参与。你可以开始通过报告问题或提出改进建议来参与,这样你可以逐渐熟悉项目的工作方式和社区的文化。随着你的参与和贡献增加,你可以逐渐获得更多的权限和责任,成为项目的核心成员之一。

参与开源需要耐心和热情,但它也为你带来了巨大的回报。通过参与开源,你将学习到新的技能,扩展你的专业网络,以及与全球范围内的人一同协作,共同推动项目的发展。

所以,准备好了吗?让我们踏出第一步,开始你的开源之旅吧!

0.0.1

现在,让我们一起来探索版本号 0.0.1,代表你参与开源的初步尝试。

首先,你需要寻求加入的方式。在开源社区中,你可以通过多种途径找到加入的机会,如GitHub、邮件列表、论坛和聚会。这些平台不仅提供了项目的代码和文档,还是交流和互动的重要渠道。通过参与这些平台,你可以与项目的贡献者和其他社区成员进行交流,并了解他们的工作方式和社区文化。

作为一个初学者,你可以先做一个观察者。入乡随俗,了解并尊重项目的规范和准则。学习项目的代码风格、开发流程和沟通方式。这样你将更好地融入社区,并有效地与其他成员进行交流。逐渐举手发言,提出你的观点、问题或建议。

接下来,重要的是踩下你的第一个脚印。你可以通过多种途径贡献自己的力量。你可以报告错误、提出功能请求或修补建议,帮助项目变得更好。你还可以贡献文档、进行本地化工作、提供艺术素材,从而提高用户体验。如果你具备编程技能,你可以提交代码补丁并参与技术讨论,为项目的发展和改进贡献你的一份力量。

切记,第一步并不需要完美。关键是积极参与和贡献,哪怕是小小的一步也能为开源社区带来积极的影响。通过持续的努力和学习,你将逐渐提升自己的技能,获得更多的机会和责任,成为开源社区的重要一员。

0.0.1 可能只是一个小小的版本号,但它标志着你在开源世界里踏出了重要的一步。让我们一同迈向开源之路,共同推动项目的发展和进步。

实践胜过理论

既然说到了开源,那何不将开源精神践行到这篇演讲中呢?因此,我们开发了一个网站,可以让大家用开源的方式来学习和实践开源。

这个网址也很好记:

https://opensource.pragmatic.guide/

这是一个用于实践上面的 0.0.1 版本的试验场,大家不但可以看到这份演讲稿,而且还可以对这份演讲稿进行贡献。

你可以对这份演讲稿的内容进行完善,也可以对它的演示内容和注释进行勘误。亦或,你还可以提供更具象征意义的插图和设计,甚至可以对这个网站的代码和框架进行修改。当然,我们也非常有计划将它翻译为各种语言,因此,如果你擅长其它语言,那更是我们所欢迎的。

通过在这个试验场的实践,你不但可以亲自体验如何进行开源贡献,而且你的每一点贡献都会给后来的贡献者提供帮助。

0.1.0

让我们迈向版本号 0.1.0,这一阶段鼓励你创建自己的“玩具”项目,真正体验动手创作的乐趣和分享的乐趣。

首先,制作你的第一个“玩具”。选择你喜欢的主题,运用你所学的知识和技能来实现它。你可以使用你喜欢的编程语言和开发工具,或者实现你所见到的有趣的功能。就像爱因斯坦的那个“丑陋小板凳”一样,重要的是你的创作过程和体验,而不仅仅是最终的成果。

在这一阶段,许可证并不是必需品。更重要的是展示你的作品,让大家喜欢。许可证可以回头再考虑,在你有了一个更严肃的项目时再去探讨。现在,专注于让你的“玩具”项目更有趣、更吸引人。

然后,让更多人知道你的项目。积极地与别人分享、宣传。告诉尽量多的人,吸引更多的人来一起玩耍。你的“玩具”项目是你开源旅程的第一个里程碑,分享它能够获得鼓励和反馈,也能够吸引其他人的兴趣和参与。

版本号 0.1.0 代表了你在开源世界中迈出的重要一步。通过制作你的“玩具”项目,你能够真正体验到创作和分享的乐趣。坚持下去,继续成长和学习,不断追求更高的版本号,你将不仅在技术上成长,还会体会到开源社区的温暖和互助的力量。

0.2.0

现在,我们来到版本号 0.2.0,你已经有了自己的“玩具”开源项目,可以考虑加入更大的项目,参与贡献。但是在这过程中,你会遇到各种困难和困扰,就像从乡下来到城市被那里的车水马龙吓到,不小心还可能被汽车撞到。但是,除了谨慎之外,千万不要灰心。

首先,找到一个大型项目或社区。这就像从乡下走向城市,你会面临新的挑战和复杂的环境。不要害怕“被车撞到”,这意味着你会遇到难题和困难。但是请记住,每个人都有从头开始的时候,坚持和努力,你会逐渐适应并超越。

接下来,找到一个贡献的方向。了解项目的现状,看看别人做了什么。从你能力范围内的领域开始,尽力去做那些你能做到的事情。参与讨论,寻求指导和建议,逐渐扩展你的影响力和贡献范围。

然后,发起一个拉取请求(PR)或合并请求(MR)。这是你贡献的重要一步。第一个贡献被接纳是一种意外收获,但也可能需要等待和再次尝试。不要灰心,持续改进你的贡献,与项目的核心成员保持沟通,继续努力。

在这个过程中,要保持谦虚和学习的心态。大型项目和社区往往拥有繁忙的开发进程和复杂的治理结构。了解并尊重项目的规则和准则,虚心接受反馈和指导,与其他贡献者和核心成员建立联系,逐渐构建你在项目中的地位和影响力。

版本号 0.2.0 代表了你进一步融入开源社区的一步。不论在面对困难时遇到多少坎坷,始终要保持积极的态度和勇气。你的贡献和成长将不仅仅为你自己带来收益,同时也为开源社区和整个技术世界带来积极的影响。

1、2、3……

现在,我们进入了版本号 1、2、3……,这时你需要评估你的开源之旅。你可以思考这是否是你真正想要的,它给你带来了什么样的收获?你之后会将这看作一种过往的经历,还是继续投入开源,将其作为生活中不可或缺的一部分?

首先,你需要思考这是否是你想要的。回顾一下你经历过的一切,你喜欢这样的参与和贡献吗?有没有让你感到失望或不满意的地方?你是否愿意继续为之付出?这是一个重要的自我评估过程,需要考虑你的兴趣、目标以及与其他生活方面的协调。

接下来,思考开源带给了你哪些收获。盘点一下你在这个过程中获得的成长、技能和人际关系。思考开源为你带来了什么样的价值和意义。这将为你自己决定是否继续投入提供参考。

最后,你需要决定是继续浅尝辄止还是将开源作为一种生活方式。这是一个个人选择,没有对错之分。或许你在开源中找到了快乐和成就感,愿意继续贡献。或者你可能决定尝试其他领域和兴趣,将开源作为一段美好的经历留在回忆中。无论你做出什么选择,重要的是要保持心怀感激和对开源社区的尊重。

版本号 1、2、3……代表你在开源世界迈出的更大的步伐。无论你选择何去何从,这段经历将成为你的宝贵财富。感谢你的参与和努力,无论你的未来道路如何,愿你在其中找到快乐和成长。

结语

开源是一种工作和生活的方式。你也许喜欢,也许不喜欢。

(本文得到了 ChatGPT 帮助,插图由 MJ 生成)