OpenTAP is an open source test automation platform distributed under the Mozilla Public License version 2.0 (MPLv2). The OpenTAP project enjoys a worldwide user community and a growing cadre of contributors. Contributions to OpenTAP can take a variety forms – feature requests, bug fixes, code patches, documentation, etc. However, the OpenTAP architecture was designed to make it easy to expand functionality and interoperability using plugins (vs. needing to modify the core platform/engine).
Plugins serve a range of needs and purposes – supporting custom DUTs (Devices Under Test), programming test steps, interfacing to new and existing instruments, supporting different user interfaces and implementing/connecting test results listeners.
Just as plugins can serve in myriad technical roles, the OpenTAP plugin API can bind to code with a range of software licenses:
MPLv2 (like the OpenTAP engine)
BSD and Apache v2 (approved for project submission / OpenTAP.io hosting)
Other free and open source licenses (if you host and maintain the plugins yourself)
Proprietary licenses with closed source code
Open Source in Test and Measurement
The test and measurement industry only recently began to embrace open source software, and while many developers and their employers are eager to experiment with open source, they have misgivings about releasing their own code to a project community. Such reluctance stems from concerns about leakage of company intellectual property, worries about enabling competitors, and even apprehension about others judging your code.
With OpenTAP, there is no obligation to publish your code as open source – we chose MPLv2, a “liberal” (a.k.a. “OEM-friendly”) license to guarantee OpenTAP users the maximum freedom in licensing and redistribution. But there are distinct advantages and benefits to releasing at least some of your OpenTAP plugins as open source software:
Advantages of Releasing OpenTAP Plugins as Open Source
Releasing your plugin as open source software lets you and your organization
Share maintenance - By releasing your plugin code as open source, you gain the oversight and experience of other community members who can help debug and support your plugin.
Reduce technical debt - Community oversight and shared development help keep your plugin current, reducing effort needed to migrate to new OpenTAP versions, integrate new functionality and support new configurations.
Speed evolution - When code is visible to other community members, they can suggest and implement new functionality, making your plugin more useful to you and the OpenTAP community.
Build, strengthen relationships - Contributing your plugin code to the OpenTAP.io project, you signal your readiness and trustworthiness to work with OpenTAP ecosystem partners.
Show technical leadership - Publishing your plugin code as open source demonstrates technical leadership in the OpenTAP ecosystem, strengthening your company brand and reputation as technology innovators.
Recruit and retain technical talent - In today’s competitive jobs marketplace, job seekers and current employees both view your company’s commitment to open source as a major benefit to joining and building a career at your firm.
Next Steps – Where to Host?
If you are ready to release your OpenTAP plugin(s) as open source software, you have multiple hosting options:
Host your plugin as a project on a public repository like GitHub or GitLab
Feature the plugin on your own website
Request hosting on the OpenTAP Project site
If you would like to host the code on the OpenTAP.io website to achieve maximum visibility to the OpenTAP ecosystem, start by visiting to read the OpenTAP Contribution Agreement and learn about the contribution and hosting process.