Frank Karlitschek_ own clouds, free software and privacy Wed, 31 Dec 2014 12:03:38 +0000 en-US hourly 1 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
Thoughts on privacy Tue, 30 Jul 2013 17:47:00 +0000 There is currently a huge public discussion going on about privacy, what it means in the Internet age, is it important or an outdated concept? Are there exceptions allowed? Does the government have special rights to see private documents and communication of the people? Does the government have the right to keep information about what it is doing private or should the government be 100% transparent? Is security more important than privacy?

In the good old days, and I mean 20 years ago, we had very clear regulations and laws about what the government and the police were allowed to do and in what way. I talk mainly about Germany here but I believe this is true for most democratic countries. The content of letters is protected by a special law in Germany called “Briefgeheimnis”. The post office and the police are not allowed to open letters unless there is a strong suspicion that the sender or receiver is a criminal and the letter contains some important evidence. Opening and reading a letter also requires approval from an independent judge. The same is true for telephone calls. It is possible to wiretap it but only in limited cases and after a judge’s approval.  A house search to look at private documents is even more difficult and is not possible even with very strong evidence and after a major crime.

There is a strong protection of the privacy in the offline world.

In the online world of the internet accessing private data is very easy from a technology standpoint. You don’t need a police force to break down your door. You just flip a bit on a server and suddenly someone has full access to all the personal communications and documents of a person.

Some people think that violating the privacy of people is not a problem in the digital world because it is so much cheaper and somehow ‘natural’. It seems to be so easy and built into the technology that all data flows freely without borders and rules.

There is a movement called ‘post privacy’. Some people think that in a post-privacy world everybody loses control over their personal data anyway so we should just live with it and make the best out of it. Think about all the bank robbers we can catch if everyone has access to all phone calls, personal computers and emails. Privacy is a concept of the past and the digital world and the concept of privacy is incompatible by nature.

We don’t control our data anyway. So get over it and stop caring.

A live stream of me sitting on the toilet? A webcam in my bedroom? All my phone calls and all my 1×1 conversations are recorded, public, indexed with voice recognition and searchable? Maybe this is the future? I don’t know. Currently I can’t imagine a world like that and I don’t like the idea for sure. Do you close the door if you sit on a public toilet? If yes, than you agree with me that we all have the need for privacy.

I think the right of privacy is something that has its roots deep in human nature. It’s part of the International Bill of Human Rights of the United Nations and part of the constitution of most democratic countries in the world. Some politicians say that security is more important than privacy. So it is O.K. to violate the privacy of all people because this is needed to fight terrorism.

This is a difficult statement for several reasons. First of all there is not a direct connection between surveillance and security. So a society with total surveillance is not necessarily safe. And a society with strong privacy laws is not necessarily insecure. Examples of countries with strong surveillance are East Germany, Nazi Germany, Cuba or Iran. Examples of countries with low surveillance but still low crime rates and no terrorism are the Scandinavian countries or Spain. Another problem is that surveillance might help the police catch a bank robber but a suicide bomber doesn’t care if you have a video of the terrorist act.

Another fundamental issue with surveillance of people is that the secret services who do the surveillance live basically in the shadow and are not democratically controlled. This makes sense because who would vote for a government that spies on the own people? There must be a reason why secret services are secret and I bet it has something to do with a special interpretation of some laws.

If I would plan a criminal act than I would encrypt my communication and data of course. Only stupid terrorists wouldn’t use strong cryptography or steganography for their communication. So you only hit the “normal” people or the stupid criminals with massive surveillance of everybody.

Another problem is that people behave differently if they know that someone is watching them. This is described in a good way here. ( So massive surveillance changes the society fundamentally.

Massive surveillance of the people by the society also raises serious democratic concerns. One of the most basic democratic principals is that people vote and control the government based on the actions the politicians are doing and how well they represent the will of the people. This principalv doesn’t work anymore if you have a society with secret laws, secret courts, secret court rulings and secret government organizations in general.

I’m using services like Facebook, Google, and others that are known for violating my rights for privacy. Why do I do that? Isn’t this strange for someone who is concerned about privacy rights? I thought about this a lot. Why I was sort of OK with these services in the past? The reason is probably that I only have personal information on these websites that I consider public anyway. Because of that I basically disabled the privacy settings completely and everything about me on this sites is completely public. I don’t trust them to protect my private data like email, documents, address book and so on. Because of that I’m running my own mail server  forever and my ownCloud of course. This works for me but could be a different decision for everyone else.

So the conclusion here is that it is all my choice what I expose to the public and what not.

In Germany we had a ruling of the Bundesverfassungsgericht in the 80s which is the highest court about a principal called “Informationelle Selbstbestimmung“. The english translation could be “informational self-determination”. It means that it is the right of every person to decide what information is private and what is exposed to the public. It defines the rights of every person to control their own data and the privacy. Very similar to the user data manifesto from me. (

But has the government the right to override my choice?

I think the government has the right to restrict my personal freedoms and rights if it is important for the well being of the general public. So the state has the right to arrest criminals for example. But has the state the right to violate my personal privacy and to spy on my personal communication without any evidence? To practice complete surveillance on one person? Absolutely not!

Am I a criminal or terrorist or do I have something to hide from the government?

Do I still have the right to keep my privacy and do want to keep things to myself?
Hell, YES

]]> 5