Editorials

Free Software that isn’t Free

What is a reasonable expectation when using software for which you have paid nothing? Do you have a right to any expectation? I believe the answer is yes; to the degree that they have made promises as to the features and capabilities of that software.

For example, software that comes downloaded with other software which is installed on your system without your knowledge, and that does not enable some feature of the desired software is the same as a virus in my book.

I personally dislike software with a bunch of other packages installed that you have to manually NOT install. It is too easy to miss that it is installing a different package than the one you meant to download. However, I can live with the fact that I was provided with an option to not install that package.

What really causes me pain is when I load software, and maybe even use it for a while, and only then does the free software tell me that the feature for which I downloaded the software is only available in a registered version of the software. In other words, it doesn’t really do anything except get you to the point where you need to do something significant, and then it stops.

A good example would be a virus removal utility that spends an hour scanning your system, identifies files or registry keys that need to be removed, and then tells you it will do it only if you purchase the product.

There are probably different classes of free software that should be treated differently. I find open source software such as NUnit or Log4Net to be extremely valuable, reliable, and holding up to their promises.

Even tools like the open source system SugarCRM have a much more upright standing, even though it ships both an open system and commercial version of the product. It clearly delineates the difference between the packages; the features that are available in each different package.

Do you have a policy or principles you use for free or open software? Share your thoughts here online or share them in email at btaylor@sswug.org.

Reader Feedback – Synonyms

Today Eric shares a practical use he has found for Synonyms:

In reference to your article http://bitonthewire.wpengine.com/editorials/readed.aspx?id=2974

I began using synonyms a few years back, out of necessity.

My normal practice is to name databases identically across environments (Dev, Test, Prod). That way, I can utilize stored procedures and SSIS embedded queries across different connections without modification through the promotion process.

When we implemented Microsoft Dynamics CRM, our vendor named each Org by their environment (Prod, Stage, Test, Dev). Whether required or not, this also had the effect of using the org name as the database name. Therefore, I had to find a way to make code portable.

We have a lot of integrated databases and many processes feeding or pulling from them. Much of this is through Linked Servers on SQL or Oracle.

Synonyms turned out to be the most obvious answer. As long as the code uses they synonyms and they are pointed to the correct locations, the database name differences are transparent.

Perhaps there was another solution. But, this worked for me.

Thank you for your article. I hadn’t really ever thought of using synonyms for stored procedure versioning. I’m going to consider implementing some of that.

Cheers,

Ben