IBM Collaborating With Open Source Java Project
lord_rob the only on writes "According to news.com, IBM has begun participating in the open-source Java project Harmony and intends to contribute code to the initiative, according to a Big Blue executive. At this point, IBM's participation is limited to thoughts on design, but the company has plans to contribute code to the project in the future." From the article: "We really like to see the community get started, and they're still working out the rough edges of what they want to deliver. And we didn't want to disrupt that,"
Looks like ~not~ open sourcing Java is fragmenting the Java language after all!
Agile Artisans
I'm a programmer. I've been burned by bugs in my tools before. Sure MOST bugs are my fault, but once in a while I'm pretty sure it is the tool's fault. With open source I can fix those bugs and move one. With closed source I'm at the mercy of vendors who rarely care about my project.
Then too, a lot of documentation is bad. Either it doesn't exist, or the program doesn't work like the docs say. The source code is definitive about what is really going to happen, and I can read it. IF you are not a programmer it doesn't matter because you can't read the source, but I can, so it matters.
Simple - what happens if the platform goes away? What happens if microsoft moves away from .NET, and you want to move to a new platform (PowerPC for example). Hell, what happens if 20 years from now you find you need an old tool you made in C#? Will it still work? Will there be a compatible .NET run-time for 256-bit computers?
Part of the commercial reason to use opensource is to future-proof yourself against long-term eventualities like this. If Java decides to stop letting you bundle the JVM with your OS, then you can't provide OpenOffice anymore without paying them. If MS stops supporting a platform, then you're screwed if there's an unworkable bug and you're stuck on the platform.
Fundamentally, when you invest labour on designing products and infrastructure based on a closed-license platform, you gain fealty to them. They now control you - they can make you lose the use of the product of your labour. They can stop providing their product, they can refuse to fix un-workaround-able bugs, or they can just go out of business and leave you high and dry.
With opensource, you can lose your support provider, but you can never lose the platform - at worst, you may have to maintain it yourself.
Yes, you may even have a solid, bullet-proof contract with your provider - but what happens when they go out of business?