Usually, it’s rare for me to catch a movie on its opening weekend, but in the case of Tron Legacy, I had to make an exception. I mean come on, I’m a programmer by day and a computer science grad student by night, so it’s kind of a job requirement for me to see it. Overall, the flick came pretty close to what I was expecting of it, so it didn’t exactly blow me away. The ambient electronica of Daft Punk was a great touch and the visual effects are for the most part very well done, though a few of the 3D shots look rushed and flat. But that aside, I saw a pair of consistent themes being woven through the plot, themes that are actually quite often discussed in the tech world and branch out into transhumanist ventures and the open source community. The first is the idea that a piece of software shouldn’t be simply packaged and sold, but released to the users complete with the source code so they can use and modify the program any way they want. The second revolved around a desire to use a seemingly new and profound insight gained when working with new technology to change the world and the designers’ starry eyed and far-reaching ideas about remaking the entire globe as they see fit.
Let’s start with the first idea, the thought process behind open source software. Don’t get me wrong, there are a lot of really good open source programs out there and a number of them are used in developing brand new software packages, including projects that help manage large and complex chunks of code. However, when you spend a lot of time and money creating an operating system or a program designed to handle complex or industry specific tasks, you’re going to want to get paid for it, and you’re probably not going to want to let any of your competitors see how you build your software. Ideally, if you’ve come up with some terrific piece of code or a clever algorithm to handle a sophisticated task, others should be able to see it, learn from it, then use it for their software, creating new design patterns and improving the overall quality of software out there. In the real world, a lot of companies will simply steal the code you’ve slaved over for months, if not years, and take away your new selling point. It’s one thing when you’re freely volunteering to contribute to open-source projects and expect nothing in return, but when you’re being paid to write code, it’s not in your best interests to reveal it. And besides, if you were to give away your source code, how many users will spend the time and effort to tweak a few million lines of code to write custom operating systems and programs? So you end up releasing virtually everything not only to those who want to and are qualified to help you, but to those who either don’t care about your work or just want to steal it to fill in gaps in their product or improve it’s performance.
The second issue is a little more abstract and harder to address. We all hear about how technology is either changing the world or about to change it, especially from Silicon Valley CEOs, so we’re pretty used to being constantly promised the Next Big Thing. Trouble is that very few technologies really do change everything. I’ve constantly read about how much Facebook is changing the world, even though it wasn’t the first social media and networking site, it was built on existing technology stacks, and it wasn’t always the most popular. It’s just really big and famous right now, as well as ridiculously overvalued, so we see all this praise lavished on it by tech reporters. But what about the web itself? It took the internet and turned it into a usable network for virtually everything from commerce, to education, to adult entertainment. Without the web, we could argue that most of the modern, wired, intertwined world would be very different. Now that’s a world changing invention. If we took away Facebook, there would be another site doing exactly what it does and the Web 2.0 would remain similar to what we have now because it’s a business model rather than any particular technology. And on the flip side here, history is full of technologies that users just couldn’t understand at the time of their invention and so they simply passed on it, like ancient steam engines. Changing the world is a difficult business and how a certain technology affects global affairs only becomes apparent with time and user acceptance.
Believe it or not, there’s a thread that ties together the open-source movement which see software companies as too slow for the world of high tech and slowing innovation by guarding their source code, and a yearning to change the world with some new piece of technology. That thread is idealism that tries to discard the flaws of the real world and focus on a bigger mission, a mission to improve, enhance, and advance without having to deal with day to day politics and underhanded competitors, and forgetting about users who really will not care how clean or maintainable the code behind their applications really is and are just interested in the programs’ end results. It’s too bad that good intentions and idealistic zeal usually only go so far…