Try Documentalist, my app that offers fast, offline access to 190+ programmer API docs.
I wonder how sympathetic people will be to Eric Kidd’s plea formulated in The Missing Future article. There’s a little bit for everyone: a bit of Microsoft bashing, a bit of love-and-hate relationship with open-source and a bit of nostalgia for the lost days of the golden era of software entrepreneurship when you could change the world *and* make lots of money as a small software developer. As for me, the article tickles me the wrong way.
You see, I’m almost like Eric. I’m almost the same age, I’m a programmer too and have the same dream: create great software, make gobs of money and retire young on a sunny island. Eric sees a problem: the dream is no longer possible. He paints a bleak picture of the future. To him only two versions of the future are possible:
- in first version Microsoft dominates the market so much that it’ll immediately crush any competition taking all the profits from all the possible software ideas
- in second version open-source dominates the market so much that it’ll replicate any good idea, leaving no profits at all (effectively crushing the “competition”)
Eric hesitantly prefers the open-source-only future but isn’t entirely happy with either, he prefers the glorious past (last 25 years which is 1978-2003) where small software developers were the lifeblood of personal computer revolution and were building great, innovative software making millions in the process. Except that:
- neither of the 2 (completely opposite) futures is likely to develop
- there’s plenty of room to build software and make money without running head-first into Microsoft
- on the average, open-source is no competition at all
- the past wasn’t so glorious as Eric wants to believe
- what will Eric do?
Let’s take those one after one.
To paint the possible future Eric just extrapolates the most obvious present trends, which are: Microsoft’s dominant position on the market and the raise of open-source. So either Microsoft will become even more dominant or open-source will raise to total domination instead. Predicting the future was never easier. Let’s see what would happen if we applied the same logic 20 years ago. If we were to be so insightful:
- in 1982: VisiCorp would be the biggest software company today (they were the biggest then)
- still in 1982: today Digital Research would be bigger than Microsoft (Microsoft only overtook them in 1983)
- in 1984: today Lotus would rule them all (as it did then)
(Data courtesy of A history of software industry.) Looks like the algorithm didn’t work in the past and I see no reason why it should work today. Things change, paradigms shift, companies make mistakes, Roman empires fall. There’ll always be a number one and there’ll always be many whining that the existence of number one makes it impossible for them to create good software. In the future there will be number one, but there will also be number two, number three and number three thousand. There will be open-source and there will be commercial software.
The other pop-cultural misconception in the software business is that if you develop anything good Microsoft will either crush you or buy you. Never mind that it can be proven to be untrue (Photoshop, Macromedia and Flash, Adobe Acrobat, Quicken) and that the existence of positive examples (like Borland or Netscape) proves not that you can’t compete with Microsoft but that you have to know how to compete and how to avoid making mistakes. Just like Adobe or Intuit or Macromedia managed so far. But wait, isn’t Eric talking about “small software developers”? Neither of the companies he mentioned to support his thesis were small (what that proves is that on the web you can get away with sloppy thinking and people might even agree with you or applaud it as excellent content). I remember one sentence from Innovators Dilemma: “small markets don’t serve the growth needs of big companies”. Translation: for Microsoft (or any big company) to even entertain entering a market it has to have a potential of bringing millions of dollars of yearly revenue. There aren’t that many markets/products that have that potential. On the downside:
- you’re not even entertaining entering a mature market like that (e.g. by writing another Great American Word Processor), are you?
- you’re unlikely to create such novel product anyway, so stop worrying about Microsoft eating your lunch when you do
- even if you create such novel product, you’re unlikely to stay the biggest player in the field for long, with or without Microsoft’s competition. That’s what happened with databases, spreadsheets, word-processors, C compilers, Unix clones etc. On the other hand, in the extremely unlikely case you do create a truly novel product with mass-market appeal, you’ll most likely retire to a sunny island anyway.
On the upside there’s plenty of products that one can build that while not bringing billions of dollar will still be useful for many people and will bring respectable amounts of money.
Let’s move on to competition from open-source. On average, there isn’t any. People are usually blinded by the staggering success of few open-source project like Linux (which is good enough to be a viable threat to Windows) or Apache (which still owns the web server market). But extrapolating from such data is like predicting how fast an average person can run by averaging the speed of Olympic medalists. Let’s look at more realistic data: today the most active project on SourceForge is Gaim (activity is a rough guide of how actively a given project is developed.) Not only it has a closed-source “competitor” but it seems that the competition is doing well enough to pay the salaries of 7 people and Trillian is simply a better product (personal opinion based on trying to get Gaim running on Windows and being annoyed by crashes and badly designed user interaction). Are you afraid of competition like that? This is pretty much cream of the crop open-source project and it only has 10 developers. That’s 30 times less than Eric’s hypothetical 300 developers bent (still hypothetically) upon cloning your product. Most projects SourceForge have around one part-time developer and are in constant hunger for more but there aren’t more developers willing (or being able) to code for free. The big wave of growth in open-source was due to internet. At some point there was an influx of new people exposed to the ideas of open-source and they got involved with it. I believe that we reached an equilibrium: some new people come to open-source but others go and the overall number doesn’t change much. Open-source will be with us forever but it will never be the only way. To put it another way: I’ll be very old when GIMP puts Photoshop out of business.
The past wasn’t so much better for small software companies than present is. Eric is concerned about two things:
- ability to create innovative software
- ability to make money out of it
If we look at the ability to create great software present is better than the past and future will be better than present. The hardware can only become faster and more powerful making new kinds of software possible (would you attempt to process 6 mega-pixel digital photo on an Apple II?) and old kinds of software are getting faster and easier to use. As an industry, we gradually make small improvements and learn from others so the average quality of an application should improve. If we’re lucky from time to time we’ll get another great boost like the internet one. Things can only get better.
If we look at the ability to make money, things are less clear. On the one hand, more computers mean bigger potential market. Better/faster computers mean a market for new kinds of software, kinds that didn’t exist before. Same for new technologies (e.g. because we got network, a market for web browsers or IM was created; because we got digital cameras, a market for software for managing photos was created; because we have re-writeable CDs/DVDs, a market for CD/DVD burning software was created etc.) Thanks to the internet selling and promoting your software was never easier. On the other hand the competition increases. Competition coming from all sides: open-source, other small software companies, big software companies (if you’re lucky). It also gets harder to create a significant application i.e. it’s probably unrealistic to repeat VisiCalc and create a break-through product with only 2 people on the board). So there are trade-offs but the important question is: if my goal was to create software and make a killing, would I rather be thrown 20 years back when a ridiculously under-powered computers cost ridiculous amounts of money and were available to a ridiculously small number of people? Would I rather be thrown in pre-internet days where making the software available to people was as hard as writing it? Or would I rather do it now? I choose now.
So what will Eric do? That’s the part where it gets surreal. He says:
The small companies offer me no visions. They can’t build platforms; they can’t challenge Microsoft…If you want my support, and the support of others like me, propose a vision.
Apparently, Eric will just wait for others to do the job for him and complain bitterly if they don’t. What started as an essay from the point of view of a software entrepreneur ends up laying blame for the bad things on some vague, collective entity (“small companies”). Why anyone owes Eric a vision? Why any company needs to seek his support? Ever heard the wise words of Gandhi ?
As for me, my future will so bright that I’ll need sunglasses. I’m delighted to live in an era when all it takes to sell software I might (or might not) write is to spend few bucks on a web site and register with one of many e-commerce providers. I’m delighted that the availability of the Internet opened so many new opportunities that we only began to scratch the surface of what’s possible. I’m delighted that open-source provided me with a set of free tools to write software and lots of code to learn from (and in some cases to take and use in my own software). I’m delighted that I live in times when new ideas/software/services/companies are created daily, things like web, IM, eBay, p2p, file sharing, BitTorrent, blogs, MT and blogger, google, Yahoo, Amazon.com, Watson, Napster, iTunes, Chandler, Palm,Pocket PC,Hiptop,perl,Python… the list goes on and on. I’m delighted that I have a shot on Cold Stone.
The only thing standing between me and the mythical innovative software and gobs of money is my ability to have great ideas and to work hard to bring them to life.
Now, excuse me, I have some software to write…