Thursday, October 7, 2010

Why I Don't Give a Rat's Ass About Open Source

Lots of programmers think open source is a good thing and the future of software.  I think they're full of shit.


All the best and latest software is proprietary.  What might we consider to be the most advanced software running around the globe?  The Google File System, Google Maps, Google Search, BigTable, Facebook, Twitter, the iPhone, iPad, vxWorks RTOS, these systems are all 100% proprietary.  Sure, they may use some open source when it suits them, like Google with Linux or Facebook with Hadoop, but their core systems are all proprietary.  Google has no intention of releasing its search code as open source, ever.  Nor Facebook or Twitter their web frontend and backend code.  And we know how Apple feels not just about open sourcing their OS but even letting you run your own unapproved applications on your Apple i* hardware.

There are very few exceptions, and they tend to be confined to problems that were solved decades ago, like unix operating systems such as Linux, text editors such as Emacs or VIM, IDEs such as Eclipse, programming languages almost two decades old like Java or python, solved problems like web servers with Apache.  Anything involving mature technology that doesn't provide enough value to pay for proprietary code, is about all you see of value in open source.


Now you're going to tell me about Hadoop, and all I'm going to say is the volume of data going through it is a fraction of what you'll see at Google.  It's a way to setup a system when you don't have the money of Google to do it right and don't mind half-assed performance.  Is that why facebook and twitter are so fucking slow all the time?

At one point in the past, I cared very much about whether software was open, not just open but free in the GPL sense.  It's not Linux, it's GNU/Linux, and all that.  But over time I found that what I really wanted from software is the same thing that the average user wants.  They want something that works, something that's easy and fast and performs a useful task.  Whether the source code for that is available or not is at best irrelevant, and at worst a harmful distraction.  The obsession with licensing is similar to the obsession with architecture and design, both are a dumb waste of time.

Or as the great Charles Myron Lowell put it:

"Programming Myth #1: Users Care About Elegance."

I don't care, and neither should you.

17 comments:

  1. What about http://cassandra.apache.org/? Started as FB open sourcing their backend message bus.

    or kestrel at twitter?

    http://robey.lag.net/2008/11/27/scarling-to-kestrel.html

    Or even more awesome, SW-ROUTING at Steinwasser? :)

    ReplyDelete
  2. The amount of data going through the bind DNS implementation, the many HTTP servers out there (which, for the exception of Microsoft's are all open source), the many BitTorrent clients out there (again, 99% of them open source) is what drives the internet. So your argument regarding Hadoop's data flow is moot.

    Also, your argument is very similar to the age-old pseudo-libertarian argument of 'oh, but without taxes we would be much better off and things would still just work', said while sitting on a car built by a subsidized company, running on gas that is only affordable because of subsidies, and circulating on roads made possible and safe by those taxes.

    If you ignore the infrastructure on top of which all those systems you mention were built on you are just seeing a tiny fraction of the whole problem. Not even the tip of the iceberg. Imagine how much longer it would have taken Google to implement their whole service infrastructure without a good OS, a good network implementation, a good compiler, a good scripting language, etc. You think they could've built it using Windows and Visual Studio? At what cost?

    So, even if you want to say you don't care, you do care. Without Open Source code your fancy Android/iPhone wouldn't work, your Windows machine wouldn't be able to connect to your neighbour's, your internet browser wouldn't have much to browse, and a million other small things you don't consider right now would just stop working.

    ReplyDelete
  3. Actually most internet traffic is going through Cisco routers which are running the uber-proprietary IOS. So actually, open-source systems are heavily dependent on proprietary software, as well as the entire Internet. Without proprietary IOS, the whole network would just stop running.

    ReplyDelete
  4. Also consider that about 1/4 of all web traffic goes to IIS servers. For large sites, the cost of the software licensing is pretty irrelevant compared to the huge cost of building the system, and running operations both on the hardware and software side.

    Consider all the subsidies you pay for that fund free software - especially in the form of higher taxes to pay for public and private universities that write free software.

    ReplyDelete
  5. "Actually most internet traffic is going through Cisco routers which are running the uber-proprietary IOS."

    Not necessarily true... a lot of the older cisco routers are running linux, they were called on it and they changed to the crap that they use now.

    ReplyDelete
  6. Really? What besides crap linksys home switches and dsl "routers"? Any Cisco network switch I've ever worked on, from the cheap to very expensive stuff, has always been IOS.

    ReplyDelete
  7. woah, someone got angry at a failed linux install one too many times

    ReplyDelete
  8. I think you're wrong, but uber-open-source nuts are wrong also. Open source is not irrelevant, nor is it going away - and neither is proprietary software. FLOSS and proprietary code can and will continue to co-exist - take smartphones for example. Loads of them are based on and/or run the Linux kernel (android anyone?). However, without proprietary drivers for the BSPs and the radios, the phone is useless.

    So, let's call this article for what it is - a shameless trollfest designed to generate traffic to your site.

    ReplyDelete
  9. My favorite part of this post is the 3:53am post time.

    ReplyDelete
  10. At first, I thought you were crazy, but then I noticed you were 8 years old. That makes it cute.

    ReplyDelete
  11. this blog > /dev/null

    ReplyDelete
  12. What a fool are you :')

    ReplyDelete
  13. Trash article which is simply wrong.
    You are a prototype of a fanatic. There are many OSS and especially GPL fanatics who are against proprietary software. But there also proprietary software fanatics (fortunately just a few really wired people) who are against OSS just because it's OSS. Both are fanatics and therefore bad decision makers.

    ReplyDelete
  14. What about ms windowz -- this shit is so crappy as i don't know what. In short it's proprietary and it's a shit. Proprietary or not -- isn't matter, the matter is software code quality -- and that's the point. When you work for money you will tend to do it better. In open-source most soft grown on enthusiam of coders. Proprietary <> good and opensource <> good both. Take it easy, be flexible, and do no evil.

    ReplyDelete