Benefits of Open Source Frameworks Over Custom Frameworks

Jan 22nd, 2010

Recently I was arguing with one of my friend over the beneficts of opensource frameworks over custom . I know there may be lots of posts describing the beneficts and drawbacks . But I just thought of writing it as I can say I have written about that in my blog. You can check it out . I hope every one knows about opensource and the licences . I have been using and learning some of the most popular opensource frameworks like zend, lithium , drupal etc . So lets move on to what are the beneficts I feel . Beneficts of open source : 1 ) Mainly community supported . 2 ) Coding standards will be followed . 3 ) Throughly tested and immediate patches will be available if any thing breaks . 4 ) Can get quick help from the community . 5 ) Flexible for maintaince ( ie not throw away prototyping ) 6 ) Many do unit testing using the popular test tools like phpunit , simpletest etc . Beneficts of custom : 1 ) Custom frameworks may be good for a developer as he knows what he has written . I don’t think there is much beneficts for users . Drawbacks of custom frameworks : 1 ) It will be developed by a single or some group of people. 2 ) May be tested by some group of peoples , but lacks the tests done by community ( mass of people ) 3 ) Developing from scratch is not a big deal , but maintainence is the one that’s costly than development . When its custom made , you may need to get the exact people for that . Else its like “too many cooks spoil the broothe”. Pretty enough community developers, so not a big deal to get one. 4 ) May or may not be flexible . For example lets compare with drupal . When you starts your project , you may have thought just a small blog , then later you thought of having forums , after that you thought you need to sell some goods. When its drupal like framework , its easy as you just need to maintain the common code base which comes with much of the features and some other contributed and custom modules will make everything fine . But when its custom , you may need to mess with the code , or may need to go extending it , which is not so easy like drupal or any other . These are what I feel for now . May be more points , but for the time I am not remebering it . If any one feels I missed any , please add your comments I will update it .