A vision for Nextcloud

Monday, Aug 8, 2016| Tags:

In the past few weeks I talked a lot about thing we want to improve in Nextcloud. Fair community involvement, transparency, no CLA and no closed source apps, a better business model, working closer with customers and partners and more. But today I want to talk where I see the future of Nextcloud as a product.

The challenge
Nowadays we are storing more and more of our information in the cloud. And with cloud I mean on a machine that is located somewhere on the internet instead of the local disk. And with we I mean individuals, companies and universities.
We do this because it makes it easier to sync and access all our date to all devices we have. And we use the cloud for sharing of data, social interaction, voice and video communication, email, chat/instant messaging and more.

So why is this a problem you might ask? Isn’t is convenient that someone else is managing the infrastructure, software and storage? Unfortunately there are significant problems with giving up full control over our data.
Well known examples are privacy problems, potential espionage threats, price and performance issues. But there are more that are not discussed often enough. It is essential for bigger companies to integrate these cloud services in to existing authentication, audition, storage, backup and other systems. Another drawback is that in such a world of centralized cloud services it becomes very difficult for smaller startups to innovate and disrupt existing cloud companies. The only choice companies, startups and open source projects have to innovate is to build on top of existing platforms because they are no longer in control of the full stack.

So how should a better cloud future look like?
It is actually quite easy to see. We can look at open networked services like email, the web, news groups or IRC as examples and apply some of the principles to the current centralized services like social networking, file sync and share, messaging and video and voice communication.

So what is needed are an infrastructure, software stack and protocols that does the following.

  • It should be possible to host cloud services at a service provider, it should be possible to host it on own infrastructure at home, and universities and companies should also be enabled to host these services themselves. Everyone should have the choice.
  • There should be different implementation to choose from. At least one of them should be open source. This is important to be able to inspect the code and build on top of it and innovate.
  • The protocols and APIs should be open in the same way http, smtp or ftp are open protocols. Open standards are key.
  • The services should be organized in a federated and peer to peer way. In the same way email works without a centralized global email server or like the web that works without a centralized service or provider.
  • It has to be a platform where everyone can build additional services on top of and do any changes to the stack that are needed to innovate.
  • This stack has to be open and community driven. Only this ensures that the stack, protocols and APIs will cover all possible use-cases in the future. Everyone should be able to contribute.
  • This should cover syncing and sharing of files but also integrate communication tools like email, chat, video and voice calls, calendar, address-books and more.
  • Data and communication should be encrypted where possible

** What we want to build**

We want to fix the worlds data and communication problem to have security and privacy. With this kind of infrastructure we bring the capabilities of the internet to a new level and make sure that it stays secure, safe, open and private.

This is what Nextcloud builds. It is important for us to do this with the right architecture. It is key to implement this in the right way. The goals here are:

  • Secure. Obviously it is key to have Nextcloud absolutely secure so that no user data is at risk. So all our code and protocols have to be build with privacy and security in mind.
  • Easy to install, run and upgrade. The goal of Nextcloud is that it is super easy to install, even without deep Linux knowledge. Also upgrading should be very easy and robust.
  • Scalable. A lot of users install Nextcloud on small home servers. But it is super important that the architecture also scales to millions of users. We need to provide a solution for the universities, big companies and governments as I mentioned above. This is something we alway have to consider, keep and mind and test.
  • Easy to use. The usability and user experience are key goals. There are enough other software projects that can do technically similar things but users like Nextcloud because it is actually easy to use.
  • Cross platform. Accessing and using Nextcloud should be possible from all operating systems and devices.

This are big goals we try to achieve but the current software can already do a lot. At the same time, we have to realize that we are not there yet.

Planing
Last week we had an open meeting in Stuttgart where almost 30 people from the Nextcloud community met for discussions, planing and hacking. Some core employed contributors, some community volunteers and some partners/customers.

We discussed the short term todos that we need to do before releasing Nextcloud 10 and we started a rough list for Nextcloud 11  This is an open community development process so if something is missing, if you want to contribute something then just add your feature and name to the list.
But already with this list Nextcloud 11 will be a huge step forward for enterprises, for scalability and security and also overall user experience.

  • Of course we also had discussions how to reach the big goals like:
    Fixing the worlds files access and security problem
  • How to reach true linear scalability in Nextcloud
  • What is the next step to rise the security bar of Nextcloud once more.
  • How to do communication and social networking in a true federated and distributed way.

There will be dedicated blog posts soon to cover these bigger topics.

So if you want to help to make this happen then please join the Nextcloud community at help.nextcloud.com and github.com/nextcloud
The Nextcloud contributor community is really awesome, friendly and fun to work with and you can be a part of it.

Contact

Always get in contact if you have questions, ideas, proposals, requests or other feedback.

Get in Contact