Proponents of open source say that it only improves the software having it open. Multiple people can contribute and there are many testers. Ok fine, but why can't a large corporation actually pay people to do this for a living? It baffles my mind that open source proponents (I'm mainly speaking of people with mentality like Richard Stallman - founder of GNU GPL) can't understand that people need to make money to live.
Creating software that can be sold and distributed to millions of people (key being the money made on the software license itself) is far more appealing to me than having to deal with a lot of people that I know nothing about. Most coders that I've run across aren't that great. Why do I want them contributing to the software?
What am I getting at? I see two ways to make money with software:
1) I only develop software and I sell it to people.
2) I have to spend a lot of time providing service to people to make my money.
I don't know about you, but I'd rather develop software than having to deal with tech support. I don't mean tech support isn't of utmost importance, it is (funny enough, that's what you DON'T get with open source software unless you pay for it). I'd rather have others that specialize and enjoy doing tech support do it. I enjoy doing architecture and design. If I come up with a radical way to do something, I don't want every one else to know how to do it. Why? Because they will turn around and do it and essentially take my money and steal my idea. I worked hard to come up with the idea, so why should someone else be able to take all the credit without me getting what I feel is fair?
I don't want it to sound like I'm completely against open source software. That is not the case. Sun Microsystem's (now Oracle) Java is one of the best open source products out there. BUT, guess what, it wasn't open source when it was being created and all the core libraries built. It didn't have rogue programmers in there messing around and creating their own versions.
That leads me to another topic that bugs me. Do you know why Linux hasn't even come close to overtaking Microsoft or Apple in regards to operating systems? Since it is open source, there are multitudes of "builds" and versions. Well guess what. That makes it almost impossible to organize and support all the different versions. Something like this is typical:
- Person trying to just use software: "How come my image printer driver silently fails on Mandrake but not Red Hat?"
- Linux fanatic: "Because they added an extra security feature in version xxx of Mandrake."
- Person trying to just use software:"Ok... So I've spent 2 hours trying to get it to work and I haven't been successful."
- Linux fanatic: "All you have to do is ..."
Fill in the "..." with 7 complex steps. Guess what. Most people just want something that works. They will pay extra for it. They don't want to mess around with something for 2 hours, let alone 2 hours and it still not work. They don't want to be forced to learn everything about Linux. They want to spend their time with their kids, wife, friends, whatever. Shoot, they may want to spend their time coding so that they can make extra money to go on a vacation to Hawaii!
I hate calling my Internet provider when they screw up my bill or something of that nature. I spend a lot of time listening to an annoying voice saying "Please hold... Your call is important to us." I often think to myself "why do I have to waste all this time for THEIR mistake?" I should be able to easily send off a note in 1 minute describing the problem, and they should look into it on THEIR time. I'm paying them for service! They don't pay me for my wasted time.
What does all that have to do with open source software? The majority of the open source software that isn't backed by a financial entity/business is absolute muck to wade through. The documentation is usually so detailed that you fall asleep trying to even find the section you're looking for. Then you have to read the terrible humor that some open source nerds try to inject into the documentation. You can picture the nerd sitting in front of their green screen with pizza crust laying around and a coffee stain on the printed copy of their manual. Time is of utmost importance to me. If I spend more time trying to get some piece of junk open source product to work than just purchasing something that is fully supported and well coded/designed I kick myself. It's just not worth it in most cases.
The key to making software successful is knowing when to use open source and when not to. Some products (such as Java) are a fantastic resource to utilize to build your products (that you can sell). There should be a balance. Unfortunately, a lot of open source projects is released under the infamous GNU GPL which is like a parasite. If you're not familiar with it, look up Richard Stallman and maybe do an Internet search for "why gpl sucks". You may have even found this blog because of that search!
Also, one more thing to mention in order to be successful with a hybrid of closed and open source for your products. Only use open source software that has been around for a while and is still strongly supported and has been controlled well. I see so much software rewritten over and over because of being "hooked" into some technology that either dies off or transitions. And of course, avoid GPL at all costs because your software will no longer be closed. Don't listen to Richard Stallman's nonsense about how closed source software is ruining society and how it "broke the system". I'd rather be able to afford to go to Hawaii for vacation than be on a starvation list.
My advice to any reader of this blog: Don't fall for the open source "community/society" mentality. There needs to be a balance of closed and open source. In fact, I'd rather have all closed source than all open source so that I can go on that trip...
No comments:
Post a Comment