Last week I received a frantic telephone call from a distressed business owner. They explained that they created a custom application and launched it last month. Everything was on track until last week when they lost control of the application. Unfortunately this application contained all of their customer data and some banking information. Last week they have been scrambling to minimize the damage and are now in disaster mode. They are now working off spreadsheets and word documents again.
At first they thought one of their computers was hacked and cybercriminals had obtained their banking information. After running virus, malware and malicious code scans with no hits, they were stumped.
During the call I was able to determine that the new application was based on Open Source Software (OSS). This is a great way to obtain, enhance and even create low-cost software. Although you really need to understand software creation and coding to protect yourself and your customers from inappropriate exposure.
If you are not familiar with Open Source Software, it is computer software that is available in source code form (raw code): the source code and certain other rights normally reserved for copyright holders are provided under an open-source license that permits users to study, change, improve and at times also to distribute the software. It is very often developed in a public collaborative manner, often compared to user-generated content.
It has been reported that the adoption of the Open Source Software model has saved over $60 billion per year. Personally I think Open Source Software and a great way to learn and build applications. But – you need to know what you are doing. It should never be used in its raw state and you should always review the provided code line-per-line. This will ensure you know what the software is doing and what commands are being executed, when they are being executed and why they are being executed.
Experts and programmers on open source software have identified advantages and disadvantages.
- Achieve greater penetration of the market
- Establish an industry standard
- Gain competitive advantage
- Reduced dependence on software vendors
- Helped build developer loyalty as developers feel empowered and have a sense of ownership of the end product
- Right to redistribute modifications and improvements to the code
- Less costs of marketing
- Less cost of logistical services
- keep abreast of all technology developments
- Promote a company’s image
- Open source development is not be well-defined
- System testing and documentation may be ignored
- No guarantee of updates
- Produce systems based on unknown identities
- Difficult to design a commercially sound business model
- Technical requirements may be satisfied and not the ones of the market
- May allow hackers to know about the weaknesses or loopholes of the software more easily than closed-source software
- Who do you go for support and technical questions
- There is no guarantee that development will happen
- There may be significant problems connected to intellectual property
It is always a good idea to have a consultant or knowledgeable programmer on hand to review your code. But most importantly at the end of the day – lock your code so no one else can modify the code. This may mean purchasing a program that will compile your code. Remember in most cases you don’t know who has contributed to your base code.
If you would like, we provide a Free Technical Assessment, this can be beneficial to new and startup companies that are not sure where to start. You can always find our cloud and hosted services in the right column of this page or by simply going to our website at Raven Cloud Computing