September 25, 2014

Back to the Source: Why FOSS is More Important Than Ever

good-evening-mr-gatesIn the olden days the topic of software freedom was central to Linux and free/open source software. Software freedom needs to remain front and center. Remember Richard Stallman's Four Freedoms?

"Nobody should be restricted by the software they use. There are four freedoms that every user should have:

  • the freedom to use the software for any purpose,
  • the freedom to change the software to suit your needs,
  • the freedom to share the software with your friends and neighbors, and
  • the freedom to share the changes you make."

Another way to say this is we should always have the freedom to tinker.

We used to take these freedoms for granted with all of our personal property. We can mod our homes, we can buy random items, glue glitter and googly eyes on them and resell them as holiday crafts, we can do anything we want with our own stuff. Except for our digital property. There we run into vast mazy minefields of laws and Digital Rights Management and prohibitions and the idea that we don't own it, but merely license it, so it's not really ours and the vendor has the right to control it, and to control what we do with it.

Even Free Software does this; for example the GPL requires that if you mod and distribute GPL code, you must also distribute your source code. But there are significant differences. If you violate a typical proprietary software license you'll feel the wrath of attack lawyers, which is assuaged by applications of large sums of money. If you violate the GPL you lose the right to use GPL code. When you repent and mend your ways you get to use it again. These GPL provisions only apply when you re-distribute code; whatever you do in the privacy of your own home or shop is nobody's business but yours. Most proprietary licenses insert themselves into your normal use and private business.

Just for fun, go read the EULAs for Windows 8. There are 10, count 'em, ten of 'em. This is what Windows users must "agree" to.

Did Linux Really Win?

My fellow codgers are experts at treating insomnia with stories from the olden days; those heady days back in the last millennium when Linux was a radical adventure, and only riff raff and weirdos were into it. Microsoft was Sauron, Apple was Saruman, and we free software/open source rabble had epic flamewars about everything: Emacs vs. Vi, KDE vs. GNOME, graphical desktop vs. the text console, apt-get vs. Yum, and oh my gosh the license wars. GPL, BSD, artistic license, MIT license, copyleft, copyright, Apache, the Unlicense, Q, Nethack, Multics, Sleepycat, Fair, and dozens more, all sounding like characters at a comic con. Every week a new milestone and a new adventure, and fighting for legitimacy: Groklaw, Lindows, the hated SCO; Windows Refund Day; IBM's first billion-dollar Linux pledge and their famous Linux commercials ("The servers! They stole all the servers!"); the United States vs. Microsoft; the Red Hat initial public offering; Ernie Ball publicly dumping Windows and adopting Linux after being raided by the Microsoft license police...I could ramble on and on, because the Linux and FOSS world was smaller then, more like a loud but cozy club, and events felt bigger.

The Linux and FOSS world is many times bigger now, so individual events and personalities don't loom as large. We like to boast "Linux has won!" because of Android and the dominance of Linux and FOSS in all key computing arenas: supercomputing, embedded computing, cloud, networking, data centers, web sites and services...everywhere but the general-purpose PC desktop. But even as Linux has exploded in the enterprise, software freedom for the consumer masses has suffered. So -- have we really won?

What Does Winning Look Like?

Linux and FOSS are mainstream, and the FOSS development model is widely-accepted. All kinds of businesses love to claim open source creds whether they have any or not. It's rare to hear anyone calling Linux a cancer, as Microsoft's Steve Ballmer did. Even the most hardcore proprietary software vendors have to interoperate with FOSS now, and many that were hostile once upon a time are now contributors. Credit for this goes to the growing popularity of Linux and FOSS, Linux distro logosand even more to the efforts of developers like Greg Kroah-Hartman and John Linville who extend helping hands to vendors, and assist them with learning how to become contributors.

But there is still no Tier 1 vendor selling desktop Linux. Dell has on occasion released a desktop Linux machine. And HP and Dell sell Linux servers, with many hoops to jump through to find them. If you want Linux pre-installed from a vendor who does it right you go to one of the excellent independent Linux vendors such as System76, ZaReason, Emperor Linux, Penguin Computing, or Pogo Linux. There are no Linux computers at Walmart, Best Buy, or Fry's. Even Amazon, the largest store on Earth, has only few oddball Linux PCs.

Let us pause to let the chorus of "But Linux is too HAAARD for the MAAASSES" erupt and subside. Poppycock. Linux is easy. Windows is hard. And stupid, and incurably insecure, and overpriced. Apple is a stylish prison with the most hardcore attack lawyers. (And not all that easy.) I can't find a link, but remember when Apple sicced their lawyers on the little girl who sent them an iPod feature request? In the FOSS world she would have been invited to submit a patch herself, and perhaps in a rude way. But never attack lawyers.

Small independent Linux shops make it dead easy to buy a Linux computer. You go to their sites, and lo! There they are. You can customize them online and make your purchase without ever talking to a human. If you need help or a custom configuration they will take care of you. Oddly, the titans of tech are unable to do this without making it a great big hairy deal. (I learned to make custom Debian spins way back in the last millennium. Surely a bigtime tech company with battalions of staff and control of the hardware can do the same.) In a genuinely competitive marketplace we could go to any major retailer and order up whatever computers we want with whatever operating system we want. We could choose from Linux, Windows, FreeBSD, and maybe some others that have fallen by the wayside such as Amiga, OpenSolaris, and OS/2, and perhaps some others that would have been invented in a lively open marketplace. That we can't means the market is still under the thumbs of the wrong people.

But What About Android?

Android is paraded proudly as evidence that Linux has won the mobile phone and tablet market, hurrah! Its market penetration is rather astonishing, owning over half of the US mobile market. I think much of Android's success is due to the name and the cute logo, and Google successfully wooing manufacturers. Customers are not asking for Linux phones, and most Android users have no idea what Linux is. So it doesn't feel like much of a Linux win to me, but rather a Google/Samsung/HTC/LG/etc. win.

Is Android really Linux, and is it really open? Android runs on a modified Linux kernel. It has its own separate software and development ecosystem, and it is special-purpose for touchscreen devices and mobile phones. The Android you find on most commercial devices is very Google-centric and loaded with Google apps, and you can't remove them. You can't even turn them off without a fight, and they turn themselves back on. The Google Play Store is cram-full of closed-source proprietary apps that seem to be more about spying on you rather than being useful to you; you have to watch the permissions that they require with an eagle eye, and even if you're careful with what you install you have no way to stop them from changing their terms of service later. There is no easy way to find open source apps on the Play store. (Try F-Droid to find FOSS Android apps.)

You can download and play with the open source Android bits at the Android Open Source Project. There are a number of Android forks, and the most popular is CyanogenMod. Whether you can install it on your own phone or tablet is iffy, as most Android devices are very locked-down and you don't get root access. Some devices are so locked-down you cannot install apps from anywhere but the Play Store.

cyanogenmod

However, you can still root most devices via known Android flaws. Once you succeed in rooting your device and installing CyanogenMod you have to install the Play Store and other Google Apps separately, if you want them, because CyanogenMod cannot distribute them. The Google Apps are closed-source, and while they're free of cost to distribute Google allows them to be distributed only on certified devices, and suprise! Certification costs tens of thousands of dollars. Once you're certified you have to install a set of apps that Google specifies. You don't need them to use CyanogenMod. CyanogenMod behaves more like a traditional Linux because it gives you control of your device's hardware. (Note that inexpert tinkering can brick your device.)

This highlights one of the core strengths of "real" Linux, and that is a large number of diverse software repositories, and the most advanced software management of any platform. Users have multiple excellent choices for their software sources.

Who Owns Our Stuff?

The unsettled battle is who owns our stuff? You know all those free cloud services that everyone in the world is trying to suck you into? They're not doing it because they love you and want to give you cool free things. It's just one more cog in the data-mining machinery that exploits the Internet and everyone who uses it. "If you're not paying for the product, you are the product" is the prevailing business model. The real customers are marketers, and their appetite for every last morsel of our private information is bottomless. It's a black box with no accountability or oversight.

This is an alarming trend, especially considering that software controls everything. Medical devices, home appliances, tools, vehicles, power grids, factories, you name it and odds are it's cram-full of microcontrollers that only the manufacturer knows how to program and debug. Auto manufacturers don't want us to know how to read the trouble codes in our own vehicles. Killed by Code discusses the problem of malfunctioning buggy medical devices. Every time I go to the doctor I get creeped out by seeing Windows screens everywhere. Sure, I totally want my sensitive personal data stored on the most porous computing platform. Welcome to the World Wide Botnet.

Phil Hughes, the founder and original publisher of Linux Journal, famously asked "Would you buy a car with the hood welded shut?" We should have unfettered access to all source code on every device we own, and every device that touches us in any way. We're a long way from this as "intellectual property" (a lazy term that encompasses patents, trademarks, industrial design rights, and copyrights) laws are insanely-stacked in favor of rights holders, at the expense of everyone else.

No Magic Moment

Progress is messy, and persistence wins. Linux has come a long way in 23 short years. There will never be a definitive "Aha! We won!" moment. I will call it a win when open code is the norm and closed-source is the exception, and all the crazy laws that try to control and restrict what we do with our own stuff die nasty painful deaths. Or even peaceful ones; I don't care as long as they're good and dead. I will call it a win when vendors quit treating us like criminals. The Oatmeal has the best take on this in I Tried To Watch the Game of Thrones and This is What Happened. (Crude language warning.)

Footnote

In anticipation of someone snarking "Well if you're so pure then don't use all that evil stuff lol!" I know, the people who say that think they're scoring a killer shot, zing! But they're not. We all make our best choices, and we continue advocating for improvements. Progress comes from being engaged and building bridges, rather than stomping away in a passive-aggressive huff.

Click Here!