this is a shot at advocating opensource, well not really opensource but more on the right practices in IT as I see it
on launching new applications
the need for a new application at work arises when new requirements occur, maybe there is already an application doing part of the job but the needs are more or maybe their a new requirement in the work flow that needs a new application.
so now the decision is to be made, do we get an application or do we get a dev team to do that application!
for the sake of the discussion lets say that the company's website was already a static page with some text and now the company decides to take advantage of the Internet.
so the requirements of the website now are simply, a website that can be managed easily and have a product catalog, maybe a shopping cart and a forum.
the decision now has to be taken between two options either buying a package or hiring a developer
so let's investigate both options and see.
hiring a developer{:1}, the job seems pretty easy to the manager, so he will hire one developer and that developer will report to the sales/marketing manager because it's the sales/marketing manager who needs this website - that's the first mistake - .
this developer does his research and gathers requirements and the starts implementing. now he will either write his code or use tools that generate code such as Microsoft visual studio for example.
he implements the functions and beautifies it with some great design, site is launched everybody is happy, until something wrong happens !
getting a ready made package{:1}the IT guy is instructed to find a good web application that will do the job. searching will lead to a bunch of opensource apps and a bunch of proprietary apps.
he would chose one, implements it, publishes the new website, everybody is happy, until something wrong happens !
now what could happen wrong?
several wrong things could happen, maybe a broken function that wasn't used during the testing but let's assume that both solutions turned to have all the functions and no broken code.
what else? that's simple, someone would break the security of the app.
this could be getting unauthorized access to confidential materials, manipulating the contents of the site or making it unavailable or many other ways of breaking it.
the least would be to make it unavailable and the worse could lead to a server compromise.
now what are the odds that this happens in a ready made app. and another created from scratch?
I'd give the custom app. no more than a week before it gets a success full attack depending on how much it is advertised this could take less or more time.
the ready made app. will have a longer uptime.
a custom app will be audited by how many coders and tested by how many users to be bug free and secure?
a ready made app is being tested and developed for a long time now that probably they have fixed most of the critical problems.
so custom apps. are lack the time the ready made app. went through, the ready made app is more mature
adding a new feature to both apps will result in an equal amount of risk, since both new features probably have the same age.
but again testing on the custom app is less than on the ready made app.
so in my opinion the ready made app is far more reliable and secure than a custom app.
now what about comparing opensource to proprietary?
opensource app probably have more developers and more testers than the proprietary app. , that's one thing the other is how fast can both camps release updates or security/bug fixes. what happens a security hole is discovered?
definitely the opensource community someone in the opensource community will announce it and send it to the developers - that is if he doesn't fix it himself - and the bug could get fixed in a matter of hours.
this cycle is so much longer in proprietary software.
i would conclude my post by saying that ready made apps are better than custom made ones, and opensource apps are better than proprietary ones.
Recent comments
18 weeks 2 days ago
41 weeks 1 day ago