ownCloud is a free software suite, written in PHP, that provides file storage, synchronization, and sharing. It provides the same basic features of Dropbox or Box.net. It also provides a whole lot more.
ownCloud was started three years ago when Frank Karlitschek wanted a free software alternative to proprietary solutions. In the time since the project has attracted a dedicated group of core contributors, made several significant releases, and is available in 42 languages. It’s also spun off a commercial project to drive development of ownCloud for enterprise users.
The core ownCloud offering is file storage and synchronization. You also get optional contacts and calendar synchronization, if you want to use it. As an open source application, you can install it on any computer you control. This means you know how and where your data is stored, something which existing hosted solutions abstract away from you. Individuals and enterprises can install ownCloud on their own hardware, and define access policies according to their own needs.
I’ve been using ownCloud on my own for a couple of months now. My primary use is a backup for pictures taken from my phone. Just like Dropbox and Google+ and Facebook, the ownCloud mobile client can automatically upload pictures taken from your phone. I like this because not all of the photos I take with my phone are intended for public viewing, but I don’t want these photos to live only in my phone. Having backups automatically uploaded and stored at my house on media I can control gives me great peace of mind.
Interestingly, ownCloud can be connected to third-party storage like Dropbox or Google Drive or even an FTP server. These are read-write connections, allowing you to use third-party storage in whatever ways make sense for you. Maybe you want a local backup of your Dropbox data? Maybe you want a single interface to all your hosted storage? ownCloud lets you do it.
The commercial version of ownCloud is built atop the open source project, and includes features of interest to enterprise customers. Things like MS SQL and Oracle support, connections to enterprise groupware and directory services applications, and white-label mobile clients. The commercial version specifically targets organizations that require on-premise data storage and control.
The first beta release of ownCloud 5 was just announced, with a release candidate due in the next week or so. I spoke with Karlitschek about the upcoming release of the latest open source offering from the project. According to him, there are three major elements of this release: integration, performance, and usability.
The biggest visible change in ownCloud 5 is in the presentation. The interface has been completely redesigned to present a more streamlined, usable experience. More space is allocated to the display of your data, rather than the display of the ownCloud controls.
Karlitschek highlighted a new photo gallery included in ownCloud 5, including better sharing options. This isn’t anything revolutionary, but does keep ownCloud on equal footing with its proprietary competitors. Also included are updates to the contacts application, and the calendar. ownCloud also provides a video player application, a PDF viewer, and a whole lot more.
ownCloud administrators can connect an ownCloud installation to a variety of back-end account databases. These include UNIX user accounts, LDAP, and the built-in ownCloud account mechanism. The upcoming release of ownCloud 5 supports multiple simultaneous backend systems, allowing you to use both UNIX and LDAP systems at the same time for accounts, for example. This makes it easier to tie ownCloud into an existing infrastructure.
Users can also select a “display name” other than their account name. So where an LDAP user might have an account name of “cn=scott,ou=people,dc=techcrunch,dc=com”, that user could select a display name of “Scott Merrill”. This is a small touch, but goes a long way toward usability.
Under the hood, the file-caching mechanism employed by ownCloud has been revamped, and Karlitschek reports speed improvements of up to 500% in some circumstances. The caching changes reduce the number of round-trips to and from the server, so desktop sync clients and mobile clients should see noticeable improvements.
Another big new addition is a full-text search mechanism, powered by Lucene. This is something that ownCloud offers that the proprietary solutions don’t. The full-text search will work in the mobile clients, as well as the web interface, allowing you to find files based on their contents, not just their file names.
The current versions of ownCloud have file versioning, allowing you to track changes made to files. The upcoming ownCloud 5 will introduce a complete “trash bin” feature, allowing you to undelete files. Versioning plus undelete means that your data has multiple levels of safeguard against accidental removal.
I asked Karlitschek about any particular challenges specific to the development of ownCloud 5. Since ownCloud is intended to run on any major platform, he said that they ran into a particularly surprising problem when running an ownCloud server on a Windows host. It turned out that PHP was “interesting” with UTF8 filenames on Windows systems, and a large number of bugs were reported which all boiled down to this issue. Several days of troubleshooting led them to the root cause. The solution was to write a filesystem abstraction layer specifically for Windows. That kind of effort goes a long way toward ensuring that this open source application works on as many platforms as possible.
As with any open source project, it’s hard to know how many people are actually using it. Counting downloads doesn’t tell the full story. Karlitschek estimates that there are more than 800,000 active users of the ownCloud project. This number specifically does not count enterprise users who are purchasing the commercial version from ownCloud.com.
Karlitschek shared some interesting use cases for ownCloud with me. Some people aren’t interested in file synchronization, and are instead only using ownCloud for the contacts and calendar functions. If you don’t want Google or Facebook to know your every move, but you still need consolidated access to your schedule from multiple devices, ownCloud offers a great solution. Karlitschek also told me about a group using ownCloud as the foundation for an e-book library sharing solution. As ownCloud continues to mature, it will continue to be used as a platform for more interesting solutions.
ownCloud supports HTML5 applications, allowing you to add all sorts of additional functionality. The ownCloud app catalog has dozens of apps. This extensibility makes ownCloud so much more than just a Dropbox clone. Indeed, according to Karlitschek, there is no other open source solution providing what ownCloud does.
When I asked about the future of ownCloud, Karlitschek identified additional opportunities for integration: things like SharePoint, Atlassian products, and other hosted repositories of data. Karlitschek was adamant that ownCloud needs to integrate with all cloud services, since different users may be limited to using specific offerings. iOS users are tied pretty tightly to iCloud, and Android users are tied pretty tightly to Google Drive, etc. Existing proprietary solutions like Dropbox and Box.net offer limited freedom from platform lock-in, but they don’t go far enough.
Moreover, those proprietary solutions are driven by what their customers are willing to pay for. ownCloud, as an open source solution, is free to pursue solutions that don’t provide specific economic benefit to their maintainers, but rather solve the real needs of its users.
ownCloud 5 promises some major new features and some much needed improvements to an already impressive product. As an open source application, if it doesn’t scratch your itch you are invited to get involved to help make it better for your own needs. Whether that’s submitting bug fixes, helping to run tests, or translating ownCloud to its 43rd supported language, all contributions are welcome.