A bit of a
fuss has been created about a recent
podcast made by Shai Agassi recently.
Having worked on several large product installs, I agree with what he has said. Open source doesn't work the way large product companies have done it in the past.
now.. before you go and cruicfy me, I'll explain a bit more.
The large product installs (3-4) I worked on were for several large utility companies. The company had no issue supplying the source code with the product, but it came with a large disclaimer.. if you mess with it, it is yours, which sounds awfully similar to what Shai was describing went on with SAP.
So what this meant for me, the package installer working for the utility company was that if i changed a screen, altered the business logic, or made a schema change .. It was my problem when it came to upgrade.
Now every business is different, and working in different companies/states, even the markets were different in what they needed. The base-code itself was very flexible and did 99.9% of the job. but it needed changes, and we did them.
now.. when it came to upgrade time it was a PITA to upgrade. not because the company was unwilling to give it's code, but because of the differences.
They might have implemented some of the changes/patches we pushed towards them, and patches that other implementors have pushed as well. Just sorting out which patches they merged, and which they didn't was fun in itself (fun == > 3 months of work and planning).
Add in new features, and other bug fixes from other implementation groups and you have a large problem.
So SAP's plan to actually make some of it closed source and supply a API interface made perfect business sense for BOTH sides.
It wasn't that having the source code was in issue, it was more the change manangement around having the source.
It was far too easy for people on short deadlines to go tweak it, not caring about the longer term repercussions when it came upgrade time.
In the case for LARGE systems, which are implemented in MULTIPLE countries, and which have to be SUPPORTED by a central team I don't think a full opensource solution is viable. A open layered API makes more sense in this case.
unless you like paying a pack of consultants a couple of hundred dollars an hour to test it for a couple of months that is, even they don't want these kind of projects.. they are dull and boring ;(