More white papers:
Find out more ...
Neuma White Paper:
CM: THE NEXT GENERATION - Will Open Source Dominate Development Management
Open Source is a great concept. Many resisted at first. Can you remember a time when it was valid to use the argument: nobody will commit to supporting it so you're taking your chances. Today, I see it differently - there's loads of support for open source products, even better than for commercial products in many cases. So does that make it the winner?
I don't really think so. It is a winner. We like to look at various open source tools and use them fairly heavily. But there are some aspects of open source development I'd like to consider from a Management perspective. They deal with innovation and excellence; architecture and entrepreneurship.
If I'm looking for software that's going to meet a standard, I can't go wrong with open source. Maybe today it falls short, but as the momentum for a particular product development picks up, it will exceed competitive solutions. In the early 90's it seemed to be a risk to go with the GNU C/C++ compilers. But it quickly became apparent that Gnu would set the standard for C/C++, for Make, etc. We hedged our bets and eventually went whole hog over to GNU.
Then we started looking at other things. What about Open Office? Great compatibility, but perhaps it could use some downsizing. Not to worry, right? It's open, we could do the downsizing ourselves if necessary. Well, no. Why? Well, I find it's almost as big an investment to adapt open source code as it is to write a separate application. And then there's trying to get the adaptations into the core of the development stream. But put the ideas out there - feature requests - and they'll get picked up and implemented.
So what's the problem. Well, software is getting big and hard to manage. With so many hands in the pie, even if there's common ground on what should be part of the product, the architecture begins to suffer. There's no room for simplicity. There's little room for the orthoganal architecture that optimizes the results. And then there's momentum. Try to change the direction. The problem is that open source development is primarily a feature-driven exercise.
Now I know a lot of commercial endeavors are the same. In fact, Microsoft didn't excel because of its technology. There were better operating systems around, and even today I find it incredible that I can't do so many things that 30 years ago I could do with Unix. Like redirecting my display for a given application. Like resizing my "shell" window. So, commercial's not always better.
But it could be. With open source you may have a visionary, and even a vision. But it's hard to attain. With a focused drive to attain a vision, a commercial development effort can yield terrific results. That's how VNC came about. That's even how Unix came about. And it's great that open source was there to pick these both up when they were in danger of losing a marketing battle. But where has the little Unix kernel gone. Because there are Open tools, widgets, gadgets, you-name-it, they have been absorbed, not because of their simple design architecture, but because of their function, and perhaps their functional architecture. As a result, my Gigabyte-memory computer takes longer to boot up than did my 1MB Atari ST of 20 years ago. I could do word processing, desktop publishing, spreadsheets, games, etc. The network wasn't there yet, so it may be a bit unfair to compare.
So my first complaint is that it's hard to take a vision forward within an open source development framework.
Now let's get to the CM side of things. Open source means CVS. OK there are a lot of add ons as well. But the open source architecture will prevent CVS et al from really going places. (But perhaps a next generation open source CM product will appear!) So what's the difference between CVS and CM+, Accurev, MKS, etc. CVS has established a framework that really won't be challanged by its development team. I know that CM+ made some dramatic advances when we were able to take dedicated teams for dedicated periods of time and augment the vision. Process workflow engine - dedicated effort. GUI generation engine - dedicated effort. Active workspace - dedicated effort. This is much harder to do in an open source community. You have to have a vision, battle it out with other visions, sell it to the gatekeepers, etc. all across a global network of "owners". It's jst easier to take little steps - a whole bunch of little steps. But put 100 new features on next year's model car, and you don't get a winner. You have to have the vision for where the car is going, work closely with others as to how to get there and then let the feature set fall out of this work. You can't just paste the features together to get a new model.
That's why open source, though great, will remain architecturally limited. That is, unless you have big players ready to put in big investments which are then turned over to the open source community. IBM and Linux. Sun seems to be going the same route with Solaris and it'll likely make a big splash at some point. But look at database technology. Stagnant. Who's going to make a breakthrough and open source it? It's not likely to happen soon because the investment will be great, very great. Why? Because SQL is entrenched in so many other technologies. But eventually we'll see it and the complexities of mapping from real-world to relational and back to real-world will disappear. But this is not going to be an open source effort and it will take some time.
And hence, development tools which are integrated on top of SQL will abound. They'll be stuck in the mud. Maybe administration will improve. Maybe performance will improve. But there will always be the need for the data experts to make the application work as long as there is a purely relational model. There will be some ALM tool integration, but it will be limited, especially for demanding applications. There will be customization, but there will be loads of scripting to manage, and the complexity will build.
Good management tools, good process tools, good data tools, all working together, or even integrated into one tool, require careful architectural design. Today, open source is open source. Will open design be next? I don't really think so. Design and architectural break throughs are more the domain of Entrepreneurs. I wouldn't be caught dead trying to develop a new fancy editor - there's not enough new there to preclude it from being done on the open source market. But it's precisely because CM is complex, and requires good architecture and design, not just a few fancy ideas, that there will always be a commercial CM tool demand.
Joe Farah is the President and CEO of Neuma Technology . Prior to co-founding Neuma in 1990 and directing the development of CM+, Joe was Director of Software Architecture and Technology at Mitel, and in the 1970s a Development Manager at Nortel (Bell-Northern Research) where he developed the Program Library System (PLS) still heavily in use by Nortel's largest projects. A software developer since the late 1960s, Joe holds a B.A.Sc. degree in Engineering Science from the University of Toronto. You can contact Joe by email at firstname.lastname@example.org