这一期的周报简单总结一下最近开源工作上的一些进展和对未来的展望~
在 @sylvestre 的邀请下,我成为了 Sccache 的维护者之一。
在过去的三个月中,我主要做了以下贡献:
其中最重要的工作是将存储后端迁移到 OpenDAL。迁移后,Sccache删除了大量冗余代码,同时提供了比之前更强的能力和兼容性,诸如不会自动读取 .config/aws
等提出长达四五年之久的 Issues 都得到了解决。此外,增加新的存储后端也变得更加容易,开发者只需要考虑如何将配置暴露给用户即可,功能实现上只需要简单几行,以 webdav 为例:
use crate::errors::*;
use opendal::layers::LoggingLayer;
use opendal::services::Webdav;
use opendal::Operator;
/// A cache that stores entries in a Webdav.
pub struct WebdavCache;
impl WebdavCache {
/// Create a new `WebdavCache`.
pub fn build(endpoint: &str, key_prefix: &str) -> Result<Operator> {
let mut builder = Webdav::default();
builder.endpoint(endpoint);
builder.root(key_prefix);
let op = Operator::create(builder)?
.layer(LoggingLayer::default())
.finish();
Ok(op)
}
}
目前,社区正在紧锣密鼓地准备v0.4版本的正式发布,希望大家会喜欢。
在 v0.4 版本发布之后,我希望 Sccache 能够有以下改进:
在 Apache Member @tisonkun 的支持下,OpenDAL 的 Apache 捐赠之旅迈出了第一步: Incubating Proposal for OpenDAL。
OpenDAL 项目从启动之初就有着捐赠的想法,其原因是多重的:
Access data freely, painless, and efficiently
,捐赠给一个中立的开源基金会可以免除潜在用户的版权和供应商锁定问题的担忧。从个人角度来看,这是一个执念:它在 17 年诞生,在 18 年成长,却最终在 19 年消逝。现在我有一个完美的机会去亲手实现它,有一个强大的团队在背后支持我,我没有理由不付出全身心的努力。希望 OpenDAL 能够顺利开始孵化,在 Apache Way 的指引下努力构建一个更多样化更大的社区。
在进入孵化器之后,我期望 OpenDAL 能够:
感谢一路相伴的朋友们,让我们一起改变世界吧~