Many of us might think that software is a technological industry. Maybe. But maybe not. If you consider the biggest organizations that sell software tools like Oracle or Microsoft, I suppose that few of us would consider them as technology leaders, but we will all recognize their financial strength and marketing power. This makes me think that long lasting organizations in the software industry have more financial strength than technological capabilities.
Starting from for the relational technology that conquered the database market in the 80’s, Oracle first defeated its main database competitors (Informix, Sybase or Ingres). Then, it gradually expanded buying a lot of companies, the most important in the software development field being BEA Systems and Sun. After an acquisition, Oracle “simply” rises the maintenance licenses prices that a company pays to have support and “milks” existing customers. Companies before Oracle already followed this strategy. The most famous of these “financial” software companies is CA Technologies (formerly known as Computer Associates) that was already buying products like IDMS or Datacom at a time where all databases were NoSQL, just because SQL wasn’t there yet! ;o) I don’t think that we could attribute any significant new technology to Oracle or CA in the last 20 years. To be fair, CA tried to market an object oriented database called Jasmine in the 90s. It was just a brief moment of deviation from their usual strategy that wasn’t really successful.
The recent conflict between Oracle and the creator of Hudson, an open source continuous integration server, is just another episode in the opposition between developers- and salesmen-driven software companies. On one side you have Oracle, for which Hudson is just small project inherited from the Sun buyout and that owns the “Hudson” brand. On the other side, you find Kohsuke Kawaguchi, who created Hudson and wants keep some control on its development. Even if Hudson is not a big product, adoption of continuous integration has been a growing trend in software development organization recently and Oracle knows that you can sell support services around open source products. However, you have to control the production of the software to provide meaningful support and “certified” releases and Kohsuke was not ready to abandon control on the evolution of Hudson to Oracle. Hudson was “forked”, meaning that the open source code is taken to start another project. You now have a Jenkins CI project that includes most of the active Hudson contributors and a Hudson CI project backed by Oracle and Sonatype, the commercial company behind the Maven project. Everything is naturally not black and white. After creating his own company InfraDNA, Kohsuke Kawaguchi has now joined Cloudbees, a company offering continuous integration services. Cloudbees has some management and financing coming from ex-JBoss managers, people that know how to make money with open source software. These people are not working hard just for the sake of technology evolution.
You can judge the main orientation of a company looking at its salesmen/developers ratios. When the developers are still the majority of the employees, engineering is in the culture of the company and they want their product to evolve. Developers will be close to the support function and they will answer to customer requests (or stop operating) rather quickly. When a company has more salesmen, it becomes more important to sell new licenses, get maintenance fees and meet financials target. Developers are mostly just a cost factor, like in most organizations. These companies will mostly sell products because they will be well-positioned in some analyst firm “hype pentangle” or because “nobody get fired buying something from X”, but not necessarily for the quality of their products. The importance of the technical aspects of the product is secondary. Making money is fine, but for the evolution of the software development tools industry, we need more developers-led organizations than financial oriented companies.