Showing posts with label ownCloud. Show all posts
Showing posts with label ownCloud. Show all posts

08 June, 2020

Collabora vs ONLYOFFICE

Since the Nextcloud Hub release switched from ONLYOFFICE to Collabora Online as default, lots of people have asked why. Is one better than the other? Let's talk about this.

History

Let me first say - the decision wasn't pure technical. As always, relations and other reasons play a role. I'll try to cover both aspects, but there is always more. With that out of the way, let's first look at how ONLYOFFICE got into Nextcloud.

Frank, myself and others in the Nextcloud community have wanted to integrate office in our collaboration platform for most of the past decade. Previously, we* had invested quite a bit in getting a collaborative document editor into our private cloud. The Documents app was a from-the-ground-up developed ODF editor with a unique and very clever design, built by KO GmbH (now sadly defunct). We together put resources in integration and further development and we hoped other (open source) businesses would invest and contribute too, so the solution would grow in time. Also, we had hoped some customers would be willing to pay for it. Both of these did not really come true, and KO sadly didn't survive.

* Note that I use 'we' here loosely as I wasn't really involved back then, so think 'the core team', as a slowly-changing team of people, including Frank, Jan, Arthur and others.

Fast forward to our launch on June 2 2016 (happy birthday!), and a few months later we announced Collabora Online integration. We had worked with Collabora to make this available not just to enterprise customers, as before, but to all users thanks to the 'CODE' docker image. As you know, we care deeply about community/private home users and this was of course a great step forward.

But running docker, setting up a reverse proxy on a second domain with proper certificates - it isn't easy and does not work for everyone. So we had to keep maintaining the Documents app a little, as some users still could only use that.

ONLYOFFICE vs Collabora

Meanwhile, a new open source online office solution came around, ONLYOFFICE. Let's talk for a sec how they compare Collabora, as the two could not be more technically and non-technically different!

Technical: how they work

The way Collabora Online works is:
An embedded version of Libreoffice runs on the server. It reads the document, then 'streams' the rendered document as image tiles to the browser client, which shows it to the user. The browser client does some of the menu's and lots of smart things like showing the cursor, other users, text selection etc, but many other components like pop-up menu's and sidebars are also streamed from the back-end, giving relatively good feature parity with LibreOffice. This strategy is responsible for giving LibreOffice, for example, desktop-level table style editing, better than any other online office solution.

The way ONLYOFFICE works is:
The document is converted on the server to a JSON file which is streamed to the browser client. The browser client is the full office suite, editing the document. Once done, it sends back the JSON and the server merges and exports it back to a file. A fully html5 canvas based front-end means a relatively pretty user interface and any javascript dev can go hacking.

So what does this mean?

  • LibreOffice is much heavier on the server and network connection, but uses a bit less client resources which tends to help mobile devices with battery life during editing
  • You get the full Libreoffice file type support. Decades worth of obscure file formats, it is all there.
  • ONLYOFFICE has a more modern UI, writing it all in Javascript so it is far easier to be mobile-friendly. You can imagine how useless those old LibreOffice paragraph settings dialogs are on a mobile phone screen!
  • In theory ONLYOFFICE would be much easier to integrate in web apps in general. Most app frameworks can consume a javascript or json component, a simply streamed, tiled image is far less flexible...

Compatibility

On document support, three things.

First, with regard to the Microsoft file compatibility - this is ALWAYS hit and miss. I can't objectively claim either is better or worse, you will always find a file that works well in one but not the other. But you will also find lots of MS Office files that won't work in Office 365, or break the desktop version between Mac and Windows or even just from older versions, because Microsoft screwed up their own compatibility.

Second, one thing I can say: if you migrate from Collabora Online to ONLYOFFICE and most of your files are ODF files because that's what Collabora uses by default, you're in for a bad experience. The ODF support in ONLYOFFICE is quite basic. But with MS Office files they feel on-par to me and that's what probably matters for most people. (sadly, yes)

Third, if you need any other file types - Collabora can handle a LOT, due to its long legacy. Word Perfect anyone?

For other technical capabilities - I probably be best off simply pointing to the comparisons both made themselves:

Social/historical differences

Let's talk about the second big difference between Collabora and ONLYOFFICE: their roots. Collabora builds on and is part of the LibreOffice community, a decades-old project, and consists of long time open source believers. Development is open and accessible and there are lots of individuals and companies that work on and can provide services for its code base. ONLYOFFICE on the other hand, is quite new to open source and only a bit over a dozen people have contributed to the code base. Their open core model if of course less than favorite in the open source world, though it is still miles better than proprietary - some people seem to lose sight of that sometimes, if you ask me. For an end user, the development model makes little difference, in either case.

let me emphasize two things.
First, it is awesome that we have TWO open source office suits. Building one is an amazing accomplishment - we have had others in the past but most are no longer really viable due to the massive amount of resources required to keep up.
Second, I think it is great that ONLYOFFICE decided to open source their product. I believe most people really under estimate what it takes to turn around your business model so radically. And if you're unhappy with decisions made, in either case - contribute, get involved. That is how you change things in open source.

Getting Office in Nextcloud

So, as I said in the History section, by 2017 we had three office solutions integrated in Nextcloud. One was easy to install but unmaintained and quickly deteriorating. The other two were harder to install but much more complete.

You know we're ambitious people, so indeed we have thought about and discussed this situation forever. And at some point, Robin started to really investigate what would be possible. After looking deeply at both, he finally managed to create a proof of concept with ONLYOFFICE. What he did was:

1. Separate the 'converter' part from ONLYOFFICE, the javascript front-end and the 'rest'
2. Made a separate binary of the converter, package the javascript and rewrite all the glue that lets them interact in PHP
3. Make this thing install-able as one big blob, acting as alternative 'server' with a proxy component that ties it all together

This was a LOT of work, but after polishing it, we had something we could show to the ONLYOFFICE people. They were initially not huge fans of what we did - no surprise, as it was an ugly solution. We discussed this for a fair bit and in the end, we agreed on an approach.

The result was what we made available last January with the first release of Nextcloud hub. We saw it as a first step towards deeper integration. Watch the video below to get an idea of what it looked like!

📺 view video on YouTube

And then...

After release, two things happened.
First, ONLYOFFICE has sadly been unable to focus much on the integration with Nextcloud. There was a long wish list we had - there is a lot you can do to make the experience nicer, from removing/disabling/hiding duplicated features like the build in chat and file handling to making file collaboration work in other apps like Talk, or adding certain features that connect even deeper like @mentioning users for example. Unfortunately, this didn't happen. No blame, there is a lot happening in the world right now!
Second, Collabora was inspired by the work and while we didn't think we could make it install-able with such ease, they obviously know their own technology better. And indeed, they did make it happen! Besides that, we worked with them to improve the already pretty good integration further, allowing you to edit documents while in a video call or chat in Talk.

As our focus continues to be on providing the best experience possible, we simply looked at that: what gives, right now, the best experience. And thus our latest video shows Collabora instead...

📺 view video on YouTube

Note that this doesn't mean we don't like ONLYOFFICE. 😍 This just changed the default you get on installation. Both solutions are very good and continue to be available for users! And perhaps things will change for the next release. Given the large differences at every level between the two, I consider it a benefit to have both approaches available for Nextcloud users!

So is Collabora better?

I will let Captain Marvel answer that.

25 June, 2018

Working at Nextcloud

I've been around in communities like KDE, openSUSE, Mandrake/Mandriva and others... and various open source and closed companies. Seen some do a good job. Seen others be mismanaged. This one: the most fun. Serious.

Working at Nextcloud is special. For one, we're a distributed company. Is it hard? Well, yes and no. Working from home is great with such a motivated team with very little management overhead and good communication. Our company is entirely built on it, that is why it works.

As an example, while our head of sales lives in Hannover, the rest of the sales people is spread over Berlin, Switzerland, Stuttgart... Engineers can be found in Germany, Netherlands, Spain, even Croatia and as far as Cape Verde. I'm sure I forgot some countries. Our biggest office in Stuttgart has less people than we have in Berlin!

But we connect in person: roughly every second month, at a company-wide meeting in a single place, usually Stuttgart, for a full week of coding and having a great time. And once a year we go to Berlin for our conference, happening the last week of August! All those meetings are open, with often lots of community members participating in the whole process of designing and deciding around our software.

And yes, the sales people join there, too. I have NEVER worked in a company where the sales people, the marketing team and the engineers were so good with each other. Respect between these three departments is extremely rare, as I'm sure every one of my readers knows from experience.


Me handing the mic to the guys that started it all back in 2010


What else is crazy about Nextcloud? Here's another one: where lots of companies struggle to find good engineers, that is literally the LEAST of our problems. We drown in amazingly good CV's and have a big pool of enthusiastic, qualified engineers who contribute to Nextcloud and already know the code. I wish we could hire them all but growing more than 50-80% per year isn't really health for a company culture...

Also special: other companies struggle to get sales leads and pay lots of (advertising) money for them. We, we drown in leads... Even without marketing automation. Our biggest challenge, instead, is answering all the requests from companies that want to buy our product - we need more sales people!

Yes, we're a pretty unique company in how we approach open source business and we're successfully taking on much bigger companies. Yes, it works! Just check how we're doing on Google Trends. Love that!

If you want to work for us, especially in sales, or know somebody who should, tell me ;-)

Or first learn about us by meeting us - you're welcome at our conference! Or at one of our meetups, there's a monthly one in Berlin for example.



17 January, 2017

Happy Birthday ownCloud

Seven years ago at Camp KDE in San Diego, Frank announced a project to help people protect their privacy, building an alternative to Dropbox: ownCloud.

I was there, sharing a room with Frank at the infamous Banana Bungalow. Epic times, I can tell you that - there was lots of rum, lots of rain and loads of good conversations and making new friends.





Since then, a lot has changed. But the people who started building a self-hosted, privacy protecting alternative in 2010 and 2011 are still on it! In 2011, a first meetup was held, and the 5 participants at that meetup recently got on stage at the Nextcloud conference to recall some good memories:



Of course, today we continue the work at Nextcloud, that just yesterday published its latest bugfix- and security update. It is great to see so many people have stuck with us for all these years - just this month, the KDE sysadmins migrated their ownCloud instance to Nextcloud!

We'll keep up the good work and you're welcome to join, either if you're looking for a job or just want to code. In both cases I can promise you: working with such a motivated, dedicated, professional team is just plain amazing.

I also published a blog on our Nextcloud blog about this milestone.

EDIT: By the way - there's a meetup tonight in C-Base, B'lin, 19:00 - would be fun to drink a beer on ownCloud's birthday and talk about the future! Join! It will be at least until 10 or so, so if you can't be there before then - still come! ;-)

25 August, 2016

Latest attacks on privacy...

With the EU (in this case France and Germany) gearing up for another attack on privacy I'm quite happy and proud to have been part of the release of Nextcloud 10!

Privacy

It is the usual story: we should disallow companies from using perfect end to end encryption and force them to insert backdoors against terrorists.

Not that it would help - that's been discussed extensively already but in short:
  • If you have nothing to hide, you'll use a backdoored app and you're vulnerable to foreign (and your own) governments, terrorists (!), criminals and others who can abuse your data in more ways than you can imagine.
  • If you have something to hide, you can use 1000 different tools to do so and there is nothing government can do about that so you won't use a backdoored app.
  • And note that government has failed to even use fully unencrypted information to stop terrorist attacks so perhaps we should first see if they can actually get their act together there.
Now yes, backdooring all commonly used encryption apps will help a BIT, essentially only with the low level, common crime. So you might catch the dude who broke into your house and bragged about it to his friends over Whatsapp. You won't catch the terrorists plotting with Al Qaida (or whatever the terrorist organization du-jour) to blow up a train because they can simply get one of the many solutions out there to protect themselves.

Nor will you catch corrupt politicians or big companies doing nasty stuff, though I am quite certain the laws will be written in such a way that you can use them to go after people who actually try to expose such politicians or companies.

And I'm also quite certain companies will use this as an excuse to not implement proper protection in their products so you can continue to stop pacemakers remotely or disable the brakes in cars over the internet.

Generally, laws targeting encryption and terrorism do more to harm whistleblowing than terrorism and are thus promoting corruption and bad, unsecure products.

These laws will literally cost lives. Not save any.

And it is exactly why Frank started ownCloud and why we continue to develop that vision at Nextcloud. And keep developing new features, like the File Access Control app which can provide an extra protective layer around your data. I for one certainly can use that app and exactly in the way described in that blog! So much for 'enterprise only features'.


Get it and migrate today. You and your data deserve it!

16 June, 2016

Migrating to Nextcloud 9

Now that Nextcloud 9 is out, many users are already interested in migration so I'd like to address the why and how in this blog post.

Edit: Nextcloud 10 is out with loads of unique features. We now also have a client! You can find out about client account migration here.

Why migrate

Let's start with the why. First, you don't have to migrate yet. This release as well as at least the upcoming releases of own- and Nextcloud will be compatible so you'll be able to migrate between them in the future. We don't want to break compatibility if we can avoid it!

Of course, right now Nextcloud 9 has some extra features and fixes and future releases will introduce other capabilities. With regards to security, we have Lukas Reschke working for us. However, we promise that for the foreseeable future we will continue to report all security issues we find to upstream in advance of any release we do. That means well ahead of our usual public disclosure policy, so security doesn't have to be a reason for people to move.

EditNextcloud 10 comes with far more features on top of this. For Nextcloud 11 we have a ambitious road map already but we'll still enable migration from ownCloud 9.1 to Nextcloud 11 so you can migrate at your leisure!

Migration overview

If you've decided to migrate there are a number of steps to go through:
  • Make sure you have everything set up properly and do a backup
  • Move the old ownCloud install, preserving data and config
  • Extract Nextcloud, correct permissions and put back data and config
  • Switch data and config
  • Trigger the update via command line or the web UI
Note that we don't offer packages. This has been just too problematic in the past and while we might offer some for enterprise distributions, we hope to work together with distributions to create packages for Nextcloud 9 and newer releases. Once that is done we will of course link to those on our installation page.

There are other great resources besides this blog, especially this awesome post on our forums which gives a great and even more detailed overview of a migration with an Ubuntu/NGINX/PHP7/MariaDB setup.

Edit: With regard to packages, there are now packages for CentOS and Fedora and other distributions will likely follow soon. See our packages repository if you want to help!

Preparation

First, let's check if you're set up properly. Make sure:
  • You are on ownCloud 8.2.3 or later
  • Make sure you have all dependencies
  • Your favorite apps are compatible (with ownCloud 9), you can check this by visiting the app store at apps.owncloud.com
  • You made a backup
Once that's all done, time to move to the next step: cleaning out the old files.

Removing old files

In this step, we'll move the existing installation preserving the data and configuration.
  • Put your server in maintenance mode. Go to the folder ownCloud is installed in and execute sudo -u www-data php occ maintenance:mode --on (www-data has to be your HTTP user). You can also edit your config.php file and changing 'maintenance' => false, to 'maintenance' => true,.
  • Now move the data and config folder out of the way. Best to go to your webserver folder (something like /var/www/htdocs/ and do a mv owncloud owncloud-backup

Deploying Nextcloud

Now, we will put Nextcloud in place.
  • Grab Nextcloud from our download page or use wget: wget https://download.nextcloud.com/server/releases/nextcloud-9.0.50.zip
    • Optional: you can verify if the download went correct using our MD5 code, see this page. Run md5sum nextcloud-9.0.50.zip. The output has to match this value: 5ae47c800d1f9889bd5f0075b6dbb3ba
  • Now extract Nextcloud: unzip nextcloud-9.0.50.zip or tar -xvf nextcloud-9.0.50.tar.bz2
  • Put the config.php file in the right spot: cp owncloud-backup/config/config.php nextcloud/config/config.php
  • Now change the ownership of the files to that of your webserver, for example chown wwwrun:www * -R or chown www-data *
  • If you keep your data/ directory in your owncloud/ directory, copy it to your new nextcloud/ [*]. If you keep it outside of owncloud/ then you don't need to do anything as its location is in config.php.

* Note that if you have been upgrading your server from before ownCloud 6.0 there is a risk that moving the data directory causes issues. It is best to keep the folder with Nextcloud named 'owncloud'. This also avoids having to change all kinds of settings on the server, so it might be a wise choice in any case: rename the nextcloud folder to owncloud.

Now upgrade!

Next up is restarting the webserver and upgrading.
  • Restart your webserver. How depends on your distribution. For example, rcapache2 restart on openSUSE, service restart apache2 on Ubuntu.
  • You can now trigger the update either via OCC or via web. Command line is the most reliable solution. Run it as sudo -u apache php occ upgrade from the nextcloud folder. This has to run as the user of your webserver and thus can also be www-data or www for example.
  • Then, finally, turn of maintenance mode: sudo -u www-data php occ maintenance:mode --off

That's it!

At this point, you'll see the fresh blue of a Nextcloud server! If you encounter any issues with upgrading, discuss them on our forums.

14 June, 2016

On Open Source, forking and collaboration: Nextcloud 9 is here!

The nature of Open Source is, in a sense, dualistic. It encourages collaboration through the threat of not collaborating--a fork. When I was approached by Struktur AG to join them to work on ownCloud and Spreed, I loved the idea. I always wanted an ecosystem around ownCloud, which is why I pushed things forward like our collaboration with Western Digital Labs and Collabora, matters of no business interest to the company I worked for. I believe a stronger ecosystem benefits everybody.

Ecosystems and confidence

A major point which makes open source so beneficial for businesses is that it puts pressure on suppliers to offer great service and support. If they don't, another can enter the market and out-service them. Tight control over the community tough things like CLA and trademark makes it hard to grow such an ecosystem and negates some of the benefits of open source for customers.

Luckily, in the end, the AGPL license protects the future of a project, even if its steward clings to power. From conversations with Niels early on, it was clear to me that he has a very different and very confident view on his ability to run a real open source company. His history at Red Hat results in frequent comparisons. And indeed, Red Hat runs things the right way, even supporting a project like CentOS which many other companies would consider an existential threat to their business model. Just as their investment in opensource.com shows: they aim to grow the pie, not grab a bigger slice.

former 'enterprise feature' done right (and open)


I'm super proud and happy that we could announce today, with our first release, that Nextcloud will not be doing proprietary code. No closed apps means no inherent conflict between sales and community management/developers within the company, but a full alignment in one simple direction: servicing the customer.

And if you wonder about the collaboration with Collabora/LibreOffice Online and with Western Digital: yes, of course, we'll go full steam ahead and will facilitate where we can! No, we're not afraid that either would 'compete' with us: both will complement and strengthen the ecosystem. So we will work together.

Why? Because the core contributors and founder shared an ambitious goal for Nextcloud: be THE solution for privacy and security.

02 June, 2016

Nextcloud is the future of open source file sync and share

So today is the day: we announce that we're forking ownCloud at some point the coming weeks. We includes project founder Frank and the core ownCloud contributors who publicly quit ownCloud, Inc. over the last weeks - Lukas, Arthur, Morris, Bjoern, Jan-Christoph and quite a few others as well who can't talk about that yet. As of now, most of the top contributors to ownCloud core are joining and of course, we're very busy hiring and aim to leave no (wo)man behind.

'why' is the question everybody has and I hope you understand I don't want to talk too much about that. Instead, let me talk about what we are going to do.

A healthy Nextcloud

Open source projects work best when they have a company behind them which aims to build a sustainable business around a symbiotic relationship with the community they are a part off. Make no mistake, I think it's great if people (investors, founders) can cash out big. They take a risk, put in blood, sweat and tears. But venture capital often leads to short term thinking and chasing of quarterly numbers resulting in bad decisions. Money, time and effort is wasted and growth isn't what it could be - and that's pretty much a best case scenario.

The good news is that we're starting a new company, Nextcloud, which will do things right: build a sustainable, durable business. We've got support from Niels Mache, long time open source entrepreneur and owner of the spreed video conferencing business. Nextcloud will integrate with spreed's successor, the open source, webRTC based spreed.me video conferencing software, kickstarting as a healthy, growing business with loads of customers while the integration provides a real valuable new feature to users.

What we will offer

This reboot of ownCloud is meant to be good for users, customers and contributors alike. So we'll be providing a drop-in replacement for users next month, which will bring them the stability and security updates they need as well as full spreed.ME video conferencing integration.

For customers, the drop-in replacement will be accompanied with a Enterprise Subscription which gives them all the support and features they are used to. Better, even: we will honor all contracts so nobody has to pay twice or get in trouble. On top of that we plan to support some of the most popular apps like Calendar and Contacts both for home users and enterprises. Our goal here is to ensure nobody is left without the support they need to be happy, successful own/Nextcloud users.

We're setting up infrastructure now for the wider contributor community to join us. We've got some improvements in store, including new forums (discourse based), no more Contributor License Agreement and a foundation that will hold trademarks (not have them sub-licensed; nor be under company control!). January last year we did a survey of what community contributors would like to see improved and, finally, we can implement many of those requests. I will blog more about that later today!

Future

I know that this is a surprise to everybody and it isn't that you should be joining RIGHT NOW or I'll hate you forever, on the contrary. ownCloud is a very important project and a rash decision makes no sense. We are in it for the long haul, our goal is a smooth transition and that means we will take some time to prepare things on our end. We've always been in close contact with our contributors and this new thing can only be open and public from now on so let's take our time to do this right. Over the coming days we'll blog about our plans and you can provide input and help us make the right decisions!

This endeavor will take some time and effort, but successful examples like LibreOffice and MariaDB have shown that, in the end, the community will find a way to get it right. I'm confident that we will be able to deliver even better solutions for our users and customers thanks to a redefined, more open community and company relationship!

Check out our announcement blog, our website and ping me or ask your questions in our Live Nextcloud Q&A Hangout with Frank and myself, moderated by Bryan Lunduke, today at 19:00 PM Berlin/Amsterdam/Paris time, 10:00 AM Pacific time.

And yes, if you want to join us, send an email, we're hiring!

20 May, 2016

Moving on from ownCloud

A few days ago, I published my last blogpost as ’ownCloud’ on our blog roll about the ownCloud community having grown by 80% in the last year. Talk about leaving on a high note!

Yes, I’ll be leaving ownCloud, Inc. - but not the community. As the numbers from my last post make clear, the ownCloud community is doing awesome. It is growing at an exponential rate and while that in itself poses challenges, the community is healthy and doing great.

I joined in 2014, when ownCloud, Inc. had about 36 employees. The community grew that year, according to our history page, from 1 million users to 2.2 while the number of average coders per month went from 62 to 76. For me, the coolest thing that year was the ownCloud Contributor Conference, that brought together 100 contributors for a week of hacking at the university of Berlin. A stressful, but awesome week. Though, my first meeting most of my colleagues was some months earlier at the Stuttgart meetup and my first release was ownCloud 7 not long before the event.

2015 was more of that - our history page has a great overview and I’m darn proud of having been a part of all those things. 2016 brought ownCloud 9, a major release, which was accompanied by an overhaul of owncloud.org, I hope you like our new website!

Not everything is finished, of course. We’re still smack in the middle of awesome work with Collabora and Spreed as well as the WDLabs PiDrive project - I just finished and published this page about it. All great stuff which has great momentum and will certainly move forward.

Myself, I’ll stay around in the community. I’ll talk about the awesome stuff that is coming next early June but until then, don’t hesitate to contact me if you’ve got any questions about ownCloud or anything else. You can still catch me on jos@opensuse.org ;-)

11 May, 2016

A tip for dealing with the first GSOC weeks.

No matter if you're GSoC student in openSUSE, KDE, ownCloud or anywhere else, you're community bonding period has started. This is not an easy time because starting something new is always hard and this is, in a sense, a new job.

And many students are still busy with exams and other things. You are ambitious, of course, so you make promises to your mentor and then--you might not be able to follow through on that. You're too busy studying or this family-and-friends thing gets in the way. Now what?

It is fine to make mistakes or miss a deadline...

Please understand that we get this! It is not a surprise and you're not alone. The key here is to communicate with your mentors. That way, they know why you're busy and when you will be back.

Not having time for something, even if you promised - really, that is OK. When you have a job in the future it will happen all the time that more urgent things come up and you can't meet a deadline. Key is that you TALK about it. Make sure people know.

Let me give you a short anecdote - something that didn't even happen that early in my career...

At some point early in my job at a new company, I was on on a business trip and I missed my train. It was quite stupid: I got out in the wrong station. The result was that I had to buy a new ticket, spending over USD 180. I was quite upset about it and afraid to tell my manager about my blunder. I did the easiest thing: just avoid talking to my boss at all. As he was in the US and I was in Europe, that was not hard at all... But, after three weeks of finding all kinds of excuses to get out of our regular calls, he gave me a direct call and said: "what the heck is going on?". I admitted the whole thing and, of course, he was quite upset. But not at the USD 180. That is nothing on the budget of his or any team in any company. The costs of me not talking to him, now that he was serious about and I had to promise to never do that, ever, again.

... if you communicate about it

So what can you learn from my mistake? The rule, especially in the beginning of your career, is to over-communicate. Especially when it comes to new employees, many managers are anxious and worried about what is going on. Telling them often, even every day, how things are going and what you're doing is something they will never complain about.

You can practice during GSOC: sending a daily ping about the state to your mentor, even if it is "hey, I had no time yesterday, and won't have any today". And a weekly, bigger report on what you worked on is also a very good thing to get going.

Understand that it is not unprofessional to miss a deadline or make a mistake, but it IS unprofessional if it comes as a surprise to others when they find out later on!

Especially if there's some kind of issue or you got stuck: you don't have to ask for help right away, though you should not wait to long--topic for another blog. But it is important that management knows. It makes them feel in control and believe me, the nightmare of every manager is to not be in control! If you do these things when you start working I promise you: it will score you points with your boss and help your career.

03 February, 2016

Why use ZIP instead of TAR?


I've been asked recently why ownCloud zipps its files instead of tarring them. .tar preserves file permissions, for one, and with tar.gz or tar.bz2 you have compression too.

Good question. Let me start by noting that we actually have both: zip and tar.bz2. But why zip?

A long time ago and far, far away

In the beginning, we used tar.bz2. As ownCloud gained Windows Server support, we added zip. Once we dropped Windows support, we could have killed the zip files. But we had reasons not to: tar is, sadly, not perfect.

Issues with Tar

You see, tar isn't a single format or a 'real' standard. If you have a platform other than plain, modern Linux, think BSD or Solaris, or the weird things you can find on NAS devices, tar files can get you in trouble. Unlike zip, tar files also can have issues with character format support or deep folders. We've had situations where upgrades went wrong and during debugging we found that moving to zip solved the problem miraculously... And, as ownCloud, we're squarely focused on the practical user experience so we keep zip, alongside tar.bz2.

See also the GNU tar manual if you want to know more about the various tar formats and limitations.

Sadly, sometimes it is impossible to find one thing that works for everyone and in every situation.


Tarred turtle pic from wikimedia, Creative Commons license. Yes, that's a different tar, I know. But - save the turtles!

29 January, 2016

ownCloud, openSUSE and KDE in Brazil?

Hi ownCloud, KDE and openSUSE peeps!

We will soon be traveling to Brasil to visit family in various places (from Amazonia to Rio Grande do Sul). We'll land in Sao Paulo and stay there between February 9 and 11 - if you're a KDE, ownCloud or openSUSE contributor in that area and want me to try and bring some swag like flyers, stickers and posters for events, we could meet! Perhaps there's time for a lunch or dinner at some point.

Ping me, either here below in the comments or by sending me an email.

Videos from our last trips to Brasil:



28 January, 2016

SCALE14x - and 8 million users for ownCloud!

After covering openSUSE and KDE booths at SCALE in my previous blog, let's talk ownCloud. Note that, despite the awesomeness of this blog post, our biggest news right now is probably the announcement that ownCloud has an estimated 8 million users!

Our booth

So SCALE14x had an ownCloud booth staffed by the Dynamic Duo Matt McGraw and yours truly. We had the usual flyers, posters and stickers but Matt had also brought a big monitor and Mountain Dew. In case you don't know the drink, it is important to know that it is by far not as natural as the name suggests.

The Story of the Mountain Dew

The plan with the drinks was to hand them out to people who would mention Chris' hair (the Linux Action Show host) - Matt had told people to come by our booth and ask about it to get a drink. Sadly, nobody did show, either due to fear of Mountain Dew (my bet) or there were few or no Linux Action Show viewers at SCALE14x... The idea is brilliant, though, and I think we should try again next year. Perhaps with a drink that isn't fluorescent green, or make sure Chris mentions it in the Linux Action Show itself?

Latest prototype of the ownCloud WD Pi Drive

(and seriously, I had a few Moutain Dew's, nothing wrong with carbonated sugar drinks if you ask me)

Western Digital Pi Drive Kits

The monitor had another purpose: demo ownCloud, of course. That turned out real cool: upon arrival at my hotel, I had received a package with the latest prototypes of our Pi Drive kits send by Western Digital! The casings have a cool ownCloud logo on them and there was a custom, 3d-printed cover to close the thing off on the top, looking real slick with ownCloud logo cut-out.

Anyhow, we assembled one Pi kit, put ownCloud on it (duh) and ran it from the screen so we could demo ownCloud. The other kit we kept in half-assembled state for people to check out. We had a *lot* of people who were interested, we certainly sold many of the existing Pi Drive kits (you can already get them, without ownCloud though, from the WD store) while many others will wait for us to release the PiDrive with ownCloud. Maybe I'm very optimistic here but the excitement was so great I have the feeling we'll sell those 500 in no time.

On a related note, the Western Digital team working on the Pi Drive/ownCloud project came by the booth for a chat, too. It was great to meet them and shake hands in real life!

Matt explains what this 'ownCloud' thing is

Booth visitors

So we talked to people at the booth. I must've talked to about 50.000 people, my throat is soar (and you all know I have plenty experience talking as I usually can't stop - so this is saying something). Some highlights from me (I'm hoping Matt will share some of his):

  • talked to Ubuntu people about the Pi project, they love it and want to work with us on that and other things.
  • Cory Doctorow came to our booth to tell us how much he loves what we do. I asked if I could quote him but forgot to ask him for a picture.
  • A photography-loving couple came by our booth and they were super duper excited to hear about ownCloud. For them, a better way of sharing pictures, esp large amounts (dropbox ain't so good with the tens of gigabytes) was really interesting. The girl claimed that if you could see emoticons IRL she'd have hearts flying out of her head. Yeah, disturbingly geeky, but fun!
  • somebody noted that it'd be good to have had 'a marketing person' at our booth, as no 'marketing person' would've forgotten to ask Corey for a picture. I thought about new job opportunities.
  • Talked to Intel people about Minnowboard - intel Pi like board. Might be interesting for our Pi Drive project - at least it has USB 3, Sata, room for a MSATA card (!) and loads of ram. Of course, there is price but - let's see.
  • Talked to the community manager from Digital Ocean, we'll do some promo together. He also asked if we could give feedback on their ownCloud setup/one- click-install image. I've asked for a free login to check it out, I'll then ask around soon if anybody is interested in checking out what they have and giving them tips on improving it. I'll also ask how many users they approximately have, would be interesting to know!
  • Corey came by the booth again, as he wanted to tell us about XO-ware and their tech to get through firewalls. I first made him hold our poster and took a pic for on twitter.
  • Talked to CEO of XO-ware. They found a way through the firewall of routers which involves an external server but no proxy-ing. They plan on open-sourcing their stuff next month, we should look into it for ownCloud Proxy and the Pi-Drive project. Oh, and it is interesting tech in general, of course! Check it out.
  • In the plane back home I sat next to a movie music composer (you can hear him in the latest X-men, for better or worse) who was completely happy once told about ownCloud - he's now shuffling gigabytes of music files with Dropbox but not too happy with it. ownCloud might become big in Hollywood ;-)

Talked to many, many more interesting, nice, sweet, peculiar people from all over but there's one last special thing I must share: I did not hear A SINGLE COMPLAINT. None. Nada. Zilch. Sure, people were happy to hear we're working on stuff like the upgrade process, but none of them complained. Maybe it was the sunny weather but I just think you're all doing a GREAT job, because that is what people told me!!!

So a big THANK YOU relayed from SCALE14x. Hugs all around: *you all rock!*

Talks

I gave two talks, one about ownCloud scalability and Raspberry Pi. That is a weird combination indeed, it was inspired by Joas' cool BananaPi Cluster project. I couldn't use that, though, as it is a bit stuck and I myself didn't have time to experiment much either. Thus, instead, I talked about scalability, different Pi devices and the Western Digital project (again, lots of people excited about that). Find it here.

The second talk was a longer version of the lightning talk I did at the ownCloud Contributor Conference. Clearly, that was compressed too much, this one worked out far better and people said they liked it a lot. Well, hey, if I insult you and yet you come ask for more, either I do something right or you do something wrong, correct? The talk starts at about the 8th minute, enjoy.



more

I did also talk to some press people, spend sleepless nights due to jetlag and found decent Blueberry Pancakes. I miss good bread whenever I visit the US (and UK) but pancakes, oh boy, THAT they do right like nobody... Hmmmm.

Of course I had fun dancing the security theater at the airports I went through, with some special fun at Gatwick. Going through a very comprehensive security check right after stepping off your plane from Los Angelos seems... beyond useless. And all those comprehensive checks didn't notice there's a typo in my name on the tickets. Ahum. I'd probably be stuck half the way if they really read my email AND had the resources to actually do something with it - but we all know that they rather throw more hay on the stack than spend time finding the needle so I felt quite safe emailing a report including this note to the ownCloud mailing list from London Gatwick!


Swapnil 'praying' for his food ;-)

Well, that's it, if you read through all of it to this point I tip my hat to you for your commendable stamina enduring my writing. If you want that hat tip on camera, look me up on FOSDEM and we'll take a pic with me tipping my hat to you.

20 January, 2016

Patching ownCloud: get your fix NOW

you can also get quickly loading kittens!
Sometimes, there's something broken. Or, there's a feature you want in your ownCloud installation now. Not after the next release, NOW!

Well, if the code has been developed but not yet released, you can have it. If you're willing to put in a little work and take a bit of risk!

Let me show how it works.

What we want

Say, you just added 3000 holiday pictures to ownCloud. When you load the folder with the images in the web UI, it is very slow as all thumbnails have to be generated and provided to your browser! What if ownCloud could simply generate all of them during, say, tonight?

Awesome Oparoz has developed code which gives the occ command the ability to run through your ownCloud, either in its entirety or per user account, and generate all thumbnails. But this code hasn't been merged: Oparoz wants to create code tests first before he merges this, to ensure the quality of the code base. Sadly, he hasn't had time to create tests and nobody else has stepped in yet...

(edit: some years later, this has become the super cool Preview Generator app you can just install from here.)

How we get it

How to get this code? Github has this cool trick where you can add .patch behind a pull request URL, like this: https://github.com/owncloud/gallery/pull/387.patch.

Patch your ownCloud with it! This is how:

  1. log in to your server
  2. navigate to the Gallery app folder
  3. grab the patch: wget https://github.com/owncloud/gallery/pull/387.patch
  4. test patching: patch -p1 --dry-run < 387.patch
  5. If you get only a checking [filename] you're all good!
  6. If you have errors check if you are on the right ownCloud release (the patch might be for the latest master and not work on the release you have) and see if you are in the right sub folder.
  7. Now run patch -p1 < 387.patch
  8. Go and enjoy your feature...
  9. If you want to undo the change run: patch -p1 -R < 387.patch

NOTES:
  • of course - everything's Nextcloud now - where most the development on former ownCloud code base is happening.
  • be careful running random code from github in your Nextcloud, just like experimental apps - this is untested by definition.
  • Also, if you go and add all kinds of patches which end up burning down your house and killing your kittens you have only yourself to blame. I gave you a knife, YOU decided to stick it in your eye.
  • Last but not least, if it works (or doesn't) report back, this is called 'testing' and very valuable to us!!! It will help get the code merged sooner.
  • Idea to blog about it came from the ownCloud meetup evening before publishing - we still do monthly meetups in Berlin and other cities for Nextcloud ;-)


Get Started With ownCloud App Development in Six Steps - the Quick and Dirty Way!

ownCloud Mail, a great newcomer
What's simpler than downloading a zip file, extracting it and running a command in the resulting folder to get an ownCloud server up on localhost?

Yes, it can be that simple, though it might require a few minor tweaks and you have to make sure to have all ownCloud dependencies installed.

Note that this is useful if you want to develop an ownCloud app. If you want to develop on the ownCloud core, a git checkout is the way to go, get started here. Feedback on this process is highly appreciated, especially if it comes with a pull request for our documentation of course ;-)

Step 1 and Two: Dependencies

  • Install PHP and the modules mentioned here
    Your distro should make the installation easy. Try these:
    • openSUSE: zypper in php5 php5-ctype php5-curl php5-dom php5-fileinfo php5-gd php5-iconv php5-json php5-ldap php5-mbstring php5-openssl php5-pdo php5-pear php5-posix php5-sqlite php5-tokenizer php5-xmlreader php5-xmlwriter php5-zip php5-zlib
    • Debian: apt-get install php5 php5-json php5-gd php5-sqlite curl libcurl3 libcurl3-dev php5-curl php5-common php-xml-parser php5-ldap bzip2
  • Make ownCloud session management work under your own user account.
    Either change the path of php session files or chmod 777 the folder they are in, usually something like /var/lib/php (debian/SUSE) or /var/lib/php/session (Red Hat).

The Final Four Steps


ownCloud should present you with its installation steps! Give your username and password and you're up and running with SQLite.

Alternative with OCDev

An alternative is to use OCDev which you can grab here. After installation, you run
ocdev setup core

See the app development tutorial here.

Start with the app

Now you create a subfolder in the owncloud/apps with the name of your app and put in a skeleton. With OCDev:
ocdev startapp MyApp

By hand, you can copy an existing app and hack that up ;-)

It's probably wise to now get going with the app development tutorial here. Be sure to check out the changelog, we try to make sure the latest changes are noted there so even if we didn't manage to fully update the tutorial, you can find out what will and won't work in the changelog. Also, be sure to update the links to get the latest dev doc - this all links to 9.0, once that is out it is probably better to directly target 9.1 and so on.

Your input is very much welcome! If you run through these steps and get stuck somewhere, let me know and I'll update the documentation. Or, of course better still, do a pull request on the documentation right in github. You don't even have to do a full checkout, smaller fixes can easily be done in the web interface on github.

Thanks, good luck, and have fun building ownCloud apps!

14 January, 2016

How to Upgrade ownCloud: Don't Skip Releases!

If my blog with 5 reasons to upgrade your ownCloud was convincing, you might want to know how. To help people who want to upgrade ownCloud, I always publish a .org blog about upgrading the day after a major ownCloud release. Upgrading any complex piece of software can be hard and while we do what we can to simplify it (with major work coming in that area for 9.0 and onwards) it is never smart to 'just' upgrade without reading documentation and release notes. But there's one tip I want to share in particular: don't try to skip releases!

Upgrade Process

We got excellent documentation on upgrading - read it. I also strongly recommend to have a quick look at the release notes before upgrading to a major release. Find the ownCloud 8.0 release notes here, 8.1 here and 8.2 here.

What you MUST know:
  • Do not skip any major releases. We have added code, at some point, to make this impossible - don't try to work around this but first upgrade to intermediate releases! This is also one of the reasons why regularly upgrading is a better idea than waiting to the very last moment and then upgrading multiple releases. Regularly upgrading exposes users to smaller user interface changes in each release and avoids a big 'flag day' where you have an extended downtime due to the upgrade process.
  • First upgrade to the very latest bugfix version of your current release. That gives you the benefit of all improvements we made to the upgrade process since the version you run. Count on upgrading from 8.0.5 to 8.1.x going smoother than going from 8.0.1 to 8.1.x!

So if you are, for example, on ownCloud 8.0.2 right now, first upgrade to the latest stable bugfix release (8.0.10). Then upgrade to the latest release in the 8.1 series, 8.1.5 as of this writing. Finally, you are ready to move to ownCloud 8.2.2. If you need packages for these intermediate releases, you can find them on owncloud.org/changelog.

I blogged on .org recently about the improvements to our upgrade process we've been working on.

Enjoy your fresh ownCloud ;-)

12 January, 2016

I'll be at SCALE and FOSDEM, how about you?

Next week, the Fourteenth Annual Southern California Linux Expo kicks off in Pasadena, LA. A week later it's FOSDEM time, in Brussels, Belgium. Both events have a ownCloud booth and a KDE booth, and both can use some help! More importantly, I have to tell you why you should bother.
  

Helping at a Booth

You might read this (and other blogs asking for help at a booth) thinking
"why the heck would I bother"
or
"why me, I've never done this before"

It seems, perhaps, a crazy tiring and difficult thing to do, standing at a booth and talking to people all day. Coding beats it any time, you'd think. Well, believe me: reality could surprise you!

Let me ask first:
Have you ever visited a geek conference like FOSDEM, SCALE, or something smaller, locally?
If not, let me tell you - it is a blast. Interesting technology but more importantly - interesting people. Often, you can talk to the people who "do the work" and believe me, they have things to say.

"Conferences are like rock concerts: the back stage experience is THE BEST"

But let me tell you a secret. Conferences are like rock concerts: the back stage experience is THE BEST. Seriously, being part of the booth team adds a whole extra dimension to the experience. First, because you get to talk far more intensely with the rest of the team - you'll be there setting up the booth, having breakfast in the morning and beers together at night, plain awesome. But don't discount the visitors. Many have interesting questions and stories to tell and the conversations can be fascinating.

The Good Stuff

Now you might say:
"but it is hard work, right, with hard questions to answer? And all I get is a free entree ticket..."

Yeah, true on the ticket. And you might not be a huge fan of people and talking in the first place, perhaps, I get that, too.

But you're still wrong about it. You see, these conversations aren't like a typical birthday party chit-chat where you have to explain (again) what you do, be nice and social to your aunts you don't like and all that. Nor is it like the pressure of a business meeting, or a networking session. It is nothing like that!

It is hard to explain, but let me try. It is more like trying to help that colleague who recently joined and just doesn't know the product very well. See, people are almost always nice, interested and just as geeky as you. You might not know the but it isn't about that: they don't really talk to "you" but to "KDE" or "ownCloud". Even if you're not naturally a speaker or enthusiastic, the conversations are very easy. As a matter of fact, after having had five, you'll notice four of those went almost exactly the same and you'll develop a kind of elevator pitch, not the fancy ones, but the ones you just naturally assume. Believe me, before you know it, you'll be approaching people who haven't asked a question yet and ask if you can help them.

"Some visitors can be best described with words usually bleeped out on TV."

The difficult people

Of course I won't claim it is all, always easy. Sometimes, visitors can be described with words usually bleeped out on television. I won't lie to you. But even this isn't too hard to handle. First, because you don't write all of the code in your project, or even none in many cases (like mine). You don't have to take it personally. Plus, realize that, in most cases, those being difficult do it because they care: they wish the project was more, better than it is - that happens to be a wish you share with them. Often it just isn't meant half as bad as it might have sounded and a quick conversation shows the common ground. Moreover, you are not alone. You have your team mates to back you up (or complain to after the visitor left) and hey, that's just bonding, right there!

I think that without the few bad conversations, the really good ones wouldn't stand out as much. Yes, there are really nice, energizing conversations. From people who just come by the booth to tell you how much your project (and by extension you) rock to people who tell you, sometimes to the point of really getting emotional, how your community has provided them with something amazing. At those moments, you just soak in the love. Be sure to record or note down any concrete compliments so you can share this later with the community online, in a blog or just a mail to the development mailing list!

If you want to learn more, I've been writing a how-to on organizing a booth and collected some practical tips for conversations with the visitors on this page. More tips welcome!

Now, how can you help?


KDE

The KDE booth at SCALE is actually a bit in trouble. We have some folks who have been helping out the last few years but, perhaps in part due to the early dates, just couldn't make it this year. If you're a KDE user, contributor or just fan, think about helping out! If you use KDE software, especially Plasma of course, and occasionally follow the blogs, you'll have what it takes to help out. Most questions are basic and there are always others around who can help out a bit here or there - including myself, I'll check in a few times for sure. And the openSUSE booth next door, which helps organize the KDE and GNOME presence at SCALE, has plenty of experts in all areas as well. You won't be without backup, not at all!

KDE at FOSDEM already has six volunteers (see the wiki page) and we unfortunately only have one table this year. While help is always welcome, this ain't super urgent. It IS fun, though, so if you're up for it, give it a try!

ownCloud

Matt McGraw and myself will staff the ownCloud booth at SCALE, ready to answer any questions you might have. We're just with two people, so we'd sure welcome a third person! If you're interested, just shoot me an email or comment here. It isn't difficult - I'd even say that if you've been using ownCloud for a few months you can already provide a lot of help at the booth, and Matt and myself are always there.

At FOSDEM, we have a few more volunteers but I also know, from last year, that the booth will be flooded with visitors so if you're up for helping out, even if it's just a few hours, please let me know!

I hope to see you at one or both of these events and that I've motivated you to help run a booth ;-)

04 January, 2016

Use ownCloud provided Packages, then VM, then Zip, no distro packages.

Last week I wrote a blog about why running an old ownCloud release isn't more stable and you should upgrade. There are many ways to install, run and upgrade ownCloud. What is best depends on your situation but some general rules of thumb can be given.

Use ownCloud Provided Packages If You Can

The best solution from a security and stability point of view are the official ownCloud packages, provided you have the basic know-how needed to run your own Linux server.

Packages give you the advantage of a relatively clean and easy upgrade process, with the ownCloud team taking care of any special steps which have to be taken. The upgrade itself will still have to be kicked off by the system administrator (see our latest update) but you won't risk forgetting to remove old files, correcting file permissions and so on.

We do not recommend using distribution packages, for several reasons:

  •  First, there will inevitably be a lag between what distributions ship and what we make available.
  •  Second, it happens that distributions don't grab the right code (like relying on a git tag rather than final zip files) or miss changes in dependencies which can break installations.
  •  Third, many distributions are reluctant to upgrade to newer ownCloud releases, which means you can get stuck on older versions. While security fixes are often still back ported, being on, say, ownCloud 7.0.4+dfsg-4~deb8u3 means you have missed out on many ownCloud fixes and improvements. And of course, they continue to ship major server releases and ownCloud client versions until long after we've abandoned them.
  •  Four. Not offering the latest ownCloud bugfix version also means upgrading can become a tricky problem: we recommend to upgrade to the latest bugfix version in a series before upgrading to the next for a reason. ownCloud 7.0.12 will contain bugfixes related to the upgrade to 8.0.x, fixes for problems you might run in to when you try to upgrade from your distribution's older bugfix release to a new major release. On top of that, our upgrade code looks at the ownCloud version to know how to upgrade - good luck if you run a Frankenstein version. Also, we don't support skipping ownCloud releases on upgrade. So once you're ready to upgrade your distribution with ownCloud 7.0.ancient to a new distro with ownCloud 8.2.shiny, well, it won't work.
  • Last but not least. The distribution packagers try to do weird shit, shoehorning ownCloud (and other web apps) into their rules made for C/C++ apps. You'll find packagers trying to move the ownCloud configuration php file out into the /etc folder or split up ownCloud core in separate packages because we maintain some external components as part of our setup. Of course, this breaks in beautifully surprising ways and provides few if any of the benefits they are hunting for. It is also a performance issue. And problems will only get bigger with the upcoming code integrity checker.

I blogged on owncloud.org about the issues with distribution packages (and the distribution model in general) earlier.
"the misguided policy of not updating to even bug fix releases which some distributions have is nothing but harmful for users"
The last of the five points, distributions struggling with projects which don't fit their rules, leads to things like Iceweasel. If you're new to the world of Linux distributions, this is a tale you'll love: on Debian and perhaps soon, Fedora, Firefox is named Iceweasel. Debian does not want to update software because "that would break stuff", instead, they forked Firefox to backport security issues. I'll leave it up to you to decide how secure it is to have packagers 'maintain' software long after the project itself has moved on...

Of course, it also leads to changes coming in big chunks - we've learned that users adapt to changes far better and easier if they come small and regular. That is why mobile apps and many websites introduce changes in an Agile way. ownCloud and linux desktop KDE also increased their release speed for this reason.

I understand the reasons behind the rules and sometimes it has a pay-off which is worth the extra effort. But, as always when things are taken to an extreme, it is now blocking distributions from adapting to 2016 and onwards. The result is that technologies like Docker and the sandboxed apps the GNOME and systemd teams are working on will make much of the distributions irrelevant. A future distro will be a small base on which you run some kind of application image which comes with its dependencies built in. Is that the most secure solution, perfectly disk-space or memory efficient? Perhaps not. But by chasing perfection, distributions failed to attain good-enough.

Anyhow, enough rambling, let's talk about what to do if packages don't work for you.

Use a VM if a Server is Hard

Not everybody is comfortable on the Linux command line and while there is excellent documentation on running and securing a Linux server, it might make perfect sense to go for the Virtual Machine option. Since ownCloud 8.1 we've provided official ownCloud VM images and there are also several third party images available. This way, you get a server installation which has been set up by our experts to be secure out of the box. Upgrading and responding to immediate security threats is still in your hands but we've done what we can to make it easy.

Use Zip Files or Installer if all else fails

On some systems, like cheap hosting or a NAS, your control over the system simply does not extend to the installation of packages or running a Virtual Machine. Then, the zip files (or, for convenience, the installer) are your last resort. While the zip file is easy to use ("just extract and go"), it requires special upgrade attention which might discourage you from staying up to date. And that introduces a security risk! Also, doing the upgrade process from the web UI has limitations and risks on large installations.

Now you've learned why you should upgrade your ownCloud and what installation method to use. Time to get started!

30 December, 2015

Five Reasons To Upgrade Your ownCloud

On our user mailing list users occasionally report problems with quite old ownCloud releases. Often community members like Chris suggest to upgrade to a newer major version and use official repositories rather than those provided by distributions like Debian. That is good advice. I'll share 5 reasons why an older version isn't more stable and talk about the issues with distribution packages in a follow-up blog.

Older Releases and Stability

The oldest ownCloud release supported, according to owncloud.org/security, is ownCloud 7.0.x, with x currently being at 12. That is, this release has had 12 updates fixing stability, performance and security issues. One could thus argue that this release is more stable than newer releases like 8.0.10, 8.1.5 and our latest stable, 8.2.2.

There are five reasons why that is not really true.

openCloudMesh brings ownCloud to research

1. ownCloud Grows

The rule-of-thumb that an older release has had more use and thus issues have been shaken out is not really true with ownCloud.

The ownCloud user- and developer community is growing all the time. ownCloud 8.2 will have more users in its lifetime than 7.0 had, which had far more than, say, 5.0 ever did and so on. At some point after their release, these newer versions will already have had more users and thus more potential discovery of obscure problems than their older, still supported counterparts. If you're interested in quantifying this, we try and give an idea of our estimated user base in our time line of ownCloud history. There'll be an update early next year with our user estimate as of today, but count on at least double the number of last year.

2. Testing Continuously Improves

With the growth of ownCloud's user and developer community also come more tools and processes for testing. For example, during the 8.0, 8.1 and 8.2 development cycle we've increasingly introduced automated testing provided by the CERN-developed Smashbox tool, which is now routinely used to determine if there have been any regressions in complicated syncing and sharing scenario's. Besides Smashbox, other tools have been added to the roster and manual testing has been improved significantly as well. Older releases have simply not had the benefit of this testing and thus there is the chance of corner case issues still lingering.

3. Back Porting is Limited

Due to many users running recent ownCloud versions and the continuous improvements to testing, most bug are initially found and fixed in the latest or second-latest ownCloud release. From there they are back (or forward) ported to the others, that is, integrated in older releases. Due to the large changes in each ownCloud release, integrating fixes far back often makes little sense and generally speaking, we backport to the latest stable ownCloud version and the one before. Of course, security fixes and fixes for very severe or very simple issues are often brought all the way back to the oldest supported release.

4. Clients Take Advantage Of Server Features

The various ownCloud clients for desktop and mobile operating systems are developed alongside, though not in lock-step with the ownCloud server. Various features which improve reliability and performance of syncing require both client- and server side changes. Thus, running a newer ownCloud client with an older server means you miss out on features which could help protect your data or at least save you from getting some conflict files. For example, there's work going on to have checksums on files, a precursor to the much requested ability to sync file changes rather than the entire file. This deals with the rare but not impossible cases where files get mangled while in transit or on storage.

5. New Features Improve Reliability

The checksum feature coming with ownCloud 9.0 is not the only 'pro-active data defense' improvement to ownCloud. We will introduce features like detecting apps which break ownCloud and code integrity checking. Earlier we introduced file locking, experimental in ownCloud 8.1 and enabled by default in 8.2. This protects files from concurrent changes which in rare situations could result in errors or even data loss. Especially for large, enterprise installations, these situations might not be that rare due to large numbers of users simultaneously accessing the same data and thus the benefits of upgrading includes getting rid of an entire class of impossible to reproduce issues.

So What Version Should I Run?

Above, I gave five reasons why near outdated ownCloud releases do not tend to be any more reliable than newer ones. Rather, the opposite is true, as newer versions get more scrutiny and thus have more issues found and fixed and have received new features which benefit the reliability of both server, client and their interaction.

Home Users

For home users, I still recommend to run the stable or plain latest release channel. On the whole, the benefit of new features and performance improvements in an up to date release far outweigh the stability advantage of older versions, especially if ownCloud is ran in a typical (LAMP) setup. We release ownCloud versions only after extensive testing and the vast majority of issues found shortly after a release is related to either scalability for large instances or non-standard environments like enterprise databases, caching solutions and so on. Most testers and developers use ownCloud on a recent Linux/Apache/MySQL/PHP setup and thus you can expect PHP 7 on a bleeding edge Apache to be surprisingly reliable, even when compared to a old Debian release. Note that you should test yourself if you really want to be sure that an upcoming release works smooth for you!

Enterprise

If you value stability above all else (that is, over features and performance improvements in newer versions), it is best to track ownCloud releases with a N-1 strategy: upgrade to one release before the latest about 1-2 months after a new version comes out. That is, it would be about time to upgrade to ownCloud 8.1 by now and when 9.0.2 is made available, now to be expected some time in May, 8.2 is your best bet. If you want to be sure the new ownCloud version runs great on your infrastructure and the upgrade goes smooth with your setup, I strongly suggest to get involved in testing ownCloud. It provides the best and only guarantee it works for you™

Of course, IF you value stability to this degree, you are most likely an enterprise user and you should seriously consider getting in contact with ownCloud, Inc. which can help you decide far better than a blog post what version is perfect for you. Besides advice, support and deployment tools, you get a heads-up on security, stability and performance related issues (and work around solutions) and of course have access to our enterprise features.

If you are still running ownCloud 7.0.x and it is running satisfactory, I can imagine you don't want to change. That is fine for about another 2 months (until 7.0.x is deprecated). However, if you experience any trouble, any advice other than 'upgrade' is probably unwise: I don't think it is worth the trouble of trying to fix issues with 7.0 when you will have to upgrade to 8.0 in a few months anyway.

I know, upgrading can be a pain, it is work and all that. But so are problems in old versions of software you're running and even more so is security. We're working on a new upgrade process for 9.0.

And realize you don't do your users a favor by keeping software 'the same'. "Big Bang" releases steepen the learning curve by making users swallow too many new features, and increase the likelihood of compatibility issues with other systems in the environment. Much of the web and apps (especially on mobile) is moving to faster release cycles for this reason.

In all cases, use ownCloud from the official, ownCloud-provided repositories you can find on owncloud.org/release-channels. I blogged about how to install ownCloud (packages, VM, zip files etc) here.