If you have been playing close attention, you might have noticed that www.contenthere.net is now running on WordPress. Prior to the migration, the site was hosted on a combination of Blogger, Yahoo Store, and some hand coded HTML (managed in Subversion of course). That arrangement was fine but I ran into limitations with the integration between Yahoo Store and the rest of the architecture. There were no big show stoppers, just little inconveniences that I was getting tired of working around. Besides, I was itching to tinker – we techies get like that sometimes.
Selecting a new platform was fun because I got to be the client in a process in which I am normally the consultant. I was quite different from a typical Content Here client. First of all, I had no budget. Second, the president of the company (i.e. me) wanted the technology to be fun to program in. Third, I didn’t want to choose a platform that I would recommend to my typical clients because I do not want to appear biased. Incidentally, the last point is a main reason why I have held off implementation of a content management solution for so long.
My first choice was the Django web application framework. I had done some prototyping on the platform and was really impressed with the cleanness of the architecture and how quickly you could build applications. It is a little like Ruby on Rails but in Python. Furthermore, Django has a popular e-commerce application called Satchmo. I installed Satchmo and was able to understand the code and make some quick customizations on it. What really killed Django for me was the lack of a good blogging platform. There are a number of simple django blogging applications out there but nothing seemed to fit the bill. The closest was Banjo but it didn’t seem to be that well supported. There is actually a long standing discussion in the Django community about the framework’s lack of mature blogging applications.
The next two finalists were Drupal and WordPress. I have built sites on Drupal and like the framework a lot. However, the commerce module always seems to be far behind the current release of the core. I also think that Drupal is a little bit more than I need for my simple site (a blog with a shopping cart).
My decision to go with WordPress started as a simple prototype. I was amazed at how quickly I could create a theme to match my old design. The commerce module WP e-Commerce looked pretty solid and I was able to quickly get it working with PayPal as my payment gateway. I also found some useful plugins to provide me the features I was missing in Blogger (like related posts, etc.). The thing that sealed the deal for me was the ease with which WordPress imported all my blogger posts and comments. I was even able to make the permalinks match the same structure as Blogger’s for easier URL re-mapping (just a simple rewrite rule). Wordpress surely has its warts (there are plenty of places where the code gets pretty sketchy) but for a simple, reliable blogging platform with e-commerce capabilities, I am quite pleased.
Evaluating open source and closed source software
Tuesday, December 30th, 2008Gartner has been saying how the current recession favors open source software. Many people in the open source software business are experiencing the same thing. They are finding themselves included in software selections against commercial players that were once considered out of their class (certainly out of their market). I think this is a great new development. There are some very good open source platforms that have been ignored for the simple reason of being open source and not having the same recognition as their closed source competitors.
That said, using licensing cost as a primary decision factor is a bad idea. Licensing is still a relatively small portion of the overall cost of a software solution. When a company looking to save money on licensing also tries to cut costs in other aspects of the solution (implementation, migration, deployment, and training) project risk balloons. In fact, most of the open source horror stories I have heard can be attributed to this same flawed logic. An open source software implementation project will probably cost the same to execute (not less, not more) than an equally suitable commercial product. I predict that 2009 will see many failures from unrealistic technology investments as companies try to unscrupulously cut costs and suspend their disbelief of a free lunch. But there will be an equal number of successes as companies consider leaner (easier to use) technologies and more agile (and pragmatic approaches) to implement them. This is where a trusted and experienced implementation partner can be invaluable by setting realistic budgetary expectations and efficiently expending resources. If you go with an open source solution, be sure not to skimp on the resources that will make the execution of the project a success.
The primary challenge in evaluating open and closed source software at the same time is that they tend to be represented unevenly. Even commercial open source products (which behave very similarly to traditional commercial software companies) usually cannot afford to field a sales team like a commercially licensed product company can. Without the upside of an all-profit license sale, the risk simply isn’t worth it. Even traditional commercial software companies balk at spending money on sales when the potential license deal is too small. Somebody else needs to represent the solution to level the playing field.
The open source product advocate could be your own internal I.T. or it could be a systems integrator that presents a complete solution. Both options come with complications. If it is your internal I.T. organization, things can get emotional and political. They will get attached to their solution. In fact if they don’t feel a personal connection to what they are selling (like a commission-dependent external salesperson is), they won’t be a good advocate. If their solution is not selected, there are bound to be hurt feelings and the last thing you want is someone on the team hoping for an “I told you so” moment when their victorious competitor runs into problems. Another potential issue is that I.T. may not have the resources to support their solution if it is selected. Presumably they have other responsibilities that won’t go away if they “get this deal.” Of course, this is less of a risk with commercial open source software that comes with a support contract that is similar to the other commercial solutions you are considering.
The primary problem with using an external systems integrator is knowing which one to use. Because every open source project is offered by many consultancies, the systems integrator market is even more chaotic and confusing than the software market; and there are fewer resources available to help you figure it out. Furthermore these companies are in constant flux as their staffs turn-over. The secondary issue is that there are big stylistic differences between a consulting sale and a product sale. A consultant sells by consulting. He wants to learn about the problem and work with you to solve it. He is less comfortable just quoting specifications and prices of a pre-defined like a software salesman may. His quote will be appear high because he is unable to ignore or trivialize the implementation effort like commercial software salespeople tend to do. And, because consulting carries a lower margin than software licensing, he is probably less willing to invest as much in a customized demo. The last thing he wants to do is build a big part of the system for you and then have you turn around and have someone else finish it.
Still, I do think that using external systems integrators is the way to go. In fact, I spend a lot of time talking to consultancies to keep track of who is good at what so I can refer my clients to the right integration partner. The best way to normalize the software vs. consulting stylistic differences when you are considering an open solution is to have all the solutions presented by integration partners. This will give you a more realistic comparison of the true cost and scope of the solution. A consultant is less likely to exaggerate “out of the box” capabilities than the software vendor because he will be around when the box is opened. This will also level the playing field on the investment that each candidate is able to make. If you take this approach, you will come out of your selection with a trusted partner that knows your business and is personally invested in your success. With that, how can you go wrong?
Posted in commentary, open source, selection | 2 Comments »