BalaBit IT Security develops two open-source products: syslog-ng log utilities as well as the kernel of Zorp are available for everyone. We have been asked the question how security technology can be reconciled with open source. No matter how secure a software may be, a proprietary code could provide additional protection, doubters say. May they be right? The following chapters are written with the unconcealed purpose of convincing the reader that even for profit-oriented companies it may be worthwhile to develop software with partially or fully open source - even in the security technology market.
Holding back the source of their software may appear to be more secure for software developers, as an unknown program is more difficult to be circumvented. The above point of view of the developers usually comes from the fact that they do have a notion of the bugs in their software. Apparently, it is cheaper to develop proprietary source software than develop a good one. However, a software is made for the user, hence, his feeling of safety is to be taken into account and not that of the developer.
When talking about open source products this question does not even arise. The customer may get an arbitrary number of independent experts to assure him about the software - for instance, Zorp firewall - doing exactly and only as much as the developer claims. The principle of the crystal box, as it is called.
Within BalaBit there is a saying about security: security is not a state - it is a process. Implicitly this means that real security can only be accomplished by a well-planned business solution, a process. A single purchase - such as a piece of instrument - does not do the trick. The same applies to development. Holding back the code might increase security indeed (ceteris paribus), as the security holes emerging from the open source are easily circumvented. However, a well-established development process may prove itself to be more efficient in increasing software security on the long run. Thus, open source existence has a positive impact on development work in several aspects, such as quick troubleshooting of a software and its correction. In what way, you may ask. When launching an open source project, you are free to use the expertise and experience of many hundreds of professionals at no charge.
Whatever you start up with, you are certain to find people who have been dealing with that issue and are willing to cooperate with you for common interest. In case you are able to win them over as a consultant or as a developer, you gain access to a vast knowledgebase while possibly even multiplying the number of your colleagues.
As long as you develop a sensible product, the community is sure to make you aware of the possible software bugs very soon. No testers and testing laboratories are needed for this. You are merely to make the source available for downloading.
A basic philosophy of open source is that nothing needs to be rediscovered. Once something has been tackled with, anyone else can make use of it. Utilizing components made by others enables you to focus on innovation, something you are good at, some original idea. That way you can remarkably save the time needed for development.
No vast amount of money is needed for the success pictured above. If you prove to have expertise in your field of specialty, make it clear for everyone in an obvious way: By producing a unique and useful product and making it available for everyone. Supposing you have met users' demands and the product is well-done, it will get widespread along with the fame of your company.
All in all, cooperating with open source communities appears to be a sensible strategy for software developers. With a partially or fully open source development, time and financial means can be saved, the global marketing potential - represented by free products - can be exploited and remarkable know-how can be gained. In case you do not merely have a business plan but you also possess high-level competence, you can only profit from cooperating with others.