Showing posts with label Open Source. Show all posts
Showing posts with label Open Source. Show all posts

Monday, November 15, 2010

MySQL vs. PostgreSQL

The PostgreSQL community recently had PgWest, which is a conference where users and developers gathered together to learn from each other. It was held in San Francisco, near where I work and so I submitted a paper to present. The paper was accepted and I spent a day at the conference. I would have liked to stay for all three days but had a project back at the office that required my full attention.

One of the sessions that I missed was on the differences between MySQL and PostgreSQL. Both are database management systems and are freely available. MySQL was controlled by a single company and then was purchased by Sun, which was then purchased by Oracle. PostgreSQL is a community project with developers all over the world. I would have liked to attend the presentation as I use both MySQL and PostgreSQL for my job.

Looking at all of the online traffic generated by the presentation, I really wish I had been there. I get the feeling that it was a bit like watching a cat thrown into a room full of hungry dogs (MySQL being the cat and all of the PostgreSQL fans being the hungry dogs). I have to sit back and laugh at all of the contention the one presentation has caused. It reminds me of the movie, "Monty Python's Life of Brian." The movie takes place in Jerusalem during the time of Christ. There are several Jewish groups opposing the Roman occupation. One is the "People's Front of Judea" and the other is the "Judean People's Front." Instead of working together to rid themselves of the Romans, they fight against each other.

PostgreSQL and MySQL are both open source databases and can be used without any licensing costs. They may have different architectures and methods of development, but they allow users to run complex database management systems without the burden of heavy fees required to run Oracle, Microsoft SQL Server, or IBM DB2. Maybe someday the two camps will stop arguing long enough to figure out they are on the same side and stop trying to steal each other's users.

Then again MySQL is now owned by Oracle . . . who charges large sums of money to use their "other" database product . . .

Thursday, June 17, 2010

Obscure Configuration Files

A coworker and I have spent the last three days trying to get some open source software to work. We had it working enough so that it was usable for most situations. Yesterday we found the magic key that suddenly fixed everything. I have to say that I am glad to have figured out the problem, but somewhat frustrated it took so long. In the end, it turned out to be a problem with a configuration file buried deep in the software. This leads me to the question: why wasn't the configuration file located in the configuration directory with all of the others?

The product we are using is open source, which means there is no cost to use the software unless you count our time trying to configure it. It also means that the software was put together by any number of people working in their spare time. The product is rather large and complex, requiring a bigger development team. Unfortunately the guy responsible for the part we needed, never got full credit on any of his homework assignments in college.

The solution to our problem was found through a number of Internet searches. Another group was having a similar problem and was kind enough to post their solution on a software-help forum. Unfortunately they had an error in their solution, but we were able to figure it out without too much difficulty. Knowing which file to edit was the difficult task in our exercise.

Once everything was working correctly, I pulled out my engineering notebook and recorded what we did to fix the problem. Should a similar problem happen in the future, I have the solution written down.

Friday, December 4, 2009

Time for Open Source to Grow Up

Yesterday I had a phone conversation with one of my good friends who is an avid supporter of Open Source software. He is currently working for an Open Source company but is not very happy. He is making less money than he used to and his company made him purchase his own laptop instead of buying one for him.

Today I had a phone call with another friend who I met while working for an open source company. He now works for a large organization whose software division alone could qualify as one of the top five largest software companies (they also make hardware). He just got back from a trip around the world and sounded incredibly happy.

All three of us used to work for the same software company a few years ago and it was interesting to compare the two very different conversations. My Open Source friend wants to leave his current company and start his own Open Source company. My commercial software friend is happy where he is and just closed a couple of multi-million dollar software deals (with the correspondingly fat commission checks).

I thought about my own project that I am working on. Normally I use Open Source development tools but this one is using a commercial software package. I don't have to hunt around in obscure configuration files. Instead there is a pretty user interface for everything. I admit that it sometimes gets in the way of my productivity, but it is nice to not have to know about some special trick to get things to work right.

While I usually think that Open Source software is great, today I am beginning to rethink my views. I suppose that my Open Source software friends will think I am converting to the dark side. That's not really true. There are some clear winners in Open Source software. Why pay for an office suite when Open Office.org is free and feature rich. Why pay more than the cost of a new car for Oracle or SQL Server when MySQL or PostgreSQL will work just fine for your database.

Instead I would like to see open source developers take a little more pride in their work. It isn't that difficult to add a nice graphical wizard for configuration files. While the software interface may make sense to the person writing the code, he or she should ask a few friends to see if it makes sense to them also. If not, fix it. It is time for open source to grow up. Until then, my commercial software friend is going to keep getting fat checks while my open source friend wonders where his next meal will come from.

Tuesday, September 8, 2009

What is Linux?

I was at a friend's house last week who was giving me a bunch of photo's and movies from one of my many summer activities. He had some questions about Windows XP that I couldn't answer without a bit of research because I don't really use Windows on a day-to-day basis. Naturally he asked what I did use. While I have both Windows and Mac computers in my office, my primary computer runs Linux.

So what is Linux and why would anyone remove Windows from a new computer and install Linux instead? Actually I don't completely remove Windows from the computer when I install Linux. I set it up so that when I turn on the computer, it asks if I want to run Linux or Windows. This gives me a bit of flexibility with each of the machines in my office.

So back to the first question: What is Linux? Linux was created by Linus Torvalds in 1991 who wanted to create an operating system or computer user environment similar to Unix. Unix is an operating system created by Ken Thompson at Bell Laboratories in 1969. Linus was able to leverage other work done by Richard Stallman who created the GNU project in 1983 to create another Unix-like operating system. So what is Linux? Simply an open source or free version of Unix.

OK, so what is Unix and what makes it better than Windows or Macs for day-to-day use? Better is a relative term and so it is with extreme caution that I continue. When I worked at Oracle Corporation for the summer after my freshman year of college, they put me in the Unix technical support group and had me learn Unix. This was back before graphical user interfaces (GUIs) that most people are familiar with. Instead of being able to use a mouse to navigate thru directories and file folders, one had to know commands like "cd" and "ls". If you knew the name of file but didn't know where it was located, you could use the "find" command. Unix also has a bunch of tools and utilities that I learned such as the text editor called "vi" (pronounced like the letter V and the letter I). You could say that I got really used to using these two, three, and four-letter commands to help navigate the computer. Since my hands never have to leave the keyboard to touch the mouse, I feel I can do things faster and so I have continued to use Linux. Does that make Linux better than Windows? Probably not for most users, but it does for me and so I continue to use it.

Interestingly enough the operating system used by Macs is also Unix. Apple just did a spectacular job of hiding all those cryptic commands so that even the most novice user can enjoy the Mac experience. However if you know how to open a terminal window, you can revert back to those short-but-confusing Unix commands.

One of the benefits of Unix is how it protects itself from rogue programs like viruses and malware. When the PC first came out, it cam with the Microsoft DOS operating system and could only run one program at a time. Unix on the other hand was created to run multiple programs for different users at the same time. The creators of Unix knew that Jimmy might be running a program that could crash the computer and cause harm to Susan's program. Therefore they built in protection so that Jimmy's program cannot harm Susan's nor can it harm Unix itself. Therefore it is much more difficult to write a virus for Unix than it is for DOS which has now evolved into Windows.

This brings us back to my friend asking about Linux. It seems that my friend's son had contracted a nasty virus on his computer. In an attempt to cover his tracks, the son had reformatted the hard drive. He figured he could just reinstall Windows and nobody would know there had been a virus. Unfortunately the son didn't have a license key for Windows and couldn't reinstall it. Eventually the son had to confess about the virus. While my friend could easily get a license key from Microsoft to reinstall Windows, he has opted to put Linux on his son's computer. Maybe now his son won't get a computer virus.

Tuesday, September 1, 2009

Free Software for Everyone

Herman Melville is most remembered as the author of "Moby Dick." When it was first published, the general public thought of it the same way as most high-school students do today: what a bore. What most people don't realize is that it is based on a true story. Only in the true story Captain Ahab doesn't die. The ship does get smashed by an angry whale and the crew is left to survive an incredible ordeal in their life boats.

While I have read "Moby Dick," I actually prefer one of Melville's earlier books entitled "Typee." As with his more famous work, Typee is based on a true story. Melville was good at writing what he knew about. Early in Melville's life, he signed on as crew on a whaling ship. About the time he got to the South Pacific, he realized what a horrible decision he had made and decided to abandon ship in the Marquesas. Typee is a fictional story based on this experience. After the story was published it was discovered that there was more truth to the story than fiction.

Melville describes life in a near perfect world on Marquesas. Food is abundant. If you get hungry, simply pick tropical fruit off the closest tree. If you are looking for a ham sandwich, pigs roamed the area in plentiful quantities and so there was never any concern for food. As for shelter, the entire village pitched in and built you a hut as soon as you were ready to move out of Mom and Dad's. As the weather is relatively perfect, clothing need not be elaborate. So what did everyone do with their time? They lived in what we call a "gift economy." If you liked carving Tiki idols, you would make them and then give them away.

That same "gift economy" exists in the software world. Software that is given away and can be freely used is called "Open Source Software." If you don't want to pay the $125 to Microsoft for a Student/Teacher version of Office, there is OpenOffice.org that reads and writes Office files. Don't want to pay the $699 for Adobe Photoshop, there is GIMP. Doing work with databases and don't want to fork over your first born for Oracle, there is PostgreSQL.

These are not crippled versions of software that you can try for 90 days and then are asked to pay money. These are full working versions of software that mimic the functionality of their more expensive cousins. Should you be interested in making any modifications to the programs, you can also get the source for free. Of course, if you are good enough at software development to make any changes, the open source community hopes that you will make those changes available to everyone.

Open source software is freely available software that you can use without any licensing costs. It is created by people that have a little extra time on their hands and don't mind sharing with you. The next time you think you need to spend money on a new piece of software, do an Internet search and see if there isn't something already out there for free. There generally is.Link