Monday, December 18, 2006

First Steps

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.

Sunday, December 17, 2006

Leaving Microsoft Behind

In life most relationships don't suddenly end. In reality they degrade over time moving from love and respect to indifference and then to contempt. Eventually there comes a point where the only thing left to do is to say good-bye. I came to that point with Microsoft in 2002.

Personally, I've made a complete break with all their products. However, my software company, The Oasis Group, Ltd. still uses and develops software for Windows. This situation is like having my ex's stuff still in my house - awkward and uncomfortable reminders of an unclean break. Windows still exists at Oasis only because we have one last project to finish before we can be free of it. Despite that, we haven't purchased a license for Windows or any Microsoft product in years and we have mostly moved to open source software instead.

This was not a casual thing. I was not an anonymous software developer banging out code for a living. I had a thriving boutique company that was doing interesting work around the world for the bluest of blue chip firms. We were in deep as a Certified Solution Provider, Certified Solution Developers, authors of magazine articles and several books on developing software with Visual Basic, SQL Server, Oracle and Access and I spoke at numerous conferences, some sponsored by Microsoft. All of my business associates, co-authors and fellow conference speakers were also Microsoft adherents. Until I made the break, alternatives were not discussed or even contemplated.

The fact that I made the break says less about any brilliance on my part than it does about the smothering effect Microsoft has on customers and on the developers they have brought into their ecosystem. I rarely found Microsoft developers who were not also apologists. I know because I was one of them. "Hello, my name's James and I'm a Microsoftaholic."

I guess I got here in some ways like a lot of people. After years of putting up with crappy software I was confronted with two realities by Redmond: endure having to get my software developers to learn what was at the time an untried and rather amorphous new development environment called .NET and start paying what I thought were exceedingly high new licensing costs for software that was proving to be increasingly unstable, obstinate, insecure and late.

But I had a choice. I could have chosen to go along in order to get along or I could make a break for it. I chose to make a daring daylight escape. I chose to run and I'm glad I did.

In other posts I'll explain in greater detail how this all happened, what I was seeking, what I've found and how my little company is going to continue to explore - and thrive - with the freedom it has claimed for itself. It's been an interesting trip so far and I think the scenery is just going to get better and better.