meteorgan commented on code in PR #5680:
URL: https://github.com/apache/opendal/pull/5680#discussion_r1976425727


##########
website/blog/2025-03-01-2025-roadmap/index.md:
##########
@@ -0,0 +1,80 @@
+---
+title: "Apache OpenDAL 2025 Roadmap: Perfecting Production Adoption"
+date: 2025-03-01
+tags: [announcement]
+authors: xuanwo
+---
+
+Hi everyone, long time no see. Although we have been actively developing 
OpenDAL and consistently releasing updates, we haven’t provided a clear 
overview of where OpenDAL is heading. This post aims to address that. Here, we 
will discuss OpenDAL's current position and the future directions we are moving 
toward.
+
+I hope this post serves as a guide for our development, encourages more people 
to contribute, and ultimately helps achieve the vision of OpenDAL.
+
+<!--truncate-->
+
+## What's OpenDAL?
+
+OpenDAL (`/ˈoʊ.pən.dæl/`, pronounced "OH-puhn-dal") is an Open Data Access 
Layer that enables seamless interaction with diverse storage services. Our 
VISION is [**One Layer, All Storage**](https://opendal.apache.org/vision), and 
our core principles are Open Community, Solid Foundation, Fast Access, Object 
Storage First, and Extensible Architecture.
+
+We are building:
+
+- [A core library built in Rust](https://crates.io/crates/opendal) that 
supports all services at zero cost and offers unified retry, concurrency, 
logging, tracing, metrics, timeout and more layers.
+- Language bindings for [Python](https://pypi.org/project/opendal/), 
[Java](https://central.sonatype.com/artifact/org.apache.opendal/opendal-java), 
[Node.js](https://www.npmjs.com/package/opendal), C/C++, and more.
+- Integrations with various frameworks, including 
[Parquet](https://crates.io/crates/parquet-opendal), 
[FUSE](https://crates.io/crates/fuse3_opendal), [DAV 
server](https://github.com/messense/dav-server-rs), and others.
+- Binaries for different use cases, such as 
[CLI](https://crates.io/crates/oli) and [FUSE](https://crates.io/crates/ofs).
+
+In short, through OpenDAL, users can access ALL storage services within ONE 
layer.
+
+## Where's OpenDAL?
+
+OpenDAL's rust core has already released 143 versions, has [67 reverse 
dependencies](https://crates.io/crates/opendal/reverse_dependencies) listed on 
[crates.io](http://crates.io/), and is used by [612 
projects](https://github.com/apache/opendal/network/dependents) as recorded on 
GitHub.
+
+OpenDAL's production users include databases such as 
[Databend](https://github.com/databendlabs/databend), 
[Greptime](https://github.com/GreptimeTeam/greptime), and 
[RisingWave](https://github.com/risingwavelabs/risingwave), as well as tools 
like [Loco](https://loco.rs/), [sccache](https://github.com/mozilla/sccache), 
and [Vector](https://vector.dev/).
+
+![](opendal-rust-downloads.png)
+
+Apart from OpenDAL's Rust core, its various language bindings have also seen 
significant growth over the past year. Take python binding as an example. 
[Dify](https://github.com/langgenius/dify/), an LLM app development platform, 
is using opendal python to access different storage services.
+
+![](opendal-python-downloads.png)
+
+## What's next for OpenDAL?
+
+The following is the famous technology adoption lifecycle curve. If I were to 
indicate the position of OpenDAL, I would say it is at the end of the 
Innovators stage and moving toward the Early Adopters stage.
+
+![](adoption-curve.png)
+(picture from TechTarget [technology adoption 
lifecycle](https://www.techtarget.com/searchcio/definition/technology-adoption-lifecycle))
+
+Innovators are adopting OpenDAL. Projects like Databend, RisingWave, Greptime, 
and sccache have been using OpenDAL in production for years. However, early 
adopters are still hesitant to use OpenDAL—and they have valid reasons.
+
+For examples:
+
+- OpenDAL hasn't reached version 1.0 yet and still introduces breaking changes 
from time to time, sometimes even requiring code modifications for an OpenDAL 
upgrade. This also creates a burden for libraries that depend on OpenDAL, as 
every breaking change affects them as well.
+- OpenDAL lacks comprehensive documentation, particularly for its bindings in 
Python and Java. Users need to invest significant effort and love to integrate 
OpenDAL bindings into their projects.
+- OpenDAL lacks some important features, such as checksum support, caching, 
metrics of underlying http requests and initialization from a URI.
+
+I believe we should perfect production adoption in 2025 to get OpenDAL ready 
for early adopters. Only in this way can we implement our vision: **One Layer, 
All Storage.**
+
+## What to do in 2025?
+
+Our plans for 2025 include the following:
+
+### Features Needed in Production
+
+In 2025, we plan to implement the following features that importmant for 
production adoption:

Review Comment:
   should we add `initialization from a URI` here ?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to