Commercial vs. Open Source: Another Point for Open Source
Posted May 26th, 2006Categories: Technical, Programming, Design, Planning
I stumbled onto an article in Ry Lowry’s blog that included a piece about his frustration with applying test driven development (TDD) to a commercial framework.
To summarize, he’s comparing TDD applied to an open source framework (Spring) with applying it to the commercial product. Spring was certainly designed for TDD and being in the open source community is very easily integrated with near any of the popular testing methods.
The commercial product he’s using doesn’t seem to have any easy way to be tested using many of the testing tools that are out there from a TDD perspective where you start with unit tests and work your way up to the different testing levels until you have near-end-user-like testing as well.
A couple of things come to mind that I think add value to the discussion:
- 1. He points out a key difference between the commercial framework and the open-source framework: The commercial product was created before practices like TDD and continuous integration became demandingly popular. There doesn’t seem to be an easy workaround for something that’s not going to change very quickly being in a commercially-controlled environment, whereas the open-source framework is constantly being driven to keep up with how the masses want to interact with it.
- 2. If the open source tools are simply more geared toward being tested with what’s out there, perhaps the commercial applications need to come up with an extendible testing framework of their own that encapsulate all the confusing interfaces developers are trying to work with. Some kind of testing adapter that does work easily with other tools could work, or just a proprietary API would even be better than nothing. Not that this will ever happen from a commercial vendor, but as open source gains ground in the world replacing the millions of dollars in commercial platforms…corporations will be forced to listen to what’s important to us and start giving us such features.
In general, I’ve always found the continuous integration requirements (which I find incredibly valuable in writing applications, which includes TDD) to be more difficult when working with proprietary applications. Another point for open source indeed.
Tags: open source, TDD, test driven development
Related Posts:
- Integrity Series: Avoid Taking Undeserved Credit
- Which is more effective: Debuggers vs. Print Statements
- Who is the Retrospector?
- Integrity Series: Don’t Defer Blame
- On Team Building: How does building an egg catcher out of a pillowcase and popsicle sticks benefit my company?
Explore posts in the same categories: Technical, Programming, Design, Planning