Vol. 19, No. 4,883 - The American Reporter - December 18, 2013




by Mark Scheinbaum
American Reporter Correspondent
Angel Fire, NM
June 27, 2008
Market Mover
HURRY UP FOR THE WALL STREET EXPRESS

Back to home page

Printable version of this story

CAMBRIDGE, Mass., Dec. 13, 2010 -- Predicting trends in computer technology is an easy way to get into trouble, but two developments have been hyped so much over the past decade that there's little risk in jumping on their bandwagons: free software and cloud computing.

What's odd is that both are so beloved of crystal-gazers, because on the surface they seem incompatible.

What Are the Chances for a Free Software Cloud?

 


Andy Oram
American Reporter Webmaster


  The five parts of this article cover:

  • Introduction: Resolving the contradictions between web services, clouds, and open source

    1. Part 1: Definitions: Clouds, web services, and other remote computing

    2. Part II: Why clouds and web services will continue to take over computing

    3. Part II: Why web services should be released as free software

    4. Part IV: Reaching the pinnacle: truly open web services and clouds

The installments appear here in order of publication, beginning with the Introduction. Past installments are also available in the order they are published at ANDY ORAM REPORTS on the drop-down menu at top left of this page.

The first trend promises freedom, the second convenience. Both freedom and convenience inspire people to adopt new technology, so I believe the two trends will eventually coexist and happily lend power to each other. But first, the proponents of each trend will have to get jazzed up about why the other trend is so compelling.

A CLOUD GLOSSARY

API (Application Programming Interface): A way for outside programmers to use the data or specialized functions of a site. One definition of "web service" involves offering an API.

Cloud: A service in which one person uses a computer owned by another in some formal, contractual manner.

Elasticity: The ability to quickly create and divest computing resources offered by an outside provider.

Free and open source software: Software that anyone can use, alter, and share.

IaaS (Infrastructure as a Service): Dividing hardware resources among clients as the virtual equivalent of complete computer systems, where clients can load and run their programs.

PaaS (Platform as a Service): Offering a programming environment to clients, who write and run programs in that environment instead of compiling them locally.

SaaS (Software as a Service): Offering a program through the client's browser instead of having the program loaded and run from the client's disk. One definition of "web service" is synonymous with SaaS.

Peer-to-peer: End-user computers that hold their own data and do their own processing while sharing results, instead of working through a central server.

Source code: The original format that is manipulated to create software or other intellectual and cultural products.

Web services: See API and SaaS.

Freedom is promised by the free and open source software movement. Its foundation is the principle of radical sharing: the knowledge one produces should be offered to others. Starting with a few break-through technologies that surprised outsiders by coming to dominate their industries - the GNU C compiler, the Linux kernel, the Apache web server - free software has insinuated itself into every computing niche.

The trend toward remote computing - web services and the vaguely defined cloud computing - promises another appealing kind of freedom: freedom from having to buy server hardware and set up operations, freedom from installations and patches and upgrades, freedom in general from administrative tasks. Of course, these advantages are merely convenience, not the kind of freedom championed by the free software movement.

Together with the mobile revolution (not just programs on cell phones, but all kinds of sensors, cameras, robots, and specialized devices for recording and transmitting information) free software and remote computing are creating new environments for us to understand information, ourselves, and each other.

The Source of the Tension

Remote computing, especially the layer most of us encounter as web services, is offered on a take-it-or-leave-it basis. Don't like Facebook's latest change to its privacy settings? (Or even where it locates its search box?) Live with it or break your Facebook habit cold turkey.

Free software, as we'll see, was developed in resistance to such autocratic software practices. And free software developers were among the first to alert the public about the limitations of clouds and web services. These developers - whose ideals are regularly challenged by legal, social, and technological change - fear that remote computing undermines the premises of free software.

To understand the tension, let's contrast traditional mail delivery with a popular online service such as Gmail, a textbook example of a web service familiar to many readers.

For years, mail was transmitted by free software. The most popular mail server was Sendmail, which could stand with the examples I listed at the beginning of this article as one of earliest examples of free software in widespread use. Sendmail's source code has been endlessly examined, all too often for its many security flaws.

Lots of organizations still use free software mail servers, even though in the commercial world, Microsoft's closed-source Exchange is the standard. But organizations are flocking now to Gmail, which many people find the most appealing interface for email.

Not only is Gmail closed, but the service would remain closed even if Google released all the source code. This is because nobody who uses Gmail software actually loads it on their systems (except some JavaScript that handles user interaction). We all simply fire up a browser to send a message to code running on Google servers. And if Google hypothetically released the source code and someone set up a competing Gmail, that would be closed for the same reason. A web service runs on a privately owned computer and therefore is always closed.

So the cloud - however you define it - seems to render the notion of software freedom meaningless. But things seem to get even worse. The cloud takes the client/server paradigm to its limit. There is forever an unbreachable control gap between those who provide the service and those who sign up for it.

And this is apparently a step backward in computing history. Closed, proprietary software erected a gateway between the all-powerful software developers and the consumers of the software. Free software broke the gate down by giving the consumers complete access to source code and complete freedom to do what they wanted.

Amateurs around the world have grabbed the opportunity to learn programming techniques from free software and to make it fit their whims and needs. Now, once again, software hidden behind a server commands the user to relinquish control - and as the popularity of Gmail and other services show, users are all too ready to do it.

Cloud computing is leading to the bifurcation of computing into a small number of developers with access to the full power and flexibility that computers can offer, contrasted with a world full of small devices offering no say in what the vendors choose for us to run, a situation predicted in Jonathan Zittrain's book "The Future of the Internet."

Tim Berners-Lee, inventor of the World Wide Web, as part of a major Scientific American article criticized social networks like Facebook as silos that commit the sin of hoarding data entered by visitors instead of exposing it openly on the Internet. Ho, Sir Berners-Lee, that's exactly why many visitors use social networks: to share their personal thoughts and activities with a limited set of friends or special-interest groups. Social networks and their virtual walls therefore contribute to the potential of the Internet as a place to form communities.

But Tim ers-Lee was airing his complaint as part of a larger point about the value of providing data for new and unanticipated applications, and his warning does raise the question of scale. If Facebook-type networks became the default and people "lived" on them all the time instead of the wider Web, opportunities for interconnection and learning would diminish.

Complementary Trends

But one would be jumping to conclusions to assume that cloud computing is inimical to free software.

Google is one of the world's great consumers of free software, and a supporter as well. Google runs its servers on Linux, and has placed it at the core of its fast-growing Android mobile phone system. Furthermore, Google submits enhancements to free software projects, releases many of its peripheral technologies as open source, and runs projects such as Summer of Code to develop new free software programs and free software programmers in tandem.

This is the trend throughout computing. Large organizations with banks of servers tend to run free software on them. The tools with which they program and administer the servers are also free.

A "free software cloud" may seem to be an oxymoron, like "non-combat troops." But I believe that free software and remote computing were made for each other; their future lies together and the sooner they converge, the faster they will evolve and gain adoption.

In fact, I believe a free software cloud - much more than the "open cloud" that many organizations are working on - lies in our future. Upcoming segments of this article will explore the traits of each trend and show why they are meant to join hands.

Next: Definitions: Clouds, web services, and other remote computing.

Copyright 2013 Joe Shea The American Reporter. All Rights Reserved.

Site Meter