Pricing free - doing business in open source
Written by Jase Clamp Sunday, 04 July 2010 16:35
This is a topic I've given considerable thought to. I am writing this post to put my thoughts out there and gather any feedback there may be out there on this topic.
We work with open source software. What does that mean? When we build a website for someone, 99% of the time we're leveraging open source software to help them continue to run that site after we do the initial build.
So what does that really mean? Take the HTML Editor that is built into our content management system. I love love love it. It's so powerful. I'm using it right now. It lets me quickly type out an article on my own website whenever I want to. I can do all the formatting I need to without loading one special program. I just do everything in the browser. At the core it's called TinyMCE. A company called Moxiecode wrote the original. Then someone else came along and added wrappers and various other functions and we add more modules and features as well. Did we write it ourselves completely from scratch? No. Moxiecode did a wonderful job with it. It was obviously their calling to do something like an "in browser JavaScript HTML Editor." They released that project open and free of charge. By doing so, hundreds of thousands of other web developers have come to their site and have taken that editor, integrated it into their project and benefited hugely from it. Moxiecode benefits by now being known by many web developers in the world. Even though they released possibly 1000s of hours of coding for free, there is no doubt in my mind that in their giving, they have had much more than they can handle heaped back on to them. I am sure there have been many demanding their programming efforts and who have also bought their commercial plugins which are paid.
So what's all this about one of the companies that have contributed to open source, and their small part in what we do as a company?
Well again, the editor within our CMS is originally free but what are we charging for?
I'll give you an example before I get into that... Take a photo gallery for example. There are 100s of free photo galleries out there. Open source. At WinWorld, we have tried many of them. We've spent hours and hours researching them on many facets. The layman would not know this but some photo galleries are really insecure and using them could lead to getting your website infiltrated in an embarrassing way. That sort of research lets us learn about these things and steer clear of those projects. There are also features. Some galleries lack features that make them difficult to maintain. Some lack integration that really ought to be there, for example pulling photos from sites where people may already have photos hosted, like Flickr. We've been doing web development for over a decade. And we've helped 100s of individuals, companies and organizations, great and small, negotiate and launch various web endeavors. We have programmed large web projects from scratch, we've developed, designed, written code. We've been on the web this whole time, using it. We know it. So with all of this knowledge, we literally think we know a good photo gallery when we see one. We weigh up user friendliness, lightweightness, robustness of features, then we pick what we think is the best gallery. The one that is going to give our target market of clients the best value.
THEN we learn that system in and out, document it, support it, develop training for it, understand how to install, setup and customize it, how to style it. We have separate servers we'll do installation and customization on and then move our "enhancements" to the customer's live server.
The original software is free but if you've checked around our site, you'll see that we do charge for our work. We don't hide this, the fact that we use open source is on our front page and all over our site. It just makes sense to do this. I think that some companies pride them selves on having written their own CMS or some other thing. If that company is offering a hosted solution, like "Basecamp" then my hat goes off to them. But if that company has "yet another X (CMS, photo gallery, whatever)" and there are 100s of other options like it, and that company has a 2-3 person programming team. Why are they doing that, why are they trying to be a jack of all trades? I wonder if it is so they can simply say they've built everything themselves and charge for it. It just seems rather audacious and myopic to me for someone to think that out of 100s if not 1000s of other open source projects, theirs is going to be the best, especially when they are trying to offer 5-10 of those types of things. I know that there are a few people out there and it is just so apparent that their calling in life (or part of it) is to make this awesome, user friendly and functional photo gallery. They are going to release it and I'm going to find and recognize that value and recycle it and use it for my client's benefit.
What we charge for is being navigators, advisers, negotiators of this thing called the web. We're sailing these seas all the time and we sell that knowledge. I remember times in the past when I've first downloaded this open source package or that. Take SugarCRM for example, an open source customer relationship management system. We've been familiar with the project for years. When I first obtained it and wanted to start working with it, start leveraging it, I remember there were hours and hours just digging through the code, reading forums, etc trying to understand how we could make it do this or that. We've integrated it with email, with phones. So my point is, for any company, having various goals for their web endeavors - using open source makes sense for cost savings, but it's in no way free. It takes time to smooth out the rough patches, to wrangle it in the direction you want it to go. Some projects are more malleable than others.
Anyway, I got a comment the other day from someone who was disgruntled about the fact that we were charging for something that is originally open source. That is obviously not what we're charging for. We're charging for time. We're charging for the 100s of hours of research and development we've done and for the time we know it's going to take to collaborate with our clients to get them up to speed using the new open source tool. At WinWorld, we time a lot of what we do. We know how long we spend documenting, planning, doing sales, answering questions, fielding support, tracking bugs and issues, doing training, installing, customizing, etc. For small and simple open source tools, we know our time investment with a client is going to be small. We price a component in the median of time required for just that component over projects we've done in the past. Some times it will take longer for us to work with a client regarding that component, sometimes it wont take as long, but our averages on time spent drive our pricing.
We charge so that we can provide a good service. If we did not charge, we would not be here to provide that. Are we going to say to people up front, "you know the original code is free but... we'll just charge you for our time customize and get you going, and, on average it takes X number of hours but, for you, it's going to vary so your cost is going to be +/- $X." That is way more complicated than people want to hear. 99% of people want to know the cost up front and then have that locked in for the duration of the project. That is what we do. I'll be honest and say sometimes we eat a bit of time on a project, but overall, our averages work for our pricing and allow us to continue to provide a level of service I'm proud of.
Here is a statement that I think would be too much for some to believe. You take that photogallery that we "sell" for around $300. If we were expected to code that from scratch, the MINIMUM price tag would be $30,000. That is absolute minimum if we were doing a half-off discount on our programming time. Having lead many programming projects, I know that is true, but I think people out there think you can just throw this stuff together. You can't, it takes 100s of hours of programming, building from the ground up, testing, adding features, etc. If you think of it that way, our price does not seem that bad, especially when we're taking the front line of understanding and being responsible for that open source product.
I think one company that is similar to us is Fonality. They offer phone systems and services. They run their core product on a completely open source solution called Asterisk. Asterisk is a package or version of linux you can download and run on a computer. It provides an amazing amount of functionality. You can undoubtedly get all the features of a $10,000 phone system, for free by using Asterisk. But it is HARD to setup and use. First you have to download and get it running, then you have to learn all of the configuration files and build your configuration from scratch. You have to be seriously smart to get this all working. Fonality has worked all of that out. They sell pre-configured systems and also allow people to just buy phones and tap into already available systems. They've also built web-based control panels that let you easily adjust the complex configurations in a user friendly way. Do they hide what they are doing? No, but they don't confuse people either. They are selling something that is easy and dependable. They are taking care of all the issues. Business owners want that peace of mind. They are going to focus on their business and let professionals take care of other issues, like a phone system.
So thanks for hearing my thoughts on doing business in open source. I'm open to some feedback :)





