In 2002 I wanted to create a software product to sell in the Public Finance space, Agelis. Agelis requires a relational database with solid capabilities, but large systems like Oracle or DB2 were overkill.
As I explored the problem of developing a solution to bring to market and checked out the stack of software that would be used to build the system I realized something important. I realized that my customers were going to pay only so much for our solution - for any such solution - and that amount was going to be based upon its value to them. Nothing more.
We knew that our solution was a distinct offering and was the embodiment of some special understanding we had attained in this problem domain. I felt that whatever money we could get a client to part with for that solution should be ours and not get shipped off to Redmond or Redwood Shores for no good reason.
I started a search for a cheaper, yet technically capable database server to use as the default implementation of Agelis. In the process I reviewed a number of products that were cheaper than SQL Server, Oracle and DB2 and quite capable.
In October of 2002 I was home recovering from a bee sting (I'm allergic, so it was a big deal) and watching my TiVO. As I drifted in and out of my Benedryl-overdose induced naps I thought about that trusty little box that simply never - never - gave me a hard time. And it occurred to me that if that ran on Linux, how bad could open source software really be? I thought to myself that maybe I owed it to myself to check into this.
The tree outside my picture window was alive with color and I drifted off to sleep.
But I didn't forget.
Before going any further I must remind you that at the time I knew absolutely nothing about open source software. Like many developers enveloped in the smothering embrace of the Microsoft ecosystem my view of open source software was as dismissive as it was uninformed. While I had heard of Linux, my impression was that it was a hobbyist's toy and nearly impossible to wrestle into submission. In the back of my mind I knew there had been shareware once upon a time and I knew there were some wild-eyed radicals running around in Cambridge, MA saying that all software should be free and I knew that I knew nothing more than that.
I had no idea what I would find and I'm still astonished at how my decision to look a little further for a database that was a little cheaper would so utterly change my understanding of what software was, what it could be and how it would change just about everything for me and my little company.
The first thing I came across was SAPdb - a bit off-beat, but that's what happens when you open yourself to new experiences. I downloaded SAPdb and really liked its performance and stability. Being able to use the little "Powered by SAP" logo would have been cool too. However, SAPdb was a strange database that presented a pretty steep learning curve.
As I looked further, I came across the usual suspects, MySQL and PostgreSQL. I'm actually embarrassed to admit that I knew nothing about these projects at the time. I'll cut to the chase and simply explain that we decided that PostgreSQL suited our needs best and I started to test it out.
During this time my Dell laptop decided it had better things to do than work for me and I was tired of trying to recover Windows yet again. So I slicked it and installed Red Hat Linux (and then Suse for the sake of comparison) and started running SAPdb and PostgreSQL. This was a huge step for me.
It had to have been at least 15 years since I stared down a command line and I had really no experience with Unix. While I certainly struggled with it - after all, I had a business to run, it's not as though I had all day to tinker with this stuff - I was able to get a pretty good handle on things. I was able to install software, connect to the internet, connect my network, do some x-forwarding, remote administration, run OpenOffice. In a couple of months I slicked my desktop computer and installed FreeBSD to see what that was like. This was a lot of software installing for someone like me. Things like this did not usually go well for me. I had wrecked so many Windows boxes in my life to conclude that either I hated computers or they hated me.
I preferred FreeBSD. I thought it was cleaner and very well thought out. I also liked that it was complete, but that's just me. I recognize that there are some very good Linux distributions out there and I have noticed that Suse runs like a gazelle and Ubuntu is a beautiful thing that tugs at my heart strings, but this is really about choice, right?
This whole expedition into open source started because I wanted to create a stack for our software product that didn't entail sending undeserved rents to others. But in the end I found so much more than that. I found that we had the ability to service the entire stack, from the base operating system code to the finest detail of the user interface. With open source software as the default implementation of our solution, we could look a client in the eye and know that we could give him unconditional support while knowing that the foundation of the system was rock solid. It really doesn't get better than that.
But could we really? Could we really create an entire product from open source software? My next post will show you that we did exactly that by converting an existing, faltering and failed product from its Windows.NET/SQLServer/IIS implementation to an all open source success.
Monday, December 18, 2006
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment