| Subcribe via RSS

Innovate or Die

October 26th, 2008 | No Comments | Posted in evangalism

I had a Eureka! moment about why companies choose open source. They choose it because they must innovate or die. There will always be people who choose open source because it is bleeding edge and I am not talking about those people. I am talking about companies that choose open source because of a compelling business reason.

Innovation comes because of two problems: costs and features.

Most people will quickly site costs as a reason to choose open source. This belittles many of the other reasons to choose open source, but cost is a valid point. Many companies cannot pay for existing software. Just look at some of the “enterprise” type of programs and the costs are astronomical. So what is the company suppose to do, just roll over dead because it can’t buy software. NO! The company can choose open source because the initial licensing fees are now gone. Sure the company will have to support the software themselves with more sweat equity, but small companies are full of sweat equity and little cash. So these companies innovated by taking on their software responsibilities themselves.

The second way to innovate is through new features. Tons of companies differentiate themselves by the features on their websites. Do you think that these fancy features came right out of the box? NO! Many of these companies started with an existing open source project and then added new features to it. Instead of buying a proprietary system that they could not extend, these types of companies chose open source where they have full access to all the code allowing them to add features out the wazoo.

I think it is easy for small companies to fit into the innovate or die category. So selling open source to these types of companies is rather easy. Open source in larger companies is harder. With the budget to buy enterprise class software and a track record of out sourcing major projects, convincing a company to bring development in-house and use open source is a tough sell. I think if the desire to innovate is in the company, it would be easy to make the switch. If that innovation desire does not exist, put your flack jacket on because you have a long hard fight ahead of you.

But there is good news. Board rooms of larger companies are starting to feel the breeze of the open source change. They see how open source has benefited other companies and are starting to ask, “can we use open source?” And that my friend, seems like the beginning of a desire to innovate.

dotCMS First Look

October 22nd, 2008 | 4 Comments | Posted in java

I’ve recently been looking around for a good java cms. I know that is seems like php has all the fun with Drupal and Wordpress and java is really lagging. I think that is really true to a point. Java websites are not intended for the hobbiest. That is why php based systems have caught on. But java is a great player for larger corporate environments. The established java cms systems are proprietary and costly. There have been a few stabs at creating an open source cms system. Alfresco and Liferay are large and cumbersome and I think try to do to much. OpenCMS is pretty solid, but I wish it would use more common open source projects. Just yesterday I can across dotCMS and so far I am pretty impressed. Here are my first impressions.

What I like about dotCMS

I like that it uses popular open source projects like hibernate, velocity and quartz. These are projects I understand, so I like that I get to reuse that knowledge. The user interface is crisp and looks professional. dotCMS uses the term “Structure” to define bits of content, like blog postings or news items. In these structures, you can dynamically define fields through the admin screen, without having to change the database or a configuration file. That is nice. There is a built-in workflow engine that is good for approving copy. I think the way that workflow is assigned and used could be improved, but they have a good start.

But my favorite part of dotCMS is the integration of lucene. I really love lucene. Most people may think of lucene as just a search engine, but that is just scratching the surface. True, it has an index and you can search, but you can extend that thinking to have lucene act as a meta database. You can tag your content with lots of different meta fields, then use lucene to return results based on complex queries. This is extremely useful once you understand how to use that. And dotCMS uses this mentality throughout their site. They have a velocity macro setup to pull content into a webpage based on a lucene query.

What I don’t like about dotCMS

I never had a great impression of Liferay and dotCMS initially got it’s start as a port of Liferay 3.x. I know that that is an old version of Liferay, but sharing the same heritage carries with it those past feelings. I am worried that basing a website on a portlet type of system may have performance issues. I wish that it would be easier to make clean, seo friendly urls. They currently let you define url redirects, but I don’t want a redirect. I want the final url to be clean. I wish there were some type of module/plugin system. Creating new velocity macros is nice, but what if I want to add a message board or link directory. I haven’t spend enough time to see how that would be integrated.

Questions still lingering

I have really only spent a few hours working with dotCMS, so I’m sure there is plenty of things I haven’t learned yet. But here a few questions I still have.

  1. How does clustering work? Can you have one master server then publish to multiple slave servers?
  2. What is the performance like on a high traffic site?
  3. Can I assign templates to match url patterns, like sitemesh?
  4. How do you adminster multiple sites through the admin screens
Tags: ,

Open Source Enthusiasts are DIY’ers

October 22nd, 2008 | No Comments | Posted in evangalism

I think that a majority of people who use open source do it because they like to DO and solve problems. They are the type of people who would rather drive around a city aimlessly instead of stopping to ask for directions. Solving the problem, at whatever cost, is a major driving force for many open source users.

Since the problem solving desire is a personality trait, it is hard to make a business case to choose open source based on your own desire to solve the problem. Managers want numbers. They want to know that by choosing open source, they will save $X or productivity will increase Y%. Maybe instead, there should be a measurement that with the right developers, choosing open source will increase morale Z%. I know that I am more happy when I work with tools I enjoy.

Increased morale is one of those touchy-feely areas. Just because you have happy employees doesn’t mean you will have a better product. But it might make the whole process more enjoyable if you don’t have cranky developers.

I think choosing open source is most effective when the whole company wants to solve the problem. If parts of the company are ready to pay a vendor mucho dinero to make the problem go away, then there will probably be friction if you choose open source. Take a look at other parts of the business like accounting or marketing. Does the company outsource a lot of work? Would the company rather pay a consultant to do a project instead of investing in more internal resources to get the project done? If you are working with an “outsourcing” minded company, then open source will probably be a hard sell unless you can prove that is saves a ton of money . But when it comes to choosing between two equally priced options, outsourcing or diy’ing, the company will probably choose the option that is more inline with the existing corporate mindset.

An Unintended Open Source Advocate

October 21st, 2008 | No Comments | Posted in evangalism

I never consider myself one to take up the torch for a particular cause. You won’t see me demonstrating infront of a government building or writing letters to my Senator. But lately I have noticed that I am championing the idea of open source to clients.

Over the years, I have used plenty of open source projects while developing websites. At first it was probably because I didn’t want to pay for MS Visual Studio. Then I didn’t want to pay for proprietery components. But I think what it really turned into was an issue of freedom.

With open source, I feel like I am in control of my project. If I want a feature that isn’t standard with a particular product, open source allows me to create that feature. I can pick and choose on the component and framework level. This lets me create the system that I WANT to use, not a system that is full of hacks to make things work the way I want.

There are tons of great projects with solid documentation and online support options. Just think of Apache, Tomcat and MySQL. These are all major players in the internet world and they are all open source. If you get stuck, just search around the internet to find your answer or you can even find places that offer paid support.

So am I an advocate? I guess so. The freedom of choice and extensibility is what I really love about open source.