首先,如果您还没有跟上 Amazon Web Services 和 Elastic 的传奇,这里是最简短的回顾。几年前,AWS 基本上分叉了 ElasticSearch,将其作为服务提供,这让开源社区非常沮丧。作为回应,一段时间后,Elastic 决定在今年早些时候更改 ElasticSearch 的许可以限制其下游使用,这再次令开源社区感到沮丧。 AWS 随后宣布将分叉该项目以保持其完全开源,突然成为该场景中明显的好人。最后,就在几个月前,AWS 在 Apache 许可下发布了 OpenSearch,版本 2.0 (ALv2),基本上完成了这个循环。 ElasticSearch 和 AWS 之间的来回在本周继续进行,这一次 Elastic 进一步尝试关闭对 ElasticSearch 的访问并关闭 AWS。作为回应,AWS 表示正在努力使 OpenSearch 和 Elasticsearch 的客户端与开源兼容。 AWS 表示,“OpenSearch 旨在提供与 Elasticsearch 7.10.2 的开源发行版(即它的衍生软件)的连线兼容性”,从而可以轻松迁移到 OpenSearch。虽然 Elastic 对此无能为力,但他们可以对一些常用的开源客户端库进行更改。 “在过去的几周里,Elastic 向其中几个客户端添加了新逻辑,这些客户端拒绝连接到 OpenSearch 集群或运行 Elasticsearch 7 开源发行版的集群,甚至那些由 Elastic 自己提供的集群。虽然客户端库仍然是开源的,但它们现在只允许应用程序连接到 Elastic 的商业产品,”AWS 写道。如果 Elastic 想要重回开源社区的青睐,这肯定不是这样的方式。感谢@elastic 在与@awscloud 的战争中让我们所有人都受到了附带损害。将依赖项固定为 >=7.0.0,<8.0.0 并在部署时自动获取此更新是我的坏处。但是,对于使用 AWS 的任何人来说,破坏 ES python 包仍然非常糟糕。 #elasticsearch pic.twitter.com/Vb5VatOXdl 相反,AWS 在这种情况下再次成为开源的救世主,这一次似乎承诺提供“一组新的开源客户端,可以轻松连接应用程序到任何 OpenSearch 或 Elasticsearch 集群”,这些集群“将在添加产品检查之前从相应的 Elastic 维护客户端的最新兼容版本中派生出来。”
他们写道:“本着开放性和互操作性的精神,我们将尽合理努力保持与所有 Elasticsearch 发行版的兼容性,即使是那些由 Elastic 生产的发行版。”与此同时,虽然 OpenSearch 社区致力于创建替代库,但 AWS 建议用户不要更新到任何由 Elastic 维护的客户端的最新版本,以免他们的应用程序可能停止运行。以善意合法地杀死他们。这是 elasticsearch 应该采取的行动类型,因为它符合社区的最佳利益。不过,他们已经表明了自己的立场。这是关于钱的。 Facebook 开源计算完整性工具:《权力的游戏》粉丝最终应该对 Facebook 最新的开源项目 Winterfell 感到满意,这是一个 STARK 的证明者和验证者。除了文化参考之外,Winterfell 是可扩展的透明知识论证 (STARK) 证明者和验证者的实现,更具体地说,它使普通开发人员能够“从通常需要输入数据的计算完整性证明 (CI) 中受益”。 - 要实施的密码学的深入知识。” CI 证明允许用户运行计算,获得结果,然后“让任何人相信你正确地进行了计算,而无需他们自己重新运行计算。”其中的一个子集是零知识证明(ZKP),它允许相同的功能,同时也掩盖了输入。所有这些都与最近的区块链趋势越来越相关,但 Facebook 写道“ZKP 在区块链领域之外也有许多潜在的应用”,但由于所需的专业知识和计算,它们并没有真正起飞。 Facebook 在其博客文章中写道:“我们开发了 Winterfell 来弥合这些差距,并使常规开发人员可以使用 ZKP。” Winterfell 用 Rust 编写,已发布到 Crates.io,并附带一个端到端教程和一个示例 crate。 Rust 推动 GAT 稳定:在本周一篇关于推动 GAT 稳定的博客文章中,特征工作组的成员 Jack Huey 一次又一次地向他们的读者保证,无论他们是否知道,理解它,或者不知道,添加泛型关联类型 (GAT) 的举措“非常令人兴奋”,确实是“一件大事”。显然,Rust 尝试添加 GAT 已经有一段时间了——RFC 于 2016 年 4 月首次开放,甚至早于对 const 泛型的推动。如果你仍然怀疑它的重要性,他会指出 GitHub 上的跟踪问题,并指出这是“Rust 存储库上投票最多的问题”。这里的主要消息是 generic_related_types 功能不再“不完整”,这意味着如果您尝试在每晚构建中使用它,您将不再收到警告。有关为什么这很重要以及 GAT 究竟是什么的完整推理,请前往博客文章阅读对编译器所做的所有更改以使 GAT 工作,但除此之外,团队正在寻找您以帮助稳定新功能。 “我们需要您测试此功能,为您发现的任何错误或潜在的诊断改进提交问题。此外,我们希望您能告诉我们 GAT 在 Zulip 上启用的一些有趣模式,”他们写道。 FSF 想了解您对 GitHub Copilot 的看法:虽然有些人可能认为 GitHub Copilot 作为 GitHub 新的“AI 配对程序员”,在公开可用的源代码上接受培训,但通常不会侵犯版权,但自由软件基金会 (FSF) 不太确定新的“服务即软件替代品”。 FSF 在其关于 Copilot 的哲学和法律问题的白皮书呼吁中写道,“Copilot 提出了许多其他需要更深入研究的问题”,例如以这种方式训练的神经网络是否可以被视为合理使用,以及代码是否创建通过该工具可以被视为侵犯版权。他们写道:“即使一切都可能在法律上有问题,但激进主义者想知道,一家专有软件公司在他们的工作中构建服务是否存在根本不公平的问题。”因此,FSF 正在征集有关该主题的白皮书——有关特定兴趣领域的项目符号列表,请参阅博客文章——并将为已发表的论文支付 500 美元。删除所有代码并重新开始的大 O 表示法是什么?
统计数据:如果深入了解这些数字让您兴奋不已,我们最近发布了两个版本来满足您的统计需求。首先,2021 年 Stack Overflow 开发人员调查就在这里,全球超过 80,000 名受访者提供了答案,从开发人员的学习方式到他们使用最多的语言和框架,以及提供最高薪水的语言和框架等方方面面。剧透警告:Rust 连续第六年再次占据“最受欢迎”的语言位置。点击查看完整结果以了解更多信息。就在我们在此期间,本周 RedMonk 编程语言排名也出来了,在计算方面显示出一个基本稳定的领域,JavaScript 仍然排名第一,Java 与 Python 一起回到了第二位。更值得注意的是,据 RedMonk 称,Go、Kotlin 和 Rust 的相对停滞不前,它说“可能反映了系统语言的新出现的现实。”这三者被归为“首选企业应用程序语言的挑战者”,RedMonk 指出 Java 似乎没有任何进展。 “因此,通过结合自身的适应性和企业的惯性,Java 保留了企业应用程序市场的很大份额,这似乎是有道理的,这意味着它的潜在挑战者——Go、Rust 和由于共享 JVM 平台,Kotlin 在较小程度上与 Java 的竞争比彼此之间的竞争要少,”他们写道。 “如果这个假设是正确的,我们应该期望 Java 能够保持其性能和未来从 Go、Kotlin 和 Rust 中获得的收益——如果有的话——将更难获得,因为它们争夺较小的工作负载池的份额。”在家工作的最大好处是,您可以随心所欲地对代码大喊大叫。