Understanding the implicit dangers of software component re-use

Every software developers has the goal of component re-use, but there are implicit dangers in the practice that all developers must be aware of.

Experienced software engineers know that  re-use is about far, far more than software development, but it is a lesson that less tenured software professionals tend to fumble with and needlessly have to learn over and over again. To help avoid this cyclical fumbling, all software developers need to acquire a solid understanding of what reuse means, along with an understanding of the dangers that are implicit with reusing the software developed by others.

In short, the millions of dollars one risks paying in penalty, or the loss of your own intellectual properties, are an important aspect to consider.

Randall Nagy, Principle Engineer with Soft9000

From a tenured standpoint, writing good software is all about understanding past, present and future designs. From the subject matter expert's (SME) point of view, re-use is about closing the gap between the service needed in the field today and what the existing solution actually does. And for the rest of us, re-use is the ability to collect, verify, and advance the cause of our computerized undertakings by leveraging the work of others.

The legal ramifications of software re-use

But there is yet another side of re-use to consider: that of the legal department.

From a lawyer's point of view, problems with re-use have since reached far past such old-news stories as those behind understanding the GPL (GNU General Public License). For some companies, the mere act of using software from another source could conceivably break contractual agreements with other companies or even invalidate multi-million dollar insurance indemnification policies.

When projects cross international borders, there can in fact be even more re-use problems. We should note here how many folks are unaware that, in order to gain an unfair completive advantage, entire countries have elected not to honor the patents and software licenses that have driven occidental progress and invention. Many third world nations do not even legally recognize your software as being any type of Intellectual property at all.  When it comes to enforcement, intellectual property term violations are proving just as unenforceable overseas as  non-compete clauses are in the United States.

Beware the dangers of re-use

The bottom line of inspiration's re-use then is obvious: beware of accepting deliveries from countries that do not honor your own country's license, patents, innovation, and copyrights. At the very least, there is a karma principle of which to be wary, and at the very worst, there are severe contractual, insurance, business, financial, and criminal laws which should cause concern.

In short, the millions of dollars one risks paying in penalty, or the loss of your own intellectual properties, are an important aspect to consider. Indeed, under the Berne Convention, the new model for Occidental Copyright, accepting the consequences of using what may be cut-and-paste work from outside your country might not only be included as part of your budgetary considerations, but as part of an alternative career plan, as well.

Has open source software (OSS) licensing ever got your company into trouble? Let us know about your good and bad experiences with OSS.

Dig Deeper on Core Java APIs and programming techniques

App Architecture
Software Quality
Cloud Computing