thinair Boulder, Colorado. elevation 5400 feet.

OSS & Future of Software Development

that title is a little too grandiose. ah well...

James points to this interesting conversation between Craig and Santiago about open source project management, software integration, and balancing commercial interests with open source.

Internet communications and Open Source is changing all the software engineering processes, like the press changed th intellectual production processes a while ago. Pure in-house or contracted developments are disapearing from the market, and integration on top of Open Source is leading/will lead the way in the future.

<snip>

Once you get used to the fact that you "can" understand the inner working of your base tools and modify and debug them (more or less) freely, you will never want to use a non-free equivalent again. And I'm speaking as a system integrator here.

I think software development is evolving into something like the traditional professions. Any two architects practice the same design. Not that they design the same things, but they are engaged in the same practice. Both are constrained by their building materials, budget, zoning, and context. Similarly doctors practice the same medicine, lawyers the same law, bankers the same finance. The professions are fundamentally about providing services. When you pay a lawer to review a contract, you are paying for their expertise and knowledge of contract law. You're not paying for the law itself. Similarly, you don't pay your doctors for the medical research that forms the basis of their evaluations of your medical condition.

The profession of software development will become dominated by integration of open source components with limited development to satisfy unique requirements of specialized applications. The common general requirements will be met by open source components. Some developers will specialize into specific areas of development, where others will be "general practitioners". Developers will make their money lending to their customers their expertise and mastery of available open source components and services to solve technical problems for the customer. It's only a question of time. But I'll know I was right when you have to pass a certification exam before you can call yourself a software developer. :-)

W Molenaar commented

27 October 2003 at 08:57

Hey, I would like too comment on your not very much thought through artikel with the titel:OSS & Future of Software Development.

Ok, these traditional professionals like doctors, etc. you mentioned had to take big loans to help you out with your problems. The study, the many books they had to study must have been payed for.

And you did pay for the medical research by the means of taxes, just for your information. You even pay money for all those atom-bombs in the world. So, in fact you're paying for that technique.

All the money and time invested has to be paid, one way or an other. They all have to update for new knowledge, and the people who invented it and use it paid for that knowledge in time(and thus money) and money.
It is that the intellectual property like books and magazines are meant to be read. So, yes that is open-source, when you compare it with software. But if that was not the case, these properties would not be there to read for everyone.
Software is also much more different. An invention made by a company made open-source can be copied by an compatitor. And then you get price-wars. And then you can not pay for the people who invent those tools. And then those tools wouldn't be invented that fast anymore. Then the economy drops, and the next thing that happens is that you can not afford your car anymore.
It's not a technique, but a tool if you know what I mean. The things microsoft/oracle/etc. invents are tools and not techniques. They use the base-computing techniques everybody can learn if you have the brains.

Ok, think about IT.

PS: The builder of LINUX was not a smart boy. He could have made some serious money. But that's not important offcource. He has a lot of friends now, who make money becouse of him. Now, who is smarter.

HAVE FUN :)

eric commented

27 October 2003 at 09:41

The comment from W Molenaar was originally posted on July 22nd, 2003 to a different post. At the time comments were not enabled on this post. I've reposted it here and deleted it from the other location.

And now my long overdue reply. I'm specifically interested in the question of how programmers get paid in a world full of open-source. Ultimately, we geeks have to eat and need a roof, hardware, software, electricity, and internet access in order to do what we do.

I meant something rather specific when I said "you're not paying for the law itself." To be sure taxpayers ultimately pay the salaries of the legislature who write the laws. And taxes pay for judges and courtrooms and clerks and so on. Taxes pay for the police who enforce the laws too. I completely agree that money changes hands somewhere to pay for law. But the money which changes hands between a client and a lawyer is about that lawyer's knowledge and expertise and that client's specific legal needs. The lawyer provides a service to the customer.

It isn't a perfect metaphor, but no metaphor is. Architecture and Law and Medicine differ in profound ways. But they are also similar. The ways in which they are similar is where I think programming is going.

People are going to be able to download free software, just as you can go find common legal documents on the 'Net. But without a certain amount of technical expertise it will become increasingly hard to determine which free software best fits the problem. Not unlike the challenge of understanding which laws apply to a particular situation, or which medical research best fits a given medical condition.

Geeks can provide their clients the service of fitting the best open source tools to the client's particular problem. In the more complex cases we can integrate many open source components into a coherent solution. There's room for programming to join the traditional professions in providing services that require specialized knowledge.