Frank Karlitschek_ own clouds, free software and privacy Wed, 25 Mar 2015 08:36:06 +0000 en-US hourly 1 Scaling Wed, 25 Mar 2015 08:36:05 +0000 I’ve visited both FOSDEM and SCALE over the last weeks, where spoke with dozens of people and gave talks about ownCloud 8. We’ve been getting a lot of positive feedback on the work we’re doing in ownCloud (thanks!) and that has been very motivating.

Does it scale?

A question which comes up frequently is: “What hardware should I run ownCloud on?” This sounds like a simple questions but if you give it a second thought, it is actually not so easy to answer. I had a small cubox on the booth as a demonstration that this is a way to run ownCloud. But development boards like the Raspberry Pi and the cubox might give the impression ownCloud is only suitable for very small installations – while in reality, worlds’ largest on-premise sync and share deployment has brought ownCloud to 500,000 students! So, ownCloud scales, and that introduces the subject of this blog.

If you look up the term scalability on wikipedia you get the explanation that software scales well if you get double the performance gain out of it if you throw twice the hardware at the problem. This is called linear scalability, and rarely if ever achieved.

The secret to scalability

ownCloud runs on small Raspberry Pi’s for your friends and family at home but also on huge clusters of web servers where it can serve over hundreds of thousands of users and petabytes of data. The current Raspberry Pi doesn’t deliver blazing fast performance but it works and the new raspberry pi 2 announced last month should be great hardware for small ownCloud deployments. Big deployments like the one in Germany or at CERN are usually ‘spread out’ over multiple servers, which brings us to the secret sauce that makes scalable software possible.

This secret to building great scalable software is to avoid central components that can be bottlenecks and use components that can easily be clustered by just adding just more server nodes.

How ownCloud scales

The core ownCloud Server is written in PHP which usually runs together with a web server like Apache or ISS on an application server like Linux or Windows. There is zero communication needed between the application nodes and the load can be distributed between different application servers by standard HTTP load balancers. This scales completely linear so if you want to handle double the load because you have double the users, you can just double the number of application servers making ownCloud perfectly scalable software.

Unfortunately an ownCloud deployment still depends on a few centralized components that have the potential to become bottlenecks to scalability. These components are typically the file system, database, load balancer and sometimes session management. Let’s talk about each of those and what can be done to address potential performance issues in scaling them.

File system scalability

The file system is where ownCloud has its data stored, and it is thus very important for performance. The good news is that file systems are usually fast enough to not slow down ownCloud. A modern SSD, RAID setup, NFS server or Object Store can deliver data rates that are a lot faster than the typical internet network uplinks so you rarely bump into limits with data storage. And if you do, there are solutions like GlusterFS which help you scale performance quite easily. On the App server, a properly setup and configured Temp directory is important to achieve good performance as data has to flow via the ownCloud installation to the user (sync clients or web interface).

Sometimes, this isn’t enough. If you have to handle petabytes of data, ownCloud 8 offers a solution developed together with CERN. This solution lets ownCloud act as a storage broker to direct read and write requests directly to the storage node where the data resides. The result is that that no actual payload flows through the ownCloud servers anymore and the storage performance is entirely dependent upon the data storage itself. Thanks to this solution, the file system storage should never be the bottle neck for ownCloud.

Database scalability

ownCloud uses a database to store all kind of metadata so it depends on a database which is very fast and scalable to keep performance up. ownCloud can use enterprise databases like MSSQL and Oracle DB which offer all kinds of fancy clustering options. Unfortunately they are proprietary and not necessarily cheap. Luckily there are Open Source alternatives like PostgreSQL and MySQL/MariaDB which also offer impressive clustering and scalability options. Especially MySQL combined with a Galera cluster is a very nice and fast option that is used by a lot of the larger ownCloud installations.

Note that scalability doesn’t always mean big! Scalability also means that ownCloud should run fine on very tiny systems. Some embedded systems like the first Raspberry Pi had very limited RAM. In such situations it is nice to use SQLite which is embedded in the PHP runtime and has a very tiny memory footprint, saving precious system resources. This is is all about choice for the right system size!

load balancer scalability

If you have more than one application server than you need a way to distribute the incoming requests to the different servers. ownCloud uses a standard protocol like HTTP so that off the shelf solutions can be used for load balancing. There are standard and enterprise grade appliances from companies like F5 that are very fast and reliable if used for redundancy with a heat beat. Nowadays there are also very good and affordable options like the Open Source HAProxy on top of a standard Linux system available. This also works very well and is very fast. If you really have a lot of traffic and don’t want to buy hardware appliances you can combine several redundant HAProxy servers with DNS round robin. This has to be done very carefully so that you don’t compromise your high availability. There are several blogs and articles out there describing how to set up a system like this.

Session management scalability

There are two fundamentally different ways to do session management which are both supported by ownCloud. One is local session management on the application servers. The other is a centralized session management. I don’t want to discuss the pros and cons of both solutions here because they are a lot of aspects to consider. But with regards to scalability I want to mention that the simpler solution to have local session management together with sticky connections has the benefit that it does not need a central component. This means that it provides linear scalability. If a centralized session management is used then something like memcached is recommended and supported by ownCloud because it can also scale easily internally.


ownCloud has been designed to scale from tiny embedded systems like a Raspberry Pi for a few users to a standard Linux server for a small workgroup to a big cluster for several hundred thousands of users. A wide variety of solutions and technologies can be used to make this possible and if you are interested in ways how to do this than have a look at the owncloud documentation for more information and look at the third party resources and white papers available for this on

]]> 0
2014 and 2015 Wed, 31 Dec 2014 12:03:38 +0000 In just a few hours 2014 ends. This is a great opportunity to look back at what happened this year in the ownCloud world and in my personal life. This was an absolutely crazy 12-month so this blog post is now way longer that I planed. A huge thanks you to everyone in the ownCloud community. It´s a blast to work together with so many clever and friendly people from all over the world.

ownCloud 7
First and most importantly we released ownCloud 7. This was a major milestone in the history of ownCloud because of several reasons. We made significant improvements in the area of quality and overall polish. The user-interface was refreshed and we implemented a ton of improvements all over the place. You can have a look at the feature page if you are interested:

But ownCloud 7 was also the first release which featured a big and strategic new direction for us which is server 2 server sharing. This is the first step to build a truly distributed and federated and open cloud. In my opinion it´s the future of a self controlled and self hosted cloud world, which respects privacy. But also enabled easy collaboration and sharing. ownCloud 8 will be another big step forward in this direction but this is something to discuss in 2015.

ownCloud Inc.
ownCloud Inc., the company behind ownCloud, grew significantly in number of customers and revenue. We opened up several new offices and hired a lot of new employees. This is very exiting for me because it´s so much fun to work with so many smart and dedicated people on ownCloud. I´m super happy to see how employees and community volunteers work together to push ownCloud forward.

ownCloud community
The ownCloud community is the source and foundation of the ownCloud development. I´m super happy that we are growing significantly and that more and more people join us to drive ownCloud forward. We use Bitergia to measure some community metrics. You can look at the statistics here:  Jos blogged about this last summer and we had close to 300 contributors in the past 12 month at the time. This is a very impressive number and ownCloud is already one of the biggest open source projects out there. But if you look at the statistics today than you see that we already grew to 372 contributors in the last 12 month since August in the meantime. This is just amazing. So I´m sure that everyone who wants to contribute to ownCloud finds a very friendly and open community to join. Let´s make the world a bit better together.

Lately we launched the new ownCloud Meetup program. Everybody is invited to start local ownCloud meetups and get-togethers.
We provide a lot of  useful helpful information on our website and you will get support if you want to organize an ownCloud event in your area. More information here:

We also launched the ownCloud insiders program if you want to help to promote ownCloud
The ownCloud community will be at FOSDEM and SCALE next year with tables. So if you are at one of the events please stop by and say Hi :-)

In the past a lot of people asked about the license of the ownCloud iOS app. So I´m super happy that a few weeks ago we found a way to open source the app. So everyone who want´s to contribute has now the opportunity:

ownCloud contributor conference
Last summer we organized our yearly ownCloud developer meeting in Berlin again. Because of our growing community of contributors we were able to transform this into the very first ownCloud Contributor Conference. Over 100 contributors joined to listen to talks, discuss, write code and socialize. You find some impressions here: This was a crazy event. Especially if you remember that the very first ownCloud meeting in 2010, just four years ago, had only 5 attendees.

A few days ago I learned that the Linux Journal readers voted ownCloud as number 4 of the best new open-source projects and number two of the best cloud based file storage solution. This is very exiting because only Dropbox is more popular at the moment that ownCloud.  The gap is shrinking fast compared to the numbers of last year.
A few days ago I learned that I won the Stiftung Neue Allmende award for starting and maintaining ownCloud which is endowed with 550,- EUR. This is a huge honor. Thanks a lot for that. Obviously ownCloud is not only developed by me but by our community. So I will donate this to the ownCloud community. We will use this for a nice social event at the next Contributor Conference next summer. Yay! Thanks a lot again :-)

2014 was also a special year for me personally. I moved to Boston, MA last spring to be able to work closer with my colleagues in the ownCloud Inc. headquarters in Boston. This is definitely fun and an interesting experience to live in the US full-time. I also took the opportunity to buy a motorcycle again which is awesome. I have a lot of fun with discover the great nature in New England by bike.

I also had the opportunity to meet very interesting people like Tim Berners-Lee, Linus Torwalds and RMS to discuss ownCloud and it´s great to hear that they all like it. What is also very exiting for me is that we are also working closely together with very clever people from the W3C offices at MIT Cambridge and CERN in Switzerland to develop innovative technologies that will hopefully land in ownCloud next year.

I also did a ton of travel last year to give talks and keynotes at conferences all over the world. Most important for me was the invitation the give a keynote as LinuxCon Europe about the future of cloud computing and federated clouds. This was a good opportunity to share my vision about distributed and federated clouds with a broader audience.

So what are the plans for next year?
The next big milestone is obviously ownCloud 8. Feature freeze is today the Dec 31th with a planed release date of early February. ownCloud, the software and the contributor community, reached a size where big monolithic releases don’t work anymore. The release of 7 was already very hard to coordinate, stabilize, test and to document all the features. So in the future we want to reduce the size of the core ownCloud server again and also release it more often and move to a time based release schedule.

So starting with ownCloud 8 we will release a major new ownCloud server version once a quarter. The apps on top should be compatible between different server versions and will be partly released independently.

On January 17th is the 5th birthday of ownCloud. At that day I announced the ownCloud initiative during the CampKDE keynote in San Diego. A bit later I released the first beta version and the first contributors joined. It’s amazing to see what grew out of a crazy idea. Does someone has an creative idea how to celebrate this special day? Please let me know.

Another important topic for next year will be the launch of the user data manifesto 2.0.  Hugo , Jan and I are working on this and a first draft is already out.
We got a lot of feedback from smart people and organization that we already incorporated. Everyone is more than welcome to participate in the discussions.

Thanks to everyone who made 2014 such a great year. I´m looking forward to keep on working with awesome people in 2015 again to push ownCloud and the ideas behind it forward. Let´s make the world a little bit better together.

Thanks and take care in 2015

]]> 3
Ohio Linux Fest Wed, 22 Oct 2014 21:52:25 +0000 This Friday the Ohio Linux Fest kicks off in downtown Columbus and I’ll be there! It is my first Linux Fest in the US so I greatly look forward to being introduced in this grand tradition. Of course, I’ll be talking about ownCloud on Saturday the 25, from 13:00 to 14:00 room D142-143.

The title of the talk is “crushing data silos with ownCloud”: helping people liberate their data from the centralized services they have stored it on. I don’t think that a world where most of the personal data of the world is stored on servers of a hand full companies is a good one. ownCloud is, right now, the best way of getting out of that world!
The talk will also cover a few interesting new ideas that we want to do in ownCloud to build a fully federated and distributed solution in the future.

It would be awesome to do a small ownCloud and/or KDE meetup there.

If you’re going to be there – let me know! Find me on twitter and lots of other social services!

]]> 0
A possible future for PHP Thu, 02 Oct 2014 11:14:38 +0000 ownCloud is one of the biggest open source project written in PHP if you look into the latest statistics. It is used for the server part of ownCloudas most of you know. We use other technologies like C++ and Qt for the Desktop Clients, Java for the Android app and Objective-C for iOS, JavaScript for the web-interface and more. But the heart of ownCloud is the server component which is using PHP 5.3 or higher..

There were several reason for choosing PHP:

  • The mission of ownCloud is to enable everybody to host their own cloud server. PHP is the technology that is available on most webservers, operating systems and platforms. So we make hosting of an ownCloud server super easier because it is written in PHP.
  • PHP is a scripting language which means that one server tar file runs on all platforms and no complicated cross-compiling and packaging is needed
  • PHP is very well known. A lot of people are familiar with PHP. And even the developers who don´t know PHP can learn is relatively easy. This is very important especially for an open source project. The bar to become a contributor should be as low as possible.
  • PHP is fast and quite powerful if used in the right way. A lot of big web application like Wikipedia, Facebook, WordPress and parts of Yahoo are written in PHP. So you can do a lot with it. Unfortunately is is also relatively easy to write bad PHP code. But more about this later.
  • There is a huge ecosystem of libraries, components and connectors/drivers available for PHP. For an open source project like ownCloud this is very cool because this means that you don´t have to reinvent everything from scratch. We stand on the shoulders of giants.

PHP is not the most hip programming language in the world. Actually the opposite. It has a relatively bad reputation. I personally was never a big fan of choosing the technologies based on what is cool or “modern” or in vogue. I think there are different technology for different jobs and they should be evaluated objectively and choose without to much emotion involved. So I don´t understand the religious discussions why tool x is always better than technology y. I think it is all about the right technology for the job after a fair assessment of course.

So i´m still very happy with this decision to use PHP. So far we have not seen any bigger architectural technical problems that we can´t solve with PHP.

Does this mean that PHP is perfect and I´m super happy with everything? Of course not. PHP was developed in the mid 90s at a time where no one could have imagined how the web looks like today. Some of the cool features of the time turned into a nightmare today. There is a lot to improve and I think even the core PHP developers agree with me here.

A few of the obvious shortcomings are:

  • Security. PHP in itself is not insecure and it is obviously possible to write perfectly fine and secure applications with PHP. But PHP decided to implement an quite naive approach about security and doesn´t support the developer too much in writing secure code. To be fair everybody was naive about web security in the 90s. So there are a not a lot of features available in PHP that actively support you with writing secure code. The database situation is a mess so a lot of people still don´t use prepared statement which leads to possible SQL injection. And filtering incoming data for XSS and other problems has to be done relatively manually. There are extensions and libraries available to help with all this problems but they are not part of the language/runtime core or are incomplete.
  • compile time / runtime configuration. Just for fun call the ./configure script to compile php yourself and look at all the compile options. And now look at all the options that can be set in php.ini by the server admin. On one side this is cool because an admin can enable and disable a ton for core features in PHP in a very fine granular way. But as a developer of an PHP application that should run on all available PHP servers this is a nightmare. You never know which feature is enabled and available. In ownCloud we have a lot of code that s the environment and the runtime to see if everything works as expected and adapts to it as needed. This is unfortunately not what you call a stable platform and a good OS abstraction.
  • There are some inconsistencies in the function and class namings. Sometimes unerscores are used and sometimes camel-case. Some features are available in a procedural style and some have an OO API and some even have both. There is a lot that should be cleaned up.
  • Static typing. This is totally a question of taste but sometimes I would really love to have a bit more static typing in PHP. Guess what this following code does if you have a file named “0” in your directory

while ( ($filename = readdir($dh)) == true) $files[] = $filename;

I would really love to see PHP moving to the next level and improving some of this shortcomings because most of it is really good.
But it is very important to do it right.

A latest article at ArsTechnica and Apples move to introduce Swift as Objective-C successor triggered my fantasy how a next generation PHP could and should be done. Keep a programming language backwards compatible or fix its flaws? – Apple Swift

There is the old and to be honest quite naive approach. The core team of a programming language just releases a new and incompatible version that fixes the flaws of the older version. Examples are Perl or Python. The problem is that it´s close to impossible to rewrite a big software project to make it compatible with a new version. So you end up with two versions of the programming language/framework/runtime for a very long time. Some applications run on the old version and some run on the old version. Libraries and dependencies are sometimes only available for one of the versions.
Migration is super hard and can´t be done piece by piece. Please see Perl6 and Phyton 2/3  as examples what a nightmare this can be. Both exist for a very long time and a lot of software is stuck in the middle of a migration story somewhere.

A more positive example is C++. It ´s still a very different language than C but the good thing is that it can be mixed inside an application. So in the 90s C developers were able to use the cool new C++ features in one part of the application without the need to rewrite everything from scratch.

Apples move to introduce Swift as a successor of Objective-C is very clever in my opinion. It´s completely new language but it´s running on the same runtime. This means that a developer can take an existing Objective-C application an just start to write the new features in Swift or replace pieces one after another with new Swift code. This than compiles into one binary that has no new runtime dependencies compared with Objective-C.

I wish PHP would do something that makes it possible to evolve and improve the language significantly but still provides a smooth migration experience not like Perl and Python did with introducing completely new backward incompatible releases.

So a good solution would be if PHP 6 or 7 would introduce a new tag to start a php file. For example <?PHPNEXT instead of <?PHP. Both modes are fully supported by the new PHP version and can be used in parallel in the same application or even in the same file. In the NEXT section the new and improved syntax is used.

Here are a few ideas for improvements that I would love to see:

  • Security. Kill the _GET and _POST and _SERVER arrays and introduce a proper API that can be used to filter all incoming data.
  • Database. PHP support a ton of different database API. Some of them are very old but they are inconsistent to use. Everything should be standardized so that only one OO interface exists. I personally would use PDO as a starting-point here.
  • 32bit / 64bit. Anyone who ever tried to write a PHP application that runs on 32bit or 64bit operating-systems will recognize that variables especially integers behave differently. I understand that this is a reminiszense to C/C++ but this is seriously a bad idea. I don´t want to have different code paths which have to be tested independently.
  • kill save_mode, open_basedir and other acient concepts
  • Remove most of the compile and runtime config options. All PHPNEXT runtime environments should be as similar and stable as possible.
  • Typing. It would be cool if PHP would introduce optional static typing. So that a variable can be declared as, for example, bool or int. An exception should be thrown if used otherwise.
  • Always use unicode strings

Some of this improvements are implemented in Hack which is some kind of PHP fork developed by Facebook. Hack is indeed an interesting concept that goes into a similar direction. They also use a new tag “<hh” so that code can be mixed in one file and they improve typing. At the moment it´s not clear how much energy Facebook will invest in the future to push Hack forward and how much adoption it will get outside Facebook. I´m especially worried how open they are for changes that are not important for them, how well and open this is governed. I would prefer an official and more generic approach from the PHP community which will be part of one of the next main PHP releases.

I hope by dream of a more modern and cleaned up PHP including a smooth migration path becomes reality in the next few years.
Obviously we at ownCloud couldn´t start to migrate to this new PHP mode before 95% of all PHP installations out there run with the new version. This will easily take additional 3-5 years.

By doing this big projects like WordPress or ownCloud would actually have a realistic chance to move to a cleaner and more modern language. But more importantly this would make PHP ready for the challenges of the future.

Please leave a comment here in the blog if you have an opinion about this.

]]> 67
ownCloud 7 is out! Wed, 23 Jul 2014 13:06:16 +0000 ownCloud 7 We just published ownCloud 7!

This awesome release brings many new features. Among them, I’m most excited about the server to server sharing.

Server to server sharing is a first step in true federation of data with ownCloud: you can add a folder shared with you from another ownCloud instance into your own. Next step would of course be to also share things like user accounts and data like chat, contacts, calendar and more. These things come with their own challenges and we’re not there yet, but if you want to help work on it – join us for the ownCloud Contributor Conference in Berlin next month!

A close runner-up in terms of excitement for me are the improvements to ownCloud Documents – real-time document editing directly on your ownCloud! We have been updating this through the 6.0.x series so the only ‘unique’ ownCloud 7 feature is the support for transparently converting MS Word documents, but that is a feature that makes Documents many times more useful!

There are many more features, you can find more details on the ownCloud website. The official announcement blog post is here.


This would not have been possible without the hard work of the ownCloud community, so a big thank-you goes out to everybody who contributed! We have a large team of almost 100 regular contributors, making ownCloud one of the largest Open Source projects and that makes me proud.

Of course we have a lot of work to do: revelations of companies and governments spying on people keep coming out and our work is crucial to protect our privacy for the future. If you want to help out with this important work, consider contributing to ownCloud. We can use help in many areas, not just coding. Translation, marketing and design are all important for the success of ownCloud!

The release of ownCloud 7 is not only the conclusion of a lot of hard work by the ownCloud community, but also a new beginning! Not only will we release updates to this release, fixing issues and adding translations, but the community now also starts to update the numerous ownCloud apps to ownCloud 7.

Expect more from us. Now, go, install ownCloud 7 and let me know what you think of it!

]]> 14
Free ownCloud mobile libraries released Thu, 20 Feb 2014 13:20:00 +0000 Today we are happy to announce the release of the ownCloud mobile libraries for iOS and Android. ownCloud is a free file sync and share solution. The main differentiator to Dropbox, Google Drive, and others beside being free software is that you can run it yourself wherever you want. Obviously a central place to you store your files is only useful if you can access it from all devices and integrate it with all of the applications that you use.
Because of that, the ownCloud strategy is to provide as many ways as possible to access files and data stored in ownCloud. We have a strong commitment to support open protocols and formats like WebDAV, CalDAV, CardDAV, OCS, ODF and others. So you can mount your ownCloud via WebDAV easily with KDE, GNOME, Windows, Mac and so on. It’s easy to integrate ownCloud with other systems by transferring files via WebDAV. This is the power of open protocols. But ownCloud provides much more than that. There are mobile applications for iOS and Android and Desktop syncing
clients that you can use to work with you files. The Desktop syncing clients runs on Mac, Windows and Linux and also ship with a command line client that can be used to automatically sync folders between desktops and the server or script it in any way. There is also a C++ library that can be used by 3rdparty clients like the KDE Plasma one. So there are a lot of options to access your ownCloud from the desktop.
On the phone and tablet side it was, until now, a bit more difficult. A user could use the official ownCloud apps, but if a 3rd party app wanted to access an ownCloud server, then the 3rd party app had to implement all of the WebDAV and REST calls needed to talk to ownCloud.
This is why today we released free libraries for iOS and Android that can be used used by mobile developers to add ownCloud support to their apps. They provide easy to use methods to read and write files, share files and many more useful operations. To make these libraries as useful as possible to as many developers as possible, we have released them under the MIT license.
The libraries can be download here
The documentation how to use them can be found here:
For any developer related questions please post to the new ownCloud developer list


]]> 6
ownCloud 6 is here Wed, 11 Dec 2013 14:02:00 +0000 I’m supper happy to announce the release of ownCloud 6 today.
ownCloud 6 is a special release in several way. The community did an incredible job with improving ownCloud in several important areas.
  • Quality. ownCloud is a very fast moving project so it is super important to balance innovative new features with rock solid stability. The ownCloud community introduced several important techniques to improve the quality. As a result we fixed a huge amount of bugs in this release. Also some very old and annoying issues are finally gone. I think this is very important for a lot of users. We will release a series of bugfix releases for in the next few month to iron out the last remaining issues. This is a big step forward.
  • Performance. The performance of ownCloud 6 improved significantly over older versions. The overall file-handling is faster and more optimized. In some areas, like the mounting of SFTP, CIFS or Dropbox servers, the performance improved over 10x. This is great for people who run their ownCloud server on a small device like a Raspberry Pi or on a big cluster to serve hundred thousands of users.
  • Innovation It was always to goal of ownCloud to deliver innovative features to our users and to be the innovation leader in our space. I don’t want to repeat my previous blog posts where I announced the great new features of version 6. Just look at my posts here. and 
  • But I have to say that I’m especially proud about what we did with ownCloud Documents. This is a feature that doesn’t exist anywhere else. Other collaborative editing solutions are 1.) proprietary or 2.) don’t run on your own hardware or 3.) don’t work on top of normal files that you can also sync and share or 4.) a combination of all of this. I belief that this features is super important for the future and the huge response we got from users clearly show that I’m not alone here. This is only the first version of this feature of course. We will keep on improving and polishing it in the future.
Please look at for more information about ownCloud 6.
ownCloud is more important now then every if you follow the latest surveillance and espionage revelations. A free and self hosted alternative to the big proprietary cloud services is essential for the future.
Thanks to the awesome ownCloud community who builds all this. Thanks a lot to everyone who contributed to this great release. And thanks to ownCloud Inc. who sponsors the development of free software.
ownCloud is built by a great community with a completely open development process. Everyone is welcome to join us and help to build software which can protect all of us from surveillance. Please join us at if you want to make the world a little bit better.
]]> 11
Welcome “ownCloud Documents” Thu, 24 Oct 2013 04:35:00 +0000 A couple of weeks ago I blogged about the new features in ownCloud 6. I promised a special surprise in the coming weeks. And here it is. ;-)
In the past few month we have worked on a feature that will be super useful and popular. All the development happened in a public repository on github but we haven’t talked about it in public and perhaps it wasn’t obvious what it was for people who found it by accident.
I’m talking about collaborative editing! This feature is implemented in an app called “ownCloud Documents” and will be part of ownCloud 6. People can view and edit their ODF text documents directly in the browser, inside your ownCloud. Another cool thing is that you can invite users from the same ownCloud to work collaboratively on the same document with you. Or you can send invitation links by email to  people outside your server to collaborate with you on the document.
Several people can navigate in the same document with different  cursors at the same time and you can see the changes that are done by the different users in different colors. Every user is identified by the name and the nice avatar picture that we also introduced in ownCloud 6.
We implemented this feature together with our friends from KO GmbH. The browser part is based on WebODF with a new ownCloud backend to load, save, share documents and a system to distribute the document changes.
This feature is special in several ways:
  • It runs purely on your server. No communication with centralized services like Google — so your data is always protected against surveillance.
  • We didn’t introduce any new server requirements here. Just take  ownCloud and put it into your web server document root and you have your own collaborative editing server. This is far easier to install and run than for example Etherpad.
  • All the documents are based on ODT files that live in your ownCloud. This means that you can sync your documents to your desktop and open them with LibreOffice, Calligra, OpenOffice or MS Office 2013 in parallel. Or you can access them via WebDAV if you want. You also get all the other ownCloud features like versioning, encryption, undelete and so on. This is very unique I think.
  • All the code is completely free software. The PHP and the JS components are released under the AGPL license. This is different than most other solutions. Some of them claim to be open source but use creative commons as a code license which is not free software.
Please note that this is only the first version of this great feature. Not every ODT element is supported but we are working on improving this considerably in the future. We will invest significantly in this because we think that this is a very important feature that is useful for people.
More information about this feature including a demo video and all the other new ownCloud 6 features can be found here:
ownCloud Documents is part of the ownCloud 6 beta 1 that you can download here:
Thanks to the awesome ownCloud community who implemented this innovative feature. Special thanks to our friends from KO GmbH. It’s great to work with you. And thanks to ownCloud Inc. who sponsors the development of free software.
ownCloud is built by a great community with a completely open  development process. Everyone is welcome to join us and help to build software which can protect all of us from surveillance. Please join us at if you want to make the world a little bit better.
]]> 22
Introducing ownCloud 6 Wed, 09 Oct 2013 16:08:00 +0000 Today we release the first Alpha of the latest (ownCloud 6) Community Edition and I’m extremely excited by the latest features. ownCloud 6 is the fastest, best looking, easiest to use ownCloud yet. Oh, and it has a ton of cool, new features that the community can use to safely and privately sync and share files. We also spend a lot of energy on stabilizing and fixing bugs and we will keep on doing this in the future.
The brave at heart can take a look at the Alpha 1 now (warning, may kill your hamster). I’ve listed some of the top features below (more detail to come), and there may be a surprise or two added in the coming weeks.
A new era has begun at ownCloud, ownCloud 6 — thanks to all who helped virtually and in-person in Berlin.
  • Activity feed. See what is going on in your ownCloud
  • Improved design. Less visual clutter and more space for better focus
  • Performance. Improved performance across the board.
  • Avatars. People can upload pictures of themselves that augment their interactions, so users are easily recognized by others.
  • Previews. Thumbnails for filetypes are shown in the interface.
  • Conflict handling. A new web conflict dialog if a file is uploaded that already exists.
  • ownCloud App API. Easier development of 3rd party apps, easier access to core functions for app development.
  • Share file notification. Send an email if sharing a file or folder.
  • Example files for new users. Load new user’s with files, such as a tutorial on how to use ownCloud, which appears when they first log in.
  • Sharing REST API. Control sharing from mobile apps and desktop clients
  • App management. Improved management of 3rd party apps.
  • Bug fixes. A ton of bugfixes went into this release
  • Many smaller improvements
Thanks a lot to everyone in the community who contributed and made ownCloud possible. ownCloud is an open free software community project. Everyone who wants to contribute is welcome. So join us.
]]> 12
Introducing CONTRIBOOK Fri, 02 Aug 2013 18:24:00 +0000 I wan’t to introduce a small side project of me today that we needed for ownCloud but could be useful for other too. It’s call CONTRIBOOK and I planed to do this for many years. Lately I was sitting in planes and trains a lot so I have some time to finally do the version 1.0 It’s a tool that can be used for community building and showing community activity as we wanted to do on but it’s very generic and can be used by other open source projects tool.

Many years ago when we rebranded KDE from KDE the software to KDE the community the question came up how this should be reflected on the website. It was clear that we should show the KDE community on the website in parallel to the software that we do. So I hacked together a few PHP scripts that show the latest blog posts, the latest forum posts and the latest applications on the homepage. This was always planed as a first step but somehow I never found the time to improve it.
Today at ownCloud we are facing the same problem. We want to show the activity of our awesome community on the homepage and invite new contributors but this is not very easy. We are even struggling with our ownCloud blog planet on the homepage. We used a WordPress plugin for that but we had to shut it down because of serious bugs that are not fixed by upstream.
We could just install one of the existing planet software modules that are used by other free software communities but I always found the functionality very limited and I wanted to do something more.

So today I want to announce 1.0 of CONTRIBOOK. It is only the first version but it can already do a lot. I hope that a lot of people use it and contribute to it. It is a tool that can be used for community building. It replaces a normal planet software and adds a few tweaks like responsive design and endless scrolling. But it does a lot more. It collects all kinds of social media information like Twitter posts, Blog posts, forum posts, github commits, RSS feeds and more and shows them in a nice way. You can have a nice feed with the latest activities of your community on a page like the homepage for example. A list of the latest commits, bugs or twitter posts or content entries from an OCS server. Every user can have a profile page with a nice description, a photo, links to other sites with more information and also the latest activities like blog posts, commits and so on.
All the user data is stored in a database. So to add or edit user accounts you have to change it in the database. In the future a user should be able to keep the own information up to date with an html form. This is planed for the next version.

We currently used it on for the planet page to show the blog posts with nice endless scrolling (, the contacts page for a list of core contributors and links to profile pages (, the new apps page ( and the homepage ( I plan to extend it with more features over time but I also hope that other contribute and that it will be used by other free software projects like KDE or GNOME too.
It’s AGPL licensed and lives here:

Feedback, help and pull requests are very welcome.


]]> 4