Monday, September 28, 2015

The Value of Open

(I found this ancient draft, last edited in January 2012. It looks pretty solid for its time, and potentially still relevant, so with that in mind, here it is...)

I met the internet over a decade ago, as an idealistic teen.  Linux was a rising star, so when I got a computer for college, I found a builder who was willing to sell systems with Windows 98 and Red Hat Linux side-by-side.  In those bygone days, the 2.2 kernel was near the end of its life, but USB support was backported while we waited for 2.4.  (I'm sure other things were, as well, but that is the one that had the most impact on my USB scanner.)  I connected my DIN hand-me-down-and-down-and-down keyboard from the old 486 I had been using to a PS/2 converter and joined the Future with my new machine.

I believed in everything about open source back then.  We even had proof: Linux! and Red Hat! We were totally not chasing taillights!  What could possibly be wrong with our utopia?


10 years later

As part of OS X, Apple launched Quartz Extreme, Display PDF and some measure of resolution independence, Exposé, Time Machine, and probably many, many other bits of awesomeness that I missed because I don't have a Mac.  Apple is also heavily investing in LLVM, and they also found time to reboot the future with the iPod, iPhone, iOS, iPad, the iPhone 4's display, and i—er, MacBook Air.

Microsoft launched Aero,  WPF (and a whole lot of .NET under it) and resolution independence, some Aero enhancements in Windows 7, System Restore Points, and probably many, many other bits of awesomeness copied from the Mac.  Of course, they've reneged on WPF since, and are now pretending they won't do the same with "HTML 5" in a couple of years' time when they've realized how woefully inadequate that is for writing desktop apps.

Even Sun managed to bring the JVM up to world-class in speed, and develop DTrace, ZFS, and VirtualBox (with 3D acceleration for guests) while they staggered around with no idea what their company should be doing.

In the Linux camp, they got their heads together and now we can have transparent windows, if it's not in a KVM guest, nor with a new video card that isn't supported by the drivers yet, nor on an integrated graphics chip that can't handle whatever horrible things compiz does to the graphics card*.  Fonts may be resolution-independent, but none of the rest of the UI.  In the future, btrfs might give them something they could build restore points on top of.  (Poor old LVM2.  Nobody loves him.  But then, he just ignored write barriers until recently, so he deserves it.)  They built some pretty useful apps in C#, to the point where they're part of Gnome and the default Ubuntu install, and another faction started Vala so that they can have a C#-like language that doesn't run on the CLR.

I think that covers it.

Microsoft and Apple have yet to see Linux's taillights

The criticism leveled at open source and Linux—that it will forever be chasing the taillights of proprietary software, which is actually doing the innovation—seems to be vindicated by experience.  Mono is one obvious example.  Microsoft regularly updates the .NET Framework, sometimes including changes to C# as well, but the update is always available from Microsoft first, and Mono later.  Even so, Mono doesn't necessarily implement everything, with the obvious example there being WPF.

Not that they have any support to implement WPF on top of, mind you.  That's probably why they skipped it.  Just like all the Aero and Aqua rip-off themes fall short of actually providing a faithful experience, even though that's what their authors seem to want, because Linux environments don't have sheets, drawers, docks, Peek, or Snap.  Or, they have N docks, and it only works correctly with 1 of them.

While people who really believe in openness as a key virtue of a system continue to get all their R&D from proprietary products, Microsoft and Apple are off implementing the next cool and useful feature, ensuring that they are still a step  ahead.  It seems that Microsoft, for instance, has integrated presence notification into Windows.  When Workrave blocks input for a rest break, or I lock the screen, I immediately become "Away" on Messenger.  Another notable Windows feature is that media players can ask not to have the screensaver activate even when the idle timeout passes.

Linux just doesn't have (or until recently, didn't bother using) any of those advanced technologies.

Another crack in the worldview is exposed

In spite of those downsides, Linux was supposed to win because Freedom is just so important.  There will always be apps for anything anyone wants to do, anywhere, ever, because people are free to write whatever they need.  And, they'll automatically make it free for everyone.

Except Flash.  Or a real rival to Photoshop.  Or drivers for hardware that has only been in the wild for a year or two.  Or any of those little apps that keep people on Windows, because they don't run anywhere else.  Everyone has one, and it's always different.

The free software community can't even make a solid theme.  Ubuntu managed to squeeze a half-finished theme into their 10.04 release, but it was developed in secret and slipped into the project in toto the day before the artwork freeze.  You know, proprietary style.  Of course, following the footsteps of KDE's Oxygen theme, they probably didn't want anyone ripping it off before the release was ready, thus making the release seem stale by the time it arrived with the now-seemingly-old artwork.

And then Microsoft made sense

Microsoft went to a lot of trouble to create, release, and unduly influence the adoption of "Office Open XML" as a fast-track ISO Standard.  With such a risk of their manipulation of the process being discovered, what was the reward they hoped to obtain?  It was apparently large enough to be worth the risk and costs of subverting the ISO, so what was it?

It was simply that OOXML was under Microsoft's control, and ODF was not.  If Microsoft desires improvements to its spreadsheet format, with OOXML, it can just do them and release them with the next version of Office.  Once again, Microsoft leads with document compatibility!  On the other hand, if their proposed improvement (which was so awesome as to require changing the file format) had to be approved in ODF, then they would have to deal with OASIS and hope that their feature didn't get shot down in committee.  Worse, LibreOffice would probably implement the feature before the next Office release shipped with it, taking away Microsoft's "1st to support" crown.

With control over a format so valuable to a company, Microsoft had to fire back at legislation that was being passed mandating "open" file formats for all government office documents.  Since they couldn't obstruct 100% of the laws being passed, they opted instead to get OOXML legally defined as open, yet keep it as closed as possible in actual fact.  (This could also explain why they weren't particularly swift about implementing the recommendations from the standardization process.  They didn't see any risk of anyone outdoing them with Standard OOXML compatibility before the next next version of Office was out, so they didn't rush themselves.)

Another example of how control is valuable to a company is Apple's controversial (and now-revoked) Section 3.3.1 and their justification for it: Apple demanded that people to write to the platform they control, so that no third party can obstruct Apple from getting their new features and platform improvements into widespread usage.  It's so valuable that it's worth the risk of alienating your developers.

Value

This brings us back to the question of where the value is in something being open and free.  The proprietary path seems to generate larger amounts of innovation and faster execution on plans, which can translate into large returns if the result is good.  But what of open?

As far as I can tell, there isn't any economic value in openness in and of itself.  Open core companies like Red Hat or the MySQL of yore bring in revenue by licensing and supporting installations of their closed code.  (CentOS is economically equivalent to pirating Red Hat, but due to the requirements of the GNU GPL, it's not illegal.)  Even the open core of these companies costs them money, since they pay for engineering time that is spent on improving the open-source packages, e.g. with the RHEL 6.0 delay.

Open source obviously takes resources to produce, which would lead one to believe that it isn't valueless, but those producing it are either being paid by a company who makes their money off something else, or are consciously donating their labor to humanity, regardless of the resulting net value.  It also enables plenty of other value to be generated, since every tech company I've worked for relies heavily on Linux, the GNU userland, and Apache to serve their websites and provide their services.

Even so, it doesn't seem like openness is valued in the market.  I can think of very few open systems that have risen to dominance; the major exception being the Internet itself, but it didn't come out of the free market.  It came from academia, and an inherent need for interoperability among the networks comprising the Internetwork.  Everyone simply needed to be able to join it, and the implementers weren't competing with commercial Internets.

I think open source has a useful role in providing some mild threat to proprietary products on order to keep them from resting on their laurels too much.  As such, it contributes to the rising value of software over time, but does it have its own value?  Are RHEL, or MySQL subscriptions, worth the asking price?  For the businesses I've worked with, the answer has been "No", although I suspect if they looked at the labor cost of maintaining and updating Fedora vs. subscribing to RHEL, they'd find CentOS favorable.

The real battle that RHEL faces is that its value is not derived from the bits themselves, but in the production and upkeep of the bits.  Yet the bits are the part you need to actually use it.


Footnotes

* I learned this last point when my video card died, and when I rebooted without it, I couldn't move Firefox windows on the motherboard's nv-7050.  The fade-to-translucent took too much horsepower, I guess.

No comments: