Panic: The Lead selects Open Source
The potential client declares he has selected an Open Source solution.
There are two possibilities:
- He is really planning to use Open Source
- He uses the Open Source as a threat to get lower prices
In both cases you loose…
So the best thing for you is that the lead really adventures the Open Source.
Open Source benefits?
Not free
Only a limited number of Open Source software is really free to use. People who think Open Source = free are at least forgetting operating and maintenance costs.
Not similar or comparable solution
In case of your solution the lead had very specific requirements you had a hard time to match and would have cost investing in additional functions and features.
In case of the Open Source the purpose of the application often is different. The basic requirements of the potential customer are not answered and the specific requirements are often a far cry.
Legal advice
There are legal aspects involved too: try to figure out what exactly is allowed with the Open Source:
- GNU General Public License (GPL)
- GNU Library or “Lesser” General Public License (LGPL)
- GNU Affero General Public License (AGPL)
- Common Development and Distribution License (CDDL)
- Common Public Attribution License 1.0 (CPAL)
- Common Public License Version 1.0
- Open Software License, all versions through 3.0
- Q Public License (QPL), Version 1.0
- Open Public License
It is a myriad of different licenses: thus consider the need and the cost of hiring a lawyer with knowledge in this field before even thinking about using the software.
One possible problem is: when you change or add software, it is likely your modifications have to be put into Open Source too. This could be good: any bugs might be solved by a willing programmer for free. On the other hand, this might also mean that the features you paid for become available to your competitor too.
The Linux specialist
As in most cases the Open Source software is based upon Linux, finding a Linux specialist is required in order to:
- Understand what is required to run the application (type of Linux, server requirements, …)
- Set up the servers
- Installing the application and the Open Source data base (MySQL, ProstgreSQL ?) or other prerequisites
- Running the application
As you only need his services temporarily or not every day, you can only consider a consultant or someone who does it ‘after hours’.
Even if you have an in-house Linux specialist you still have to take his time and thus wage into account.
Business analyst and application specialist
As these software applications are often very refined due to the many people who have contributed, these applications can have many functions and features.
Less is more doesn’t apply in this case.
So you are going to need a business analyst for analyzing what you really need of the solution and if the application really is a solution to your needs.
And additionally an application analyst who knows how to set up and parameterize the application in order to become a solution for your problem/company.
Running the solution
As the Open Source solutions requires to be run on:
- Your own sever: you need to obviously have the server and in house or external competencies about operations (backups, maintenance, …) and the application
- Managed server (at a monthly fee): you still need knowledge about running/upgrading the application.
- Hosted application: Could be a more sensible alternative, but certainly not free either.
Upgrades
An active Open Source project is supported and developed by many developers. New versions are available at all times. Often even ‘nightly builds’ for the masochists among us. Unless the developers get bored and abandon the project, which is not that unusual. You could always fund further development yourself, but for most clients a commitment and investment like this is totally out of scope.
There’s even a site for abandoned projects looking for a new maintainer.
Upgrade path
IF an upgrade is available: Should you upgrade and when to upgrade?
It is well known, upgrading from older sources is sometimes impossible to do, so you need to choose your upgrades carefully. As you are not a specialist in the these matters, who will guide you in order not to get stuck in an older non upgradeable version.
Who will assist in case the upgrade goes wrong ? Who can you hold responsible to fix the problem ? Can you pick up the phone and demand someone to fix this asap ?
Support
In case you bump into an error or a bug, you can post it on the message board or forum, and wait and hope until someone picks it up top solve.
As you are not important in the developers’ community having no status whatsoever, it can take long before your error is being looked at and being solved if it gets solved at all.
With some Open Source applications entrepreneurs have started small support companies, at a cost ofcourse.
Security risk
As the source code is available to any hacker, they can search for security issues to misuse your application or data if it can be publicly accessed on the internet.
‘Security through obscurity is no security at all‘ is an often quoted saying. While this basically is true, there’s no black/white to software engineering. Real-world practical situations are often far from theory and the ideal situation.
One should not depend on security through obscurity. One should also not ignore that there are people looking for bugs in the Open Source application you just installed with the sole intent of exploiting them for their own use.
Conclusion
So let the lead go with the Open Source as he has set his mind on low cost and cheap solution. Although he hasn’t made a complete picture of the costs involved, the customer is always right.
Maybe the lost customer will become a potential customer after a year of running into (to him unknown) problems.
In any case, a follow-up call 9 months later would be in order and might cause you to re-evaluate him as a lead.
The customer is always right.