Open Source vs. Proprietary Software vs. Good Software

I had the opportunity to spend a few hours at Oscon yesterday in Portland, Oregon. Oscon is the Open Source Conference held by O’Reilly. I was pleasantly surprised by the size of the conference, the number of exhibitors and the presence of several large companies. Open source software has definitely become mainstream and accepted by industry.

At Likewise, we consider ourselves an open source company. Likewise Open has been very successful and has opened many doors for us (no pun intended). It’s helped us tremendously, even when we end up selling our Enterprise version instead. Nevertheless, I have some observations about open source, not all of them positive.

There are several definite advantages to using open source. It enables you to build a solution without having to reengineer every component. We make use of both MIT Kerberos and OpenLDAP in our products. If we had needed to rewrite these components, it would have taken us much longer to get to market. We’ve also made use of Samba components. Samba has been around a long time, has had “a lot of eyes” on it and has figured out the subleties of talking to Microsoft systems. Again, using open source saved us a lot of time.

There are some disadvantages to open source, too. It can be difficult to get the “owners” of an open source project to do what you think is the right thing. Although open source is “open”, certain projects are led by designated groups of people. Different projects have different guidelines around software submission and how they go about accepting external contributions. Very often, your contributions have to be vetted before they’re accepted in the main code. If your code is not accepted, your only option is to distribute your own modified version of the open source project (your branch). Branching is not a good thing.

Sometimes, code changes are rejected due to style considerations or differences in design approaches. These are objections that can be dealt with relatively easily. More difficult are rejections due to “dogma”. Some open source projects, for example, are irrationally opposed to anything that they perceive as helping Microsoft. Even our intent is to make non-Windows systems work better they still oppose our goal of making these systems work better with Microsoft Active Directory. This, of course, doesn’t apply to the Samba project (who had the goal before we did) but applies to other open source projects/companies/teams with which we’ve had to deal.

There is little we can do in these cases other than to develop our own alternatives.

Another issue which we’ve encountered with some open source software is a certain lack of industrial rigor. I’ve worked a lot with both commercial software developers (I spent 11 years at Microsoft) and with academic programmers (4 years at Microsoft Research). Sometimes, open source software sometimes resembles the latter more than the former.

What do I mean by “academic” programmers? Say that you’re in school, you take a programming course and you’re asked to write a program that converts degrees from Celsius to Fahrenheit. You write something like: 

void main(int c, char **argv)
    int degrees = atoi(argv[1]);
    printf("%d Celsius is %g Farhenheit\n", degrees, (degrees * 9.0)/5.0 + 32);

Your professor would probably give you a passing grade for this. It works. In industry, however, your boss would likely complain about several things:

  • Crappy user interface. How is the customer supposed to know that the input should appear on the command line?
  • Poor error handling. What happens if you don’t supply a command-line argument? What if you specify a non numeric value?
  • Bad spelling
  • Lack of localization support
  • Lack of comments in code

Open source software is not always industrial quality code. We have found many cases of memory corruption and leakage even in mature open source projects. We have also found and fixed many, many, bugs.

Note that the title of this post does not suggest that proprietary software is immune from similar flaws. Many proprietary software companies (including my ex-employers) are guilty of releasing software that is not ready for prime time. “Good Software” can be either open source or proprietary. Similary, “Bad Software” does not care about its licensing model.

What I will suggest, however, is that companies that have to support their products, keep customers happy and, ultimately, make money are much more motivated to develop Good Software than organizations which develop software but don’t actually have to deal with the consequences of poor code. There is no stronger motivator to write Good Software than an irate customer.

22 Responses to “Open Source vs. Proprietary Software vs. Good Software”

  1. Your web page doesn’t display correctly on my i phone – you may want to try and repair that

  2. Hello there! I could have sworn I’ve been to this blog before but after browsing through some of the post I realized it’s new to me. Nonetheless, I’m definitely glad I found it and I’ll be bookmarking and checking back often!

  3. Good day! Do you know if they make any plugins to help with SEO? I’m trying to get my blog to rank for some targeted keywords but I’m not seeing very good success. If you know of any please share. Kudos!

  4. Hey would you mind letting me know which hosting company you’re working with? I’ve loaded your blog in 3 completely different web browsers and I must say this blog loads a lot faster then most. Can you recommend a good hosting provider at a reasonable price? Kudos, I appreciate it!

  5. Hello there! Quick question that’s entirely off topic. Do you know how to make your site mobile friendly? My website looks weird when browsing from my iphone. I’m trying to find a theme or plugin that might be able to fix this issue. If you have any suggestions, please share. Thanks!

  6. Hello! This post couldn’t be written any better! Reading through this post reminds me of my previous room mate! He always kept talking about this. I will forward this post to him. Pretty sure he will have a good read. Thank you for sharing!

  7. I’m grateful for having you as a friend!

  8. Herma Gica says:

    Thanks for all your efforts that you have put in this. very interesting information.

  9. Your home is valueble for me. Thanks!…

  10. Lara Tote says:

    Can I just say what a relief to seek out somebody who really is aware of what theyre talking about on the internet. You definitely know tips on how to carry an issue to light and make it important. More individuals need to learn this and perceive this side of the story. I cant consider youre not more in style since you undoubtedly have the gift.

  11. Myra Cassity says:

    I believe other website proprietors should take this site as an model, very clean and wonderful user genial design and style.

  12. I as well conceive hence, perfectly written post! .

  13. you will have a terrific weblog right here! would you like to make some invite posts on my blog?

  14. Today, I went to the beach front with my children. I found a sea shell and gave it to my 4 year old daughter and said “You can hear the ocean if you put this to your ear.” She placed the shell to her ear and screamed. There was a hermit crab inside and it pinched her ear. She never wants to go back! LoL I know this is completely off topic but I had to tell someone!

  15. I am curious to find out what blog system you are working with? I’m experiencing some small security problems with my latest website and I would like to find something more safe. Do you have any solutions?

  16. Dion Bratt says:

    I’m amazed, I must say. Rarely do I encounter a blog that’s both equally educative and amusing, and without a doubt, you have hit the nail on the head. The problem is something that not enough men and women are speaking intelligently about. Now i’m very happy I came across this in my hunt for something relating to this.

  17. Max Kientz says:

    I’m impressed, I have to say. Actually rarely do I encounter a weblog that’s both educative and entertaining, and let me tell you, you’ve gotten hit the nail on the head. Your idea is excellent; the difficulty is something that not sufficient people are speaking intelligently about. I’m very completely satisfied that I stumbled across this in my seek for one thing regarding this.

  18. Cruz Koeppe says:

    I would like to thnkx for the efforts you have put in writing this web site. I am hoping the same high-grade blog post from you in the upcoming also. Actually your creative writing abilities has encouraged me to get my own blog now. Really the blogging is spreading its wings rapidly. Your write up is a great example of it.

  19. Would you be inquisitive about exchanging hyperlinks?

  20. Can I just say what a aid to search out somebody who truly knows what theyre speaking about on the internet. You undoubtedly know easy methods to carry a problem to mild and make it important. Extra people must read this and perceive this side of the story. I cant consider youre no more popular since you undoubtedly have the gift.

  21. BEST PRIVATE PROXIES – High level good quality, Endless bandwith, 1000 mb/s superspeed, 99,9 uptime, Low continuous IP’s, No consumption constraints, Various subnets, USA or even European union proxies – Purchase Right now –

Leave a Reply