Code Craft
The art, science and craft of writing quality software

Aug. 9, 2005 - The software no-one can write

All licensed software gets written by only four companies

  1. Microsoft
  2. Oracle
  3. The Open-Source Community
  4. Startup Companies

Ok, so what do I mean?  None of these companies wrote Doom for example.  No, but Doom is one of probably only five actual games (a "classic" first person shooter) and Microsoft makes at least one entry for each these categories so I consider "games" covered by MS.   Using this definition, almost all desktop software is made by Microsoft as well as most of the back office software and much of the business software.  Anything not covered by MS is probably handled by Oracle (I could have chosen IBM instead with almost equal validity). 

 

I included the Open Source Community because they do make a lot of very specific (and small) tools and programs that stand out as unique.  Otherwise 95% of what is available in open source is probably also made by MS, Oracle, or both.  If you need a language MS has 4.  If you need an OS MS has one for you.  If you need a browser or a file server or a print server or a database or a project planning tool or an email system or... MS has it.

 

There are also a number of narrowly targeted applications that really don't have any comparable equivalent in mainstream software and almost all of these are made by Startup Companies (VC backed companies or small private firms).  I have left off software made by device manufacturers and software made for a specific company (hence "licensed").  Almost all on-line software is "made" by MS or has a direct licensed competitor as well.

 

If you can think of an important class of software that does not compete directly with software made by one of these companies let me know, because when I started writing this list was a lot longer and it has gotten really short.

 

Interestingly, only four companies write software:

 

  1. Microsoft
  2. The Open Source Community
  3. Startup Companies
  4. Google

Here's what I mean.  These represent the four basic approaches to "general purpose" software.  Microsoft owns the big corporate software development approach since I do not think I can distinguish the approach they have from an Oracle or an SAP or a Symantec.  The difference is, of course, that they represent the dictator of the space (you can decide if you think it is a benevolent dictatorship or not). 

 

Open Source development is clearly a radically different model that is very successful in its own way.  It represents the power of letting people scratch their own itch.  It has produced programs and systems of large size and complexity.  It is clearly different from MS.

 

Startup Companies make software in a qualitatively different way than either of these.  They tend to be vision driven and not process driven.  They work on small budgets and tight timelines and they produce a wide range of (initially) small to medium sized applications.  Of course these can grow and become MS like companies (that is usually their intent), but when you can call them a startup company they are still very different.

 

Google is not a one company category, but like MS it is the current king of its space.  Companies like Google have a particular distinction over the other entries in that they are producing exactly one copy of a piece of software.  This is not always the case, but it marks a difference.  Writing the Google search engine has a blend of things that are similar to in-house development and another blend that are similar to what MS does and another blend that are similar to what Startup Companies do.  It feels somehow qualitatively distinct to me.

 

Now, imagine that you have an idea that is big (would require a very large expenditure of resources) and would change in some fundamental way how we think about the "desktop" and the "web".  There are actually many such ideas, I have a few and I suspect you can come up with your own if you creatively think about the space.  Here's your problem: you have now thought of a piece of software that no-one can write.

 

It's big; too big for the financial resources of a startup company.

 

It requires someone who can re-envision the way things are done and shake things up radically.  The MS-like companies are not the kind sof companies to innovate in this way.  Most of them tend to watch the space, wait for an idea to gain some traction, and then re-write it.  In some ways innovation is not really even in their best interests (unless they can maybe knock out another big competitor, but can't the competitor just copy what they do?) Innovation is virtually a code word for wasted $.

 

It's also too big for the Open Source Community.  This may get some flames, but it's true.  There are some projects where each component only makes sense when taken together with a bunch of other components (equally large).  If these components are as big as, say, Apache or the Kernel, or Postgres it's very far fetched to believe that enough Open Source resources could be mustered to hold a very large team together for the three years it might take to reach fruition.  Unless you had God-like persuasive powers It would be the worst kind of cat herding experience.

 

Google might be the best hope.  Maybe someone big and visionary could take it on, but Google itself is the only candidate with the resources today and it appears that the fee based model is not something they will consider.

 

So, it appears you have an idea for a piece of software no-one can write.  Maybe this is a good thing since writing really big things that are new and don't bring in money in less than three years has never been done.  Maybe it can't.

 

 

Post A Comment!

Aug. 12, 2005 - thinking pattern

Posted by Anonymous
hi,

I was impressed with the clarity of thoughts

V
Permanent Link

Aug. 12, 2005 - Thanks!

Posted by codecraft
Its good to see people enjoying these articles.
Permanent Link

Aug. 23, 2005 - Croquet Breakes your Example

Posted by Darius
http://www.croquetproject.org
(read both the ??vision? and see the ??screenshots?

Visionaries can cross boundaries... like Alan Kay has.

Croquet is...
a little Open Source.
a little Big Corporate.
a little Academic Community.

It's revolutionary in technology, socially, and programmatically.
(It's just taking too long.)
Permanent Link

Aug. 23, 2005 - Exception proves the rule???

Posted by codecraft
I agree. It's definitely classifiable as software that no one can write. In terms of who is doing it, I'd still call it open source to a high degree (there are a lot of open source projects with high academia interest and corporate involvement), but it's extremely big vision and breadth makes it different.

On the down side, it sounds like a lot of cat herding has already taken place:)

I certainly wish them good luck, and I'm glad you sent me the link. A couple of my Smalltalk friends had mentioned croquet before and this was my first excuse to really spend some time looking at it.
Permanent Link

Share and enjoy
  • Digg
  • del.icio.us
  • DZone
  • Netvouz
  • NewsVine
  • Reddit
  • Slashdot
  • StumbleUpon
  • Technorati
  • YahooMyWeb
<- Last PageNext Page ->

Kevin Barnes

Code Craft is the place for my thoughts, rants, ideas and occassional jokes on what it means to write code, why some people are better at it than others, and how we think about software in general.

Links

Home
View my profile
Site Feed (RSS)
Archives
Email Me
StorePerform
TechNexxus
Soul Craft (my stories and discussions)
My Wall

Joel on Software
Paul Graham
Patric Logan
Martin Fowler
Free Blogs
Free Blog



Copyright (C) 2005, Kevin Barnes. All rights reserved.