How does the closed model used by Microsoft® and others compare to the speed of innovation by open source communities?
Let's consider some of the latest graphical features being added to Microsoft® Windows™ by looking at a preview of a future release named [Vista]:
- Hardware accelerated and resolution independent anti-aliased 2D graphics
- Alpha blending between windows
- Advanced 3D graphics capabilities and driver functionality (advanced compared to prior versions of Windows?)
- To configure the sidebar with new functionality, you can right-click anywhere on the sidebar and choose Add a Tile
The two most popular desktop environments for Linux, GNOME and KDE, along with other software, has had these features for years. It can be hypothesized that either Microsoft is seeing this software and catching up in features or has come up with these ideas far late of the open source community.
Typical of open source software development is the immediate availability of the latest source code to the public. As soon as a developer is done with code and checks it into a version control system open on the internet anyone can get that code. Official release schedules, however, are at the discretion of the project manager(s). Usually, as soon as the code for a project is ready the project is officially released. Motivations keep the developers interested and drive software projects to be released as soon as possible. The benefits of innovation are available at virtually its moment of creation.
Closed corporate softare development occurs in a very different environment. The usual goals of maximum revenue at minimum expense guides features and release schedules. Often software is released at a politically or economically driven date. One common motivation is competition. Another is maximizing revenue through upgrades. Microsoft plans release schedules far enough apart between upgrades, often three years, to give customers a reason to upgrade without waiting for a future version.
Open source development being a voluntary effort motivated by ego and need creates a larger community than any company could imagine to hire to produce the same. As of January, 2004, more than 1.1 million professional software developers in North America spend some of their time developing open source software. The largest, oldest, and most popular projects can gather support from hundreds of developers. With so many of today's software users being developers it's easy to understand how these projects can usually give the users exactly what they want. If a desired feature is not present, someone out there will surely want it enough to be motivated to write it. Closed, proprietary systems can never gather such momentum from the community. In fact, Microsoft®'s intentions are the exact opposite, to control software code, their secret sauce. The contradiction between Microsoft's development model and open source's will always benefit open source. Open development will normally gather at least as many programmers as needed, while Microsoft will continually try to catch up.