Choosing and using open source components

Diomidis Spinellis*

*Corresponding author for this work

Research output: Contribution to journalArticleScientific

2 Citations (Scopus)


Choose open source components based on a few simple criteria associated with the software's legal status, its fitness, and its quality. BSD-style licenses are quite liberal, while GNU licenses make life difficult for proprietary offerings. Consider the project's technological fit, its popularity, the quality of its code and documentation, the frequency of new releases, the strength of its community, and the ease of pushing your changes upstream. You can reuse complete classes or files, use a complete library, or have your code communicate with a separately running process. Avoid modifying the open source code to fit your needs, but if you do keep changes to a minimum, keep them localized, have them follow the project's code style, and contribute them back to the project.

Original languageEnglish
Article number5756297
Pages (from-to)96+95
JournalIEEE Software
Issue number3
Publication statusPublished - 2011
Externally publishedYes


  • adoption
  • component choice
  • open source

Cite this