arkOS: Building the anti-cloud (on a Raspberry Pi)

At the start of this year, analyst firm Gartner predicted that over the next four years a total of US$677 billion would be spent on cloud services. The growth of 'things-as-a-service' is upending enterprise IT and creating entirely new, innovative business models. At the same time, social networks such as Facebook and Twitter have built massive user bases, and created databases that are home to enormous amounts of information about account holders.

Collectively, all of this means that people's data, and the services they use with it, are more likely than ever to be found outside of home PCs and other personal devices, housed in servers that they will probably never likely to see let alone touch. But, when everything is delivered as a service, people's control and even ownership of their data gets hazy to say the least.

Earlier this year NSA whistle-blower Edward Snowden offered some insight – in revelations that probably surprised few but still outraged many – into the massive level of data collection and analysis carried out by state actors.

arkOS is not a solution to the surveillance state, but it does offer an alternative to those who would rather exercise some measure of control over their data and, at the very least, not lock away their information in online services where its retrieval and use is at the whim of a corporation, not the user.

arkOS is a Linux-based operating system currently in alpha created by Jacob Cook and the CitizenWeb Project. It's designed to run on a Raspberry Pi – a super-low-cost single board computer – and ultimately will let users, even of the non-technical variety, run from within their homes email, social networking, storage and other services that are increasingly getting shunted out into the cloud.

CitizenWeb Project

Cook is the founder of the CitizenWeb Project, whose goal is to promote a more decentralised and democratic Internet

"It does this by encouraging developers that work on tools to these ends, offering an 'umbrella' to aid with management and publicity for these projects," Cook says

"Decentralisation rarely gets any attention, even within the tech community, and it was even more obscure before the NSA scandal broke a few months ago," he adds.

Atlassian taps crowdsourcing, open source for charity
Building the tools to build the Internet of Things
Indie developers take TownCraft to world stage

The best way to promote decentralisation "is to provide great platforms with great experiences that can compete with those larger providers," Cook says

"This may seem like an impossible task for the open source development community, especially without the head start that the platforms have, but I believe it is entirely doable.

"We produce the best tools in the world – far better than any proprietary solutions can give – but there is a huge gap with these tools that the majority of the population cannot cross.

"When we tell them, 'oh, using this tool is as easy as installing a Python module on your computer,' for us geeks that is incredibly easy, but for most people, you lost them at the word Python and you will never get them back.

"So the momentum toward using centralised platforms will not relent until developers start making tools for a wider audience. Experience and usability is every bit as important as features or functionality."

arkOS is the CitizenWeb Project's first major initiative but more are on the way. "There are quite a few planned that have nothing to do with arkOS," Cook says.

"I've been working on arkOS since about February of this year, which was a few months before the [NSA] revelations," Cook says.

The birth of arkOS

There were two things that spurred work on arkOS

"The first was my decision to set up my own home server to host all of my data a few years ago," Cook explains.

"I had a good deal of experience with Linux and system administration, but it still took a huge amount of time and research to get the services I wanted set up, and secured properly.

"This experience made me realise, if I have background in these things and it takes me so long to do it, it must be impossible for individuals who don't have the expertise and the time that I do to work things out."

The second was the push by corporations "to own every aspect of one's online life."

"Regardless of your personal feelings about Google, Facebook, etc., there have been countless examples of these services closing themselves off from each other, creating those 'walled gardens' that give them supreme control over your data," Cook says.

"This might not bother people, until we find out what we did from Snowden, that this data doesn't always rest with them and that as long as there is a single point of failure, you always have to rely on 'trusting' your provider.

"I don't know about you, but I wouldn't trust a company that is tasked to sell me things to act in my best interest."

"All that being said, the NSA revelations have really provided a great deal of interest to the project. In all of the networks and communities that I have been through since the scandal broke, people are clamouring for an easy way to self-host things at home. It shouldn't have to be rocket science. I hope that arkOS can represent part of the solution for them."

The aim of the project is an easy-to-use server operating system than can let people self-host their own services with the ease that someone might install a regular desktop application

"Hosting one's own websites, email, cloud data, etc. from home can be a very time-consuming and occasionally expensive endeavour," Cook says.

"Not to mention the fact that it takes a good amount of knowledge and practice to do properly and securely. arkOS lets you set up these systems just like you do on your home computer or your smartphone, when you install something from an app store. It 'just works' with minimal configuration.

"There is no good reason why server software shouldn't be able to have the same experience."

Making servers simple

The OS is "all about simplicity" straight out of the box, Cook says.

"For example, on the Raspberry Pi, hosting server software that routinely writes to log files can quickly wear out your SD card. So arkOS caches them in memory to make as few writes as possible, and it does this from its first boot."

The team is building a range of tools that make it easy to manage an arkOS server. These include Beacon, which lets users find other arkOS servers on a local network, and Genesis, a GUI management system for arkOS.

Genesis is the "most important part" of the OS, Cook says. "It's the tool that does all the heavy lifting for you – installing new apps and software with one click, automatically configuring security settings, giving wizards for navigating through lengthy setup [processes].

"The goal with Genesis is to allow you to do anything you want with your server in an easy and straightforward way, without even having to think about touching the command line. It runs locally on the arkOS server, accessible through the browser of your home computer."

There are more tools for arkOS on the way, Cook says.

"Any one of these tools can be made to work with other distros; the key is that they are available in the default working environment with no additional setup or bother on the user's part."

At the moment the system is still very much in alpha. "It is minimally stable and still getting most of its major features piled in," Cook says. Despite it being early days the reception so far has been "very positive".

"It's been downloaded several hundred times, ostensibly by intrepid people willing to try out the framework and see if they can produce bugs," he says.

At the moment, Cook is leading the arkOS project and also doing the bulk of the development work on Genesis.

"Aside from myself, there are other individuals who contribute features when they are able, like working on Deluge or putting together plugins to use with Genesis," he says.

He is interested in finding more people to help out with the components of arkOS, particularly with Python and Golang experience, which are being used extensively. He's also interested in sysadmins or Linux veterans to help manage repositories, with an to expanding the operating system to other architectures.

"Web design is also a big one, both for the Genesis front-end as well as our Web properties and outreach efforts. Even non-tech people can lend a hand with outreach, community support and the like. No offer of help will be refused so people can be in touch confidently," he adds.

Looking beyond alpha

arkOS is under active development but the OS is still at a "very experimental" stage. Most of Cook's time is spent working on frameworks for Genesis, with a goal of completing its major frameworks by the end of this year and releasing a beta of arkOS.

A major sub-project the team working on is called Deluge: A dynamic DNS service and port proxy for users who don't have access to their own domain name or static IPs.

"This would make putting your services online truly simple and hassle-free," Cook says.

"I am working on the security framework right now, allowing users to easily segment their services based on the zone that they should be available to. For example, you can set your ownCloud site that you run with arkOS to only be available on your home network, while your Jeykll blog should be available to everyone.

"Then comes the certificates system, easily making SSL certs available to your different applications."

"Beyond that, most of what I will be working on is plugins that do certain things. Email is a really big thing, something that nearly everyone who asks about arkOS is interested in self-hosting. With the NSA revelations it isn't hard to see why."

Other features to be included in arkOS include XMPP chat server hosting, Radicale (calendar/contacts hosting), automatic backups, internationalisation, Tor integration, "and much, much more."


Contact Rohan Pearce at rohan_pearce at or follow him on Twitter: @rohan_p

Copyright © 2013 IDG Communications, Inc.

8 simple ways to clean data with Excel