Understand the do and don't of open source development

In the era of open sourced apps and platforms nowadays, we are being spoiled with hundreds if not thousands of free software that we can use to help solve our business problems. But how do we know which software is right for us? Here are some of the tips that I use when nitpicking the right one for our clients or for internal use.

  1. Maturity
    The maturity of a software plays a critical factor when choosing a project. The longer the software existed and still being actively used, developed and maintained, the better. Avoid no longer maintained software or app at all cost.
  2. Compatibility With Existing Ecosystem
    Most of the time, it's better to stick with what the team is an expert on rather than picking on something that's popular but no one in the team knows how to support or use it. Learning curve is the key here; the faster the solution being adopted in the company, the better your business will solve the intended problems (rather than making new headaches.)
  3. Active Community
    Unless you are prepared to spend some money to buy premium support (and if the developers who wrote it provide them,) you should choose a project that has large and active community to help each other. Look for their official and unofficial forums, stackoverflow.com topics, or maybe their yahoo groups or something similar.
  4. Extendibility
    Often time, we also need to customize the app to match our needs; whether through third party plugins, or develop-your-own, a good open source project should have this options or have existing libraries/plugins for the app.

Those are the four utmost important criteria for me when choosing one. However, there are other criteria that I often used to narrow down my options (in no particular order):

  • Intuitive Design
    For me, a good app is an app that's doesn't need instructions on how to use it. When the user opens it, he/she should immediately know how to use the app. The less you spend man hours explaining to the user how to use the app, the more you can go home on time.
  • Fast
    My other criteria in the age of short-attention-span-visitors are that an app needs to be responsive. Lag can be frustrating for most users.
  • Pretty
    It might sound silly, but human tends to like something that's nicely designed rather than an ugly one. But this is rather optional since by using open source you can always theme it the way you'd like.
  • Secure
    On some projects, security can be the #1 priority. This should be a decisive factor too when choosing.

I hope this article can shed some lights when you're trying to choose the right software for your problems. If you have any questions or comments please do share below. Thanks!

Our software development website

Share Your Mood?

Facebook Conversations