Magento: Buying or building modules
Because of the open nature of Magento’s commerce platform, and the fast spread of adoption of the platform there’s a wide range of commercially available modules in the market right now. Examples of module shops are (but are not limited to) AheadWorks, WebshopExtensions and Aitoc, which all feature some interesting modules.
This places webshop developers in an interesting situation: they have to make the decision to make or buy, placing them in the shoes of software buyers instead of makers. Below are some advantages and disadvantages of deciding to build a module from scratch, using a commercially available module, and building a custom module with a commercial module as the basis.
Building from scratch:
- Advantage: You can build the module exactly as the client likes
- Advantage: You can sell the module (on the internet, in other projects) well if you negotiate the intellectual property (IPR) for it with your client
- Disadvantage: Time and money
- Disadvantage: Amount of coordination required
Only using the commercial module
- Advantage: Quick implementation
- Advantage: Functioning of the module is the responsibility of the module’s owner
- Disadvantage: Will often not fit situation perfectly
- Disadvantage: Depend on original builder for support / updates
- Disadvantage: Effort to show end clients that bought module suits their needs but in a slightly different than specified way
Buying a commercial module, customizing it
- Advantage: Can fit the desired situation pretty well
- Advantage: Moderate effort,
- Disadvantage: Depend on original module builder for support / updates
- Disadvantage: Highly sensitive to changes in functionality of the bought commercial module
- Disadvantage: Difficult to sell end result as a commercial module so end result is only applicable in one project
The more standard it is what you want to implement the wiser and more likely it is that there’s already a module available that does what you want. If you have a more specific need, then it’s a make or buy decision where time (including time to market) is the biggest factor.







