Transparency is just as important
One of the advantages, touted by the Open Source community is that you can read the source code and make changes to it if you need to. Now to be honest, how many of us even bother to look at the source code? Come on, fess up. Yes, that is about what I thought. To the five percent of you that do read the code (or tweak it), bravo, but, while most of us do not live in C (or C++ or insert your favorite language here), we do have to configure, tweak, twist, bend and occasional bully the code into working correctly and in a useful manner, whether that is playing nice with our libraries or other application. So, the Open can also mean transparent. And this is a good thing.
Now, I have just spent the last few days learning about Microsoft Sharepoint (MOSS). Yes, for those who were concerned, I will recover after I have a shower and a good stiff drink. In the interest of fairness, I am not a coder and I am not a web master. I do plumbing and fittings. I can build the boxes, load the code and track down the leaks, but I start to glaze over when I look at code. With that being said, I do maintain a couple of small personal (read non-fancy) web sites and having just finished reading about MOSS I only have one question - Why do the people in Redmond have to make it so complicated and non-transparent?
I keep my sites unified with a combination of Cascading Style Sheets and the perl Template Toolkit (sorry, python did not exist when I had to learn a text manipulation language and so perl was it, but Smarty does for python what TT does for perl). But in MOSS, once you peel away the layers, it is Visual Basic. And not easy VB either, at least from where I was reading. Further, MOSS touts the ability to use a SQL database to store its pages. Well, I guess I have been doing that for years because I keep my pages in version control (first cvs, now svn), and emulate MOSS’s ability to copy "the master page" and make other pages look just like it with TT and CSS.
One of its "major" selling points is that MOSS is "integrated" or can be easily with the other MS products, but come on, I shouldn't need a Ph. D to explain it. And another one to make it work. You would think with all of the frameworks that the open source community has demonstrated, all the "easy" ways to do things, the guys in Redmond would pick up a few hints.
And did I mention the transparency angle? OK, here is a simple transparency issue. How do you back the sucker up? If this was a LAMP system, you grab the directories and do a MySQL dump (or your favorite DB command) and tar up the whole mess (or whatever). If something breaks or you have to revert, you simply go to the backups and bang, (assuming you have good backups - you do check those right?) you are back in business. Not so with this beast of a product from Redmond. In numerous places, it tells you that if you want it backed up, you have to essentially keep the code elsewhere safe because the built-in backup utilities will not capture certain customizations. For what I am paying for the code, the software should not only back it up but give me a step-by-step walk through wizard with dancing girls, not warn me that "some features will not be backed up."
While we are discussing cost, and I am probably the last person to really put a large emphasis on cost, especially since it is normally only 10% or less of the total project cost, but it is the part that is easily enumerated. Our friends in Redmond have a licensing structure that would require the savvy of Daniel Webster to figure out and need the pocketbook of a Rockefeller to cover. Is Beelzebub working for the licensing group over at Microsoft? It almost makes me wonder how many shops are not correctly licensed.
In a LAMP environment, it is pretty straight forward. You need the bolt, you screw it in. A couple of faceplates? Check. Deck hull? Welded. Open source has often been described as a car you build yourself, when compared to Microsoft (which I would describe as more of the modern airline - that's five dollars for the seat, ten for the blanket and six for the pillow). But I would much rather have the transparency of knowing where my leaks are and being able to stem the flow before the system failed than having to guess where the next blowout will come from.