When it comes to development frameworks, wrapping your head around the choices in today's marketplace can be daunting. One of the more important questions to ponder is if you feel your developers are savvy enough to handle open-source coding or if a closed-source platform is more preferred.
There is not a right or wrong answer for this scenario, it is just a matter of preference. There are pros and cons to utilizing each system. Figuring out your team's best attributes and going down that path is the tricky part.
A closed-source framework is typically updated by the development company. The overlying software applications can be modified by qualified developers, but you have to rely upon the underlining black box functionality of the platform itself. If there are issues that arise, it's up to the platform owner to address the problem and make the fix.
Conversely, an open-source framework can be modified by any qualified hosting and / or development group. Open-source allows you the ability to work with a variety of vendors and grow your own levels of expertise in house.
You might actually think that finding the right open-source options might be like finding a needle in the proverbial haystack, but in actuality the market has successfully weeded out the least successful upstarts. Technologies (ie Ruby On Rails, Node.js) have seen through the ranks and have a long history of stellar customer support.
If you are considering going the open-source technology route, it is definitely important to consider the history, size of the community and the overall market share of the product to determine the reliability of using that product for your needs, long-term.
The last thing you want to do is invest a lot of time and resources into an open-source platform, only to see it go bankrupt several years later and force you to start again from scratch. There are a decent amount of options out there, being patient and discerning with the criterion for selecting the "right fit" is paramount towards long-term gains.
An underlying issue that seems to have an effect on the decision-making process lies in the area of security flaws. News outlets talk about security breaches and flaws that have an impact on millions of people. Financial and medical records, social security and banking information, as well as a plethora of other private credentials are stolen through holes in software coding and other backdoor techniques that wreak havoc on consumer confidence and pose a challenging problem for any size of business.
An advantage to using open-source coding is that the community is quick to spread the word about flaws and are vigilant about identifying and fixing the issues quickly. Internal closed-source development software may or may not release their patches or information in a timely manner. Closed-source developers have a tighter control on the narrative that is centered around the bread and what they want to become public knowledge.
In an open-source environment, thousands of people are testing the products to see if it fits their needs. If there is a problem, the information is relayed on forums, message boards, social media and a host of other options. Depending on the situation, some closed-source developers are publicly traded on the NYSE and have a code of ethics and policies that they must have in compliance. The downside to that is that the larger corporations might not be as keen to provide prompt or even satisfactory customer service on your timetable. They tend to have a larger amount of customers and a longer queue towards completing the trouble tickets.
Open-source is a more organic approach that relations on communication among developers that are all in the trenches trying to make their own products better. Sharing information is essential towards the stability and growth of the platform and instills camaraderie and a level of trust that larger closed source providers do not match.
While it may be easier to diagnose and fix problems in open-source frameworks, many organizations choose to utilize the knowledge and experience of closed source technology. There is some truth to the fact that closed-source technology relieves some of the responsibility for platform level issues away from your development group, but the reality is that an active community within the open-source side of the equation, can most often offer more responsiveness to issues than that of their closed-source counterparts. The open dialogue around bugs and fixes to the platform create opportunities for growth and knowledge building within even the smallest of development teams.
Before you make your final choice, be sure to monitor the frequency of updates, patches and fixes before taking the final steps towards either path. Forums and message boards can also provide you with code base (ie BitBucket or GitHub, for example) that allows the ability to see any activity quickly and give you information to make a well-informed decision.