Web services are increasingly closed even as the software used to build them is increasingly open. Will developers be able to make a difference?

There are (at least) two kinds of "free" in software today. There's Facebook free and there's open source free. While both have a $0.00 price tag in common ("free"), they lead to widely divergent paths of control ("freedom").

Indeed, given ever-dwindling commitments by web applications to user freedom, it may be time to demand that these web services embrace the ideals of the open-source software upon which they're built.

"Free" as in "free to spy on you"

By "Facebook free" I don't just mean Facebook, of course. I could as easily have said "Twitter free" or inserted any number of names of popular web applications. After all, while these companies offer different services, they're somewhat alike in one thing:

They don't have much respect for our preferences for privacy and security.

And why should they? We, after all, pay nothing to use Twitter or Instagram. Except that we do. We just don't pay with cash, as John Naughton writes:

"'Be careful what you wish for,' runs the adage. 'You might just get it.' In the case of the internet, or, at any rate, the world wide web, this is exactly what happened. We wanted exciting services - email, blogging, social networking, image hosting - that were 'free'. And we got them. What we also got, but hadn't bargained for, was deep, intensive and persistent surveillance of everything we do online."

And why? Because "free" always has a price. In the case of the web, that price is engaging "the best minds of [our] generation [to] think[] about how to make people click ads," as Cloudera co-founder and former Facebook pioneer Jeff Hammerbacher puts it.

The web, in other words, is only free so long as enough of us click on ads with an intent to buy something else.

Not clicking enough ads? Twitter has a new solution for that, following hard on the heels of promoted tweets (i.e., paid for tweets you probably don't want to see):

"Additionally, when we identify a Tweet, an account to follow, or other content that's popular or relevant, we may add it to your timeline. This means you will sometimes see Tweets from accounts you don't follow. We select each Tweet using a variety of signals, including how popular it is and how people in your network are interacting with it. Our goal is to make your home timeline even more relevant and interesting."

"More relevant and interesting" to whom? Not to its users. After all, we never chose to follow the people whose tweets now infiltrate our feed. Instead, Twitter has hijacked the user experience to push tweets it thinks we might want to see, but this really translates to "tweets we hope you'll engage with so we can sell more ad space."

Lest we complain, it's important to remember that we're not paying for Twitter. We're the product.

Free as in "open"

Now consider open source, the software that powers all these web companies. Open source has a built-in guarantee that users are in control. Always.

This matters, because open source "is where innovation happens," as Red Hat's Gunnar Hellekson opines. From Hadoop to Android to Mesos to MySQL, much of the world's best software is available for free.

Well, not completely so. After all, there is a price tag attached to open source. Hellekson continues:

"Open source projects are operated by communities. They are innovative and agile. Maybe they don't know what they want to be when they grow up. As the community explores a particular problem, the software changes in shape and purpose. Projects are, in many ways, experiments. Sometimes, those experiments fail - which is a good thing - and when they fail, you're responsible for fixing it. In many ways, a project makes you the vendor. That responsibility is the cost of free access to good ideas, the freedom to experiment, transparency, and a powerful collective effort."

In short, open source is generally only as useful as you are experienced. That is, if you want to build upon it. But as hundreds of millions of Android users can attest, it works just fine without modification, too.

Can we open the web?

Over the past few years, as the web has become more and more closed, resembling a "Hotel California" of software, open source has become ever more open.

In the world of open source, there's actually two variants: free software, primarily governed by GPL-style licensing, and open-source software, primarily governed by Apache-style licensing. The former says "modify my software and contribute back," while the latter says "do whatever you want with my software; no need to give anything back."

Both are good. But as far as allowing truly unfettered freedom, open source wins.

This isn't merely a matter of philosophical preference. According to data compiled by Black Duck Software, the GPL and its siblings have been in decline for some time, falling to 50% of all open-source licenses used in 2012 and now hovering at 45%. even as Apache-style licensing has jumped to 42% from 30% in 2012. (On GitHub, those few projects that have a license at all are almost entirely MIT/Apache-licensed.)

Developers, in other words, are voting for restriction-free software licensing. How can we make the web applications built from this code be equally open?

Depending on developers

Sadly, we probably can't. You and I, that is. After all, users on the web aren't in a position to modify the services they use. Social pressure has helped, yielding more finely grained privacy controls on Facebook and the Data Liberation Front at Google.

But these are not enough and arguably never will be. So long as we remain users and not developers, we will always be forced to use whatever is given to us, which means more ads and less freedom. Forever.

And yet... there is hope.

Facebook, Google, Twitter, Netflix, and others are madly scrambling to not only hire developers, but also to get them to build upon their platforms. As these companies compete for developer interest in their platforms, they're going to have to compete on openness, which can in turn be used to improve online experiences for the non-code wrangling sort.

Long shot? Sure. But there was a time when virtually all vendor-led software was proprietary, and that was a mere 10 years ago. As companies have competed for the attention of developers, they've opened up ever greater quantities and quality of software.

It could happen to the web, too.