Cloud Computing: Good or Bad for Open Source?

 in

Cloud computing: you may have heard of it. It seems to be everywhere these days, and if you believe the hype, there's a near-unanimous consensus that it's the future. Actually, a few of us have our doubts, but leaving that aside, I think it's important to ask where does open source stand if the cloud computing vision *does* come to fruition? Would that be a good or bad thing for free software?

Richard Stallman has no doubts:

"It's stupidity. It's worse than stupidity: it's a marketing hype campaign," he told The Guardian.

"Somebody is saying this is inevitable – and whenever you hear somebody saying that, it's very likely to be a set of businesses campaigning to make it true."

The 55-year-old New Yorker said that computer users should be keen to keep their information in their own hands, rather than hand it over to a third party.

Go on, Richard, tell us what you really think.

The problem is that even if – or may be even though – he is right, people are going to use cloud computing solutions because they are so convenient (well, that's my excuse). Obviously, we need to mitigate the risks of doing so, for example by insisting on the right to move our data out from such services, and requiring stringent privacy safeguards. So, again, re-framing my question: assuming we can sort out issues of security, privacy and the rest, and use cloud computing as well as it can be used, it it good or bad for open source?

At one level, it looks pretty good. Cloud computing is about harnessing economies of scale; that, in its turn, almost forces suppliers to deploy free software, because the licensing costs for the software that keeps the cloud humming (or whatever noise clouds make) do *not* scale for traditional closed-source software (unless, of course, you are Microsoft, and can use the code for free). And indeed, we find that much of Amazon's and Google's cloud computing infrastructure is based on free software.

So in that sense, cloud computing is a huge win for open source. As a result, it will always be cheaper to run enterprise applications running on GNU/Linux in the cloud, for example, so this may be enough to steer cost-conscious companies in that direction given that they also won't have to worry about the messy hands-on stuff like installing or maintaining free software.

What's more problematic is that the use of free software by cloud computing providers does not trigger the the distribution clause of the basic GNU GPL. This means that any cloudy tweaks made to free software by companies like Amazon or Google are not necessarily contributed back to the community. The use of the GNU Affero GPL solves that in theory, but not in practice, since the core infrastructure programs – Linux, MySQL etc. - don't use it.

So this would seem to suggest that a move from on-premises to cloud computing would actually *reduce* the contributions of code back to these projects. Now, it's plainly not in the interests of the cloud computing providers to kill off the very applications they depend on, so presumably some kind of compromise will be found whereby they contribute back some of their tweaks to help improve the code they run. But the more pervasive cloud computing becomes, the fewer the on-premise deployments of free software, and the fewer the number of independent external contributions back to those projects there are likely to be.

The situation for general users of Gmail and Google Docs, say, is even worse. There, they are unlikely even to be aware that they are running on free software – at least companies migrating to the cloud have to choose which platform to run their apps on. This makes me wonder whether the open source world needs to address this problem directly. I think it does, if it wants to remain relevant to vast majority of computer users; the question is how.

Ideally, what we need is a completely open source cloud computing infrastructure on which applications providing people with things like (doubly) free email and word processing services could be offered. Now, it's clearly not possible to create the kind of huge facilities that Amazon, Google and Microsoft are building around the world. Not even Mr Shuttleworth, with all his millions, could sustain that for long without charging somewhere along the line. So simply running open source programs like Eucalyptus is not going to work. The trick here is not to fight the battle on the opponents' terms, but to come up with something completely different.

For example, how about creating an open source, *distributed* cloud? By downloading and running some free code on your computer, you could contribute processing power and disc space that collectively creates a global, distributed cloud computing system. You would benefit by being able to use services that run on it, and at the same time you would help to sustain the entire open source cloud ecosystem in a scalable fashion. Collateral benefits would be resilience – it would be almost impossible to take down such a cloud – plus integral privacy if data is scattered across thousands of machines in the right way.

Is there something like that already? The nearest thing I could find is Swarm, “a true, distributed programming language.” This comes from Ian Clarke, probably best known for his Freenet, which is:

free software which lets you anonymously share files, browse and publish "freesites" (web sites accessible only through Freenet) and chat on forums, without fear of censorship. Freenet is decentralised to make it less vulnerable to attack, and if used in "darknet" mode, where users only connect to their friends, is very difficult to detect.

There's clearly a lot of commonality between Freenet and distributed cloud computing systems. And as far as I can tell from Clarke's video on Swarm, it seems to be addressing the right issues, although I'd be interested to hear the views of people whose programming skills are better than mine, which never progressed beyond Fortran.

So, is Swarm the way forward for open source cloud computing? Or are there other, better projects out there that might solve some of the issues raised? Or should we just stick to Google and be grateful? Your comments, as ever, are welcome.

Follow me @glynmoody on Twitter or identi.ca.

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

...

Oxy's picture

Some have said hat open source doesn't matter in the cloud. I think that what was meant was that once your computing workloads are hosted on a remote service, the most important things to you as a customer are reliability, uptime, scalability, interoperability and manageability - not whether or not the cloud infrastructure or application provider is running on open source. I think this is true. Cloud computing does not make open source irrelevant. The enormous value that cloud computing is generating, and the rate at which it is changing, demands that open source plays a ubiquitous role. It will not always be a flashy role and may not seek the limelight, but it will be the glue that lets the whole system evolve and mature.

a silly question

g55rumpy's picture

ya sure this won`t turn into "skynet"

AGPL

Anonymous's picture

That's why Affero GPL was introduced - one cannot change AGPL-licensed code and use it to provide service without publishing the source.

I asked RMS for his views on the subject myself during lunch

Antonio Ognio's picture

I was invited to give a talk before RMS last yeat at a peruvian university and after RMS's talk we went to have lunch with the organizers.

I asked Richard what he thinked about cloud computing and he explained to me that what he sees as stupidity is doing what he called "your personal computing" (e.g. personal documents, spreedsheets, etc) but thought the cloud was perfectly OK for applications like search.

I asked what he thought then of social networks and social computing in general but in this personal style he simple replied something like "I don't do social networks" and the conversation drifted to some other topics.

So maybe it's excessive reductionism but you can somewhat say RMS thinks Google Docs is evil but Google Search is just fine :)

Cloud computing is going to

disagree's picture

Cloud computing is going to end up meaning less data silo's, and that's about it. The question of privacy is not even going to be asked because it's going to be up to the user to choose how private they want their data. Their PC is not going to participate in "the cloud" in any way, but they will choose what data is allowed to roam throughout the cloud. I also happen to believe the world will eventually move away from the browser, and instead merge desktop with the internet.

Having said that, it's reprehensible that you're putting the perceived needs of OSS before users. In general "the cloud" in this respect is going to be very good for users, and OSS be damned (I think OSS will continue to be relevant, but even if it isn't, then so be it).

good for open source, bad for free software.

Johny Johny's picture

Cloud computing scares the shit out of Mullah stallman and his taliban of free software.
He can counter it by creating GPL v9 71-bit license.

It seems to me that there is

Neil Jerram's picture

It seems to me that there is a very fine line between distributed cloud computing and running (whether willingly or not) as part of a botnet. If I were to contribute some of my PC cycles to a distributed cloud, would I know what program was running on those cycles?

good point

Glyn Moody's picture

I suppose there would need to be some requirement to make public what the program is - in other words, that it be open source, and open in every other sense.

It was the best of ideas, it was the worst of ideas

fest3er8's picture

(to misquote a horrible quote...)

If you cannot conceive of existing in anything other than a hive, then cloud computing is for you. After all, in a hive, there is no privacy; all is known to everyone. A hive is the ultimate in 'openness' where there is no private data, there is no private software, there is no private ownership of anything; all belongs to, and all belong to, the hive. There is no individuality. "We are the Cloud. Resistance is futile."

If you cannot conceive of existing except as an individual who sometimes contributes to society, then you should stay as far away from cloud computing as you possibly can. Your data are your own; your systems are your own; your software is your own. Share if you choose to, don't if you choose not to. "I will not comply. I will not conform."

Alas, there are too many arrogant busybodies in this world who think that they know what's best for everyone else. Some'll insist on controlling and maintaining your data because you are too stupid to do it or to learn to do it yourself. Others'll insist on holding your data hostage and making you utterly dependent on their systems which they call 'clouds'. "We control your identity; we control your data. You cannot exist outside our cloud."

In the hive scenario, there is no need for open sources software, because there is no need to program or debug or develop, because all the software is contained within the cloud.

In the individualist scenario, open source software is paramount, because they want to keep their data to themselves and do not wish to become dependent on any third parties.

In the bully scenario, open source software is immaterial, unless it can be more easily modified than in-house software to make proprietary file formats. And they'll find reasons to avoid sharing the open source software they use with anyone else.

Cloud computing will close the openness.

What you are looking for is XtreemOS

Anonymous's picture

http://xtreemos.eu

Expect to see a new release soon.

looks very interesting

Glyn Moody's picture

Thanks.

Does this support anyone joining those grids - in other words, can you just hook up random personal computers anywhere in the world, join them to the grid/cloud and then run other people's tasks on them securely?

motivation for foss?

Benjamin Schweizer's picture

Glyn,

it is a good post and I like the idea of open services. Though, I think there are various motives for people using free and open source software (and for those that author this software). I think of people that just want free software (as in free beer), others want long standing access to their data, even others think of improved code quality and reducing development costs and then, there are people that want to modify and remix the actual code.

So, for some users, ad-sponsored web apps are just fine. Others want or need to run their own services and patch the code as they need it. To deal ith these issues, we try to run free services like 301.sicos.org and give away the source code. It is fine for us because we do not deal with competition or commercial reuse, but I am amazed to how others take on the clould challenge and what will evolve from this debate.

Cheers

You're right...

Glyn Moody's picture

...there's a spectrum of needs. But what I wanted to explore was the effect of cloud computing on the development process as much as anything. In other words, if there aren't so many patches coming in, what happens, and does it matter?

not entirely sure just how much use Stallman is anymore to FOSS

Anonymous's picture

....I mean, really--it's like asking Pat Buchanan what he thinks of undocumented workers with Hispanic surnames. Stallman can *always* be counted on for a snarky paranoid rant that can pretty well be counted on to miss the point.

In this case, the point being missed is that the move to "the cloud" very much does represent a real opportunity for advocates of free/open source software.

what kind of thing...

Glyn Moody's picture

...did you have in mind in terms of opportunities?

autonomo.us

Nicola Larosa's picture

An initiative on this very subject: http://autonomo.us/ "Toward Free Network Services".

sounds interesting

Glyn Moody's picture

but I can't connect to it...

It's the Data...

Penguiniator's picture

Before computers, data was stored in paper-based filing systems and controlled by the owners of the data. Even if it was created by a machine (typewriter) produced by, say IBM, the result was clearly owned by whomever possessed the copy.

Computers made it possible for the suppliers of the "typewriter" (word processor, etc.) to hold data hostage by encoding it in proprietary formats and to hide the implementation of those formats in binary-only proprietary code. The purpose in doing this was simple--force customers to purchase "upgrades" again and again just to maintain access to "their" data in order to build and maintain an endless revenue stream.

Free software short-circuited that stream by making it possible to create and store data without paying software companies a dime. Cloud computing is only an attempt to take back control of user's data to restore that revenue stream and to maintain it indefinitely into the future.

Open Services?

Anonymous's picture

I think you've clearly highlighted a very important subject that needs to be discussed more vigorously and openly. The need of the hour is to empower people to freely use the internet in ways they see best for them. Open source was the free person's alternative to restrictive closed source software. If software has transformed itself into a service the open source movement should strongly consider transforming into an open service movement. We have a pressing need for the Freegles, Freemails and Freebooks of the future to emerge as true alternatives to the invasive services on offer from the likes of Google and Facebook.

yes, a question of marketing, perhaps

Glyn Moody's picture

Maybe we need new terminology, too, like "open services", as you suggest, because it won't be the open source bit that's visible, even though it's there. There are certainly lots of issues around this.

Stallman is mostly correct, but not completely

Anonymous's picture

Cloud computing isn't always bad. There are many situations where it is just fine.

OTOH, it isn't a good idea very often either. The only time it makes sense is when you are willing to post the root password on the server and every web page that people can connect.

Private clouds definitely make sense, inside a data center that you own and run.

Hype

Edu's picture

I do agree with Stalmam:
"...
It's worse than stupidity: it's a marketing hype campaign," ..."
"...
"Somebody is saying this is inevitable – and whenever you hear somebody saying that, it's very likely to be a set of businesses campaigning to make it true."

And, complimentary I would say: This hype technology, developed at a marketing Lab, is one of those ones that would let you to "reduce" your cost of operation. But, be noticed, NOT before you increase your operational costs to became able to come aboard of a cloud!!!!!

Just turn the calculator on and do the calculus... 10 years to amortize. For something you absolutely needn't for.

Hype Hype Hype

I have habit to maintain my own computer

Anonymous's picture

Cloud may not allow everyone a chance to play with private hardware, which means compile/install, and run arbitrary IDE.

Huh? What?

Khürt L Williams's picture

I'm not sure I understand the problem you are trying to address. Cloud services vendors are not to be trusted because they don't share their operation software secrets? Yet, you want me to trust a bunch of teenage and college kids running "Swarm" software with my data? Create a business plan, present this to come CIO and security managers and let me know what they think.

there is no business plan...

Glyn Moody's picture

...it's meant to be a community project.

And as for security, my (vague) idea is that data is chopped up and encrypted before it is sent out; it is unencrypted in a secure container, processed, then encrypted before being sent back and re-assembled. Of course, I'm making this up as I go along...

Webinar
One Click, Universal Protection: Implementing Centralized Security Policies on Linux Systems

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Learn More

Sponsored by Bit9

Webinar
Linux Backup and Recovery Webinar

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.

Learn More

Sponsored by Storix