“Enterprise software” is a social, not technical, phenomenon, is a good write-up on what the “enterprise” part of “enterprise software” means. In it, Kragen Sitaker makes the case that the “enterprise” classification is based purely on the social and business aspects of a product and not on technical qualities:
Third, “enterprise software” is surrounded by consultants who will sell you the service of making it work, as explained above. In some cases, these ecosystems of consultants are competent and highly skilled. In other cases, such as the case of Java, many of them are spectacularly incompetent, vociferous in their ignorance, and prone to attack competing systems. This results directly from the sales process for “enterprise software,” in which expert persuaders gull technically incompetent managers into adopting the software. Managers who aren’t technically well-informed enough to select the software in the first place will also not be well-informed enough to distinguish between competent consultants and incompetent consultants, so both competent and incompetent consultants will flourish — but the competent ones will eventually get sick of it and go elsewhere.
I didn’t really understand this until KnowNow, the startup where I worked, got turned into an enterprise software company by its VCs and management; although I had previously had the opportunity to observe most of the pieces of the puzzle, I had clung to the idea that “enterprise software” was technically better in some way from the software I was used to using. It turns out that the differences are entirely social, not technical, and one of the major differences is that “enterprise software” is under much less pressure to have any technical merit.
This was an elaboration of Kragen’s comments on a post by Justin Gehtland entitled Rails: What would it take?, which includes an excellent comment thread describing real and perceived issues with using Rails (and LAMP in general) in enterprise environments.
I’ve received a small bit of flak from F/OSS purists for displaying excitement around stuff like Dell supporting LAMP and Pfizer going with ActiveGrid. The canonical push-back seems to be that LAMP treading the enterprise path could lead to it adopting the poor technical qualities we associate with many enterprise software packages. My feeling is that recent support for LAMP in the enterprise has come about due to a few rare individuals who have equal experience in both the social game of “enterprise software” and the technical qualities of the LAMP/friends stack.
While I find both the social and technological aspects of “enterprise software” equally disturbing, these companies are showing that you can swap good technology in without necessarily having to re-organize social practices, and that’s important. This makes it possible to take a divide and conquer style approach to infiltrating business IT. You have your technology front: ActiveGrid, SourceLabs, Redhat, Zend, etc. and you have your social front: Weblogs, Cluetrain, F/OSS style peer collaboration, etc. It’s just like Korea.