« The joy of server. | Main | Kill them all. »

On Licensing

Today a friend of mine IM'd me asking for advice on how to bridge a MySQL database with .NET. Aside from the fact that I normally charge a significant amount of money per hour to answer questions like that, I found it interesting that he was asking me for advice on a subject I was, at that very moment, executing on behalf of a client.

The client has a Microsoft SQL Server database that has some very important data, and a Linux-based MySQL server that runs a very important program. Hmmm.

My first two approaches involved writing scripts to be run on the Linux server to pull information from the Windows system and push it into MySQL. Approach one was a script that would connect to the SQL Server via ODBC, pull records, and push them into MySQL. Perl, Python, Ruby, whatever. There were numerous languages that could perform this function. The key ingredient, of course, is a Linux-based ODBC driver.

Sadly, ODBC drivers for Linux come in two classes: trial versions and the kind you have to pay for the privilege to use.

Well, I for one refuse to call up my client and tell them "Hey, great news on the project. We have a script that can speak ODBC to the SQL Server and everything's going to be just peachy for 14 days. After that, you're going to have to buy a license for an amount of money that is undisclosed on the company's website (never a good sign). Oh, and before I forget: upgrading the OS or making a change to your hardware contractually invalidates the license and requires you to purchase another one. Oh, and the drivers won't run unless the licensing service is running, too. Toodles."

Screw that. I don't mind -- too much, anyway -- paying for quality software. But to expect me to continue paying? For something I already bought? I refuse to let my vendors treat me like a criminal, or anything other than a customer who has purchased a product and now has full rights to use it in whatever manner he sees fit.

I also don't buy DRM'd music. Go figure.

Approach the Second was a slightly more convoluted idea: export the data from the SQL Server to a Windows share that is mountedon the Linux system via Samba. The script in use here was a simple line-by-line parser that only dealt with a comma-delimited text file and MySQL.

After about three minutes of explaining approaches the First and Second to my boss, he blinked, asked me a basic question about ODBC, and then asked me if it would be possible to hook an ODBC driver directly into the export wizard in Windows.

Blink.

MySQL is free, and so is the ODBC driver that they provide for it. No trial versions. No "Lite Editions". MySQL offers it as a simple download on their site: you don't even need to register or create an account. I downloaded the ODBC connector, installed it, and had the DTS export configured and working on two separate systems in under 30 minutes.

So, to recap: pulling from SQL Server to MySQL via ODBC? Expensive. Licenses. Scripting. Pushing from SQL Server to MySQL via ODBC? Faster. Easier. Safer. Free.

To the extent that I found a better solution because I wanted to avoid the draconian licensing problems of the first, most obvious solution, I'm glad I spent an afternoon working on an alternative. I do not feel that there is anything to be gained from the idea of "lending" someone your software for a limited time and contingent on them never upgrading or changing their system in any way.

TrackBack

TrackBack URL for this entry:
http://www.monkuniverse.com/cgi-bin/mt/mt-tb.cgi/16

About

This page contains a single entry from the blog posted on May 30, 2007 5:07 PM.

The previous post in this blog was The joy of server..

The next post in this blog is Kill them all..

Many more can be found on the main index page or by looking through the archives.

Powered by
Movable Type 3.35