So, I see that Delphi is for sale. I'm actually not all that surprised since there are free alternative IDEs popping up everywhere, the most notable of which is Eclipse. The IDE and tools market seems to be losing margins rapidly as free components and tool sets compete with traditional corporate offerings.
Is this a good thing or a bad thing? I often note that the Open Source community seems to play catch up to the for profit offerings. Open Office for example has been chasing Microsoft Office for years and each time it starts to catch up Microsoft has to add new features and functionality to remain dominent. In a way, this is a good thing because it keeps Microsoft from being lazy but in a way I can also see this being a bad thing if eventually the free offering gets "good enough" that Microsoft would decide to leave the market. Why do I feel this way? Simply put it is the innovation factor. I have in general seen very little (note "very little" not "none" before a flame war sparks) in the way of innovation from the free open source community. This is not to say that there are not quality products out there, but is more a statement of the drive to "catch up" and play "me too" against commercial vendors. What will drive innovation if commercial vendors pull out of the market?
Another concern I have is that there is so much fragmentation in the free open source world. Certainly one can argue that the great thing is that you can customize your packages however you like, but what tends to get glossed over is once you have customized things how do you smoothly upgrade to the next version? Is there enough interoperability being focused on between packages? The community as is has made great strides improving this, but I still think they have a ways to go when it comes to seamless interop that you get from the Windows / Office / etc suites where you can drag and drop from anywhere to anywhere. The additional problem with having such a diverse community is that in the standards argument there will always be groups that simply will not accept Direction A and will fork to Direction B which leads to more fragmentation and pain for users that pick Direction A which is eventually declared a failure and abandoned for Direction B.