so this is a discussion i had with a senior colleague at my workplace. a little background: we have an e-office system being implemented in our office by NIC, and i inquired the technology it is based around this guy from NIC tells me it works around open source technologies (PostgreSQL for DB and something else i cant remember ) and he explained why at NIC they moved away from Microsoft technologies ( citing majorly commercial reasons, lock-in, and them being taken for a ride by MS when support or system expansion is sought as reason).
so based on this i and this colleague of mine start discussing about why there is reluctance to implement big government projects or crucial applications around FOSS. My colleague, having seen few projects being implemented in his lifetime he makes few arguments which i think are worth answering in a little more detail:
- Accountability: Whose collar does an end customer hold and get a issue resolved? (Not that it very nice thing to do but in current scenario that is what happens in crucial projects, where crucial data is involved).
For example: if in a project lets assume XYZ IT firm deploys a solution around Oracle DB. and a issue comes up tomorrow . consumer can hold XYZs collar and ask for them to fix it. in turn IT firm can hold Oracles collar and fix it if necessary. ( and believe me this happens and be sure that customer always builds these clauses into the contract for such projects. and scenarios like these are common where support form actual vendor of a technology is sought to resolve a issue.) for such response from vendor, the user might be willing to pay butt loads of money as license fees to vendors. .
when it comes to FOSS, it is perceived that this collar holding isn’t possible. citing the reason that when a technology is developed by a loosely bound community, with no actual commitments, rather voluntary contributions, how can i hold somebody accountable. How can one guarantee that such support is available when i am deep in shit? who do i hold accountable ( more like who do i point fingers on)?
2. Reliability : Ooo this vendor has been market for ages. why would i choose a new FOSS technology whose reliability there is no backing for?
This criteria becomes all the more crucial when your data is more important. for example : a bank, or fare collection system of a transit system, ERP on which your companies processes are running etc etc.
so there might be a consumer who is willing to install e-office for his admin and HR departments since it is slightly less crucial. but when he has to take a call on which technology to use for handling crucial data/applications, the choice will be a proprietary product marketed by some big MNC, citing the same reason as market standing, been in market for so long ergo reliability etc etc.
- to this my answer was largely that these apprehensions are more to do with how you execute a project. but you cant really say the technology developed in FOSS approach is of lower caliber. If lets say some MNC is backing a product based around some FOSS technologies you might feel comfortable.
But then again, why dont you see IT firms, the likes of infy or tcs or wipro, wont market products based around FOSS but would still harp on products of IBM or Oracle or MS etc.
if you were able to survive that verbal diarrhea, you view points will be much appreciated.