In Search of an Open Source WebDAV Solution

WebDAV enables users to mount remote content as a virtual drive, supporting both uploads and downloads. Back in 2008, Box developed its own WebDAV solution, but as we grew, maintaining our WebDAV code was troublesome—especially because many WebDAV clients have their own bugs, which had to be addressed in slightly different ways based on the client. In 2012, when our WebDAV service got massively popular at Universities, we were faced with responding to a variety of bugs spanning hundreds of different clients. As a direct result, we saw our maintenance costs increase. We needed to evaluate other options.

At Box, we don't just open source our software; we regularly evaluate and integrate open-source solutions into our own platform and technology stack. Open source allows us to easily evaluate the quality and security of the code. In this particular instance, we were also interested in options that were designed with a pluggable back-end. Of course, the software also had to be well-written and have active contributors. In the end, we decided to use sabre/dav from fruux because it is highly scalable, lower maintenance, and supports many devices and applications. This also meant that Box didn't have to develop custom solutions for various WebDAV clients. Additionally, we found sabre/dav to be well structured and easily integrable into our backend.

Box incorporated sabre/dav by using its pluggable interface to hook into our per-user virtual directory backend. sabre/dav allowed us to focus more on making our virtual file-system faster, without having to worry about individual end connections. Implementing great open source software means leveraging other people's contributions to making things like FTP and WebDAV rock solid services, so Box can concentrate on our core strengths.

Our initial implementation of sabre/dav went fairly smoothly and was accomplished in about a month by a single engineer. Since initial implementation, we've seen better performance and a dramatic decrease in the amount of work needed to maintain our WebDAV service. Of course, there are times when custom solutions are necessary or desirable, but open-source solutions are often dependable alternatives. At Box, we needed a WebDAV framework that would be secure, dependable, and low maintenance, and sabre/dav has proven to be just the (open source) thing we were looking for.