I usually feel reluctant to use any third party or open source controls while coding in Objective-C iPhone due to following reasons.

Open source controls are developed in incremental manner. So once integrated I have to keep looking for update and will have to update my code. Will increase effort.

Open source controls may likely add memory leaks and thus make application incompetent in terms of memory.

Third party libraries are difficult to manage, as well as they keep conflicting with your classes.

Please correct me on these points, so that I may feel comfortable with open source codes.


Everything you said applies to commercial, close-source software too.

Updates: the difference is that FOSS code is much more honest about their incremental development schedule. Closed source world wants to to think their product is the last and final finished version.. with regular security updates and patches.. until the next version comes out that they want you to buy. Notice how many updates you still get with close sourced software?

Memory Leaks: you're kidding now. Software is software, most FOSS stuff is not written by kids in their back bedroom, its written by people who write closed source software during their day jobs. So there's no reason why they would suddenly become poor programmers in the evening. The other aspect here is that if there is a memory leak in FOSS you can fix it yourself! Try doing that with a closed source product.

Conflicts: not at all, as before its the same stuff only packaged differently. FOSS would conflict where closed source doesn't just doesn't make sense.

The problems with FOSS is more to do with documentation, you generally get the code and no support, tutorials, examples or any help. If you're the kind of guy who needs to be told how to code, then FOSS is not for you. That said, there are plenty of resources available for a lot of FOSS stuff, it just depends on the individual product.

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.