Unfortunately, github.com/epics-modules/motor is not REUSE compliant and does not fully adopt the recommendations to make software licensing easy for humans and machines alike. Have a look at our tutorial to learn about the three simple steps to become REUSE compliant.
To add the badge to your project's README.md file,
use the following snippet:
[](https://api.reuse.software/info/github.com/epics-modules/motor)
The API provides machine-readable artifacts for automatic analysis.
reuse spdx
command.
Commit 33496c3bdee9e167b44e20d8cd2c6a10275ace33 was checked on 24 Mar 2026 04:06:34 UTC
with the following result:
# MISSING COPYRIGHT AND LICENSING INFORMATION The following files have no copyright and licensing information: * .ci-local/base3-14.set * .ci-local/base3-15.set * .ci-local/base7-0.set * .ci-local/github-actions/post-prepare.py * .ci-local/github-actions/sanity-check.py * .ci-local/github-actions/util.py * .ci-local/modules.set * .ci-local/travis/post-prepare.py * .ci-local/travis/util.py * .gitattributes * .github/workflows/ci-scripts-build-full.yml * .github/workflows/ci-scripts-build.yml * .gitignore * .gitmodules * .travis.yml * Makefile * README.md * configure/CONFIG * configure/CONFIG_SITE * configure/EXAMPLE_CONFIG_SITE.local * configure/Makefile * configure/RELEASE * configure/RULES * configure/RULES.ioc * configure/RULES_DIRS * configure/RULES_TOP * docs/Doxyfile * docs/Makefile * docs/Problems.html * docs/README.md * docs/RELEASE.md * docs/RELEASE.txt * docs/epics_logo.gif * docs/index.html * docs/motorDeviceDriver.html * docs/motorRecord.html * docs/motor_files.html * docs/motor_notes.txt * docs/motor_release.html * docs/presentations/MotorModel3_2012.ppt * docs/presentations/MotorRec2015.pptx * docs/trajectoryScan.html * docs/trajectoryScan_files/IDL_trajectory_actual.png * docs/trajectoryScan_files/IDL_trajectory_errors.png * docs/trajectoryScan_files/trajectoryPlot1.png * docs/trajectoryScan_files/trajectoryPlot2.png * docs/trajectoryScan_files/trajectoryScan.png * docs/trajectoryScan_files/trajectoryScanDebug.png * modules/CONFIG_SITE.local * modules/Makefile * motorApp/Db/Makefile * motorApp/Db/SoftMotorEx.db * motorApp/Db/TransPos.db * motorApp/Db/asyn_auto_power.db * motorApp/Db/asyn_motor.db * motorApp/Db/asyn_motor_model2.db * motorApp/Db/asyn_motor_model2_positions.req * motorApp/Db/asyn_motor_model2_settings.req * motorApp/Db/asyn_motor_positions.req * motorApp/Db/asyn_motor_settings.req * motorApp/Db/basic_asyn_motor.db * motorApp/Db/basic_asyn_motor_model2.db * motorApp/Db/basic_asyn_motor_model2_settings.req * motorApp/Db/basic_asyn_motor_settings.req * motorApp/Db/basic_motor.db * motorApp/Db/basic_motor_settings.req * motorApp/Db/coordTrans2D.db * motorApp/Db/motor.db * motorApp/Db/motorUtil.db * motorApp/Db/motor_positions.req * motorApp/Db/motor_settings.req * motorApp/Db/profileMoveAxis.template * motorApp/Db/profileMoveAxis_settings.req * motorApp/Db/profileMoveController.template * motorApp/Db/profileMoveController_settings.req * motorApp/Db/pseudoMotor.db * motorApp/Db/pseudoMotor_settings.req * motorApp/Db/softMotorTest.db * motorApp/Db/sumDiff2D.db * motorApp/Db/trajectoryScan.db * motorApp/Db/trajectoryScan_settings.req * motorApp/Makefile * motorApp/MotorSrc/Doxyfile * motorApp/MotorSrc/Makefile * motorApp/MotorSrc/README * motorApp/MotorSrc/asynMotorAxis.cpp * motorApp/MotorSrc/asynMotorAxis.h * motorApp/MotorSrc/asynMotorController.cpp * motorApp/MotorSrc/asynMotorController.h * motorApp/MotorSrc/motorSupport.dbd * motorApp/MotorSrc/motorUtil.cc * motorApp/MotorSrc/motorUtilAux.cc * motorApp/MotorSrc/motor_epics_inc.h * motorApp/MotorSrc/motor_interface.h * motorApp/MotorSrc/paramLib.c * motorApp/MotorSrc/paramLib.h * motorApp/SoftMotorSrc/Makefile * motorApp/SoftMotorSrc/devSoftMotor.dbd * motorApp/iocsh/Makefile * motorApp/iocsh/allstop.iocsh * motorApp/op/Makefile * motorApp/op/adl/16motor_form.adl * motorApp/op/adl/4motor_form.adl * motorApp/op/adl/8motor_form.adl * motorApp/op/adl/motor2x.adl * motorApp/op/adl/motor3x.adl * motorApp/op/adl/motor4x.adl * motorApp/op/adl/motor5x.adl * motorApp/op/adl/motor6x.adl * motorApp/op/adl/motor8x.adl * motorApp/op/adl/motorStatus104.adl * motorApp/op/adl/motorStatus120.adl * motorApp/op/adl/motorStatus16.adl * motorApp/op/adl/motorStatus24.adl * motorApp/op/adl/motorStatus32.adl * motorApp/op/adl/motorStatus40.adl * motorApp/op/adl/motorStatus48.adl * motorApp/op/adl/motorStatus56.adl * motorApp/op/adl/motorStatus64.adl * motorApp/op/adl/motorStatus72.adl * motorApp/op/adl/motorStatus8.adl * motorApp/op/adl/motorStatus80.adl * motorApp/op/adl/motorStatus88.adl * motorApp/op/adl/motorStatus96.adl * motorApp/op/adl/motors.adl * motorApp/op/adl/motors_s.adl * motorApp/op/adl/motorx.adl * motorApp/op/adl/motorxU.adl * motorApp/op/adl/motorx_all.adl * motorApp/op/adl/motorx_bare.adl * motorApp/op/adl/motorx_help.adl * motorApp/op/adl/motorx_more.adl * motorApp/op/adl/motorx_msta_detail.adl * motorApp/op/adl/motorx_setup.adl * motorApp/op/adl/motorx_tiny.adl * motorApp/op/adl/profileMove.adl * motorApp/op/adl/topMotors4.adl * motorApp/op/adl/topMotors8.adl * motorApp/op/adl/topMotors8_more.adl * motorApp/op/adl/trajectoryPlot.adl * motorApp/op/adl/trajectoryScan.adl * motorApp/op/adl/trajectoryScanDebug.adl * motorApp/op/bob/autoconvert/16motor_form.bob * motorApp/op/bob/autoconvert/4motor_form.bob * motorApp/op/bob/autoconvert/8motor_form.bob * motorApp/op/bob/autoconvert/motor2x.bob * motorApp/op/bob/autoconvert/motor3x.bob * motorApp/op/bob/autoconvert/motor4x.bob * motorApp/op/bob/autoconvert/motor5x.bob * motorApp/op/bob/autoconvert/motor6x.bob * motorApp/op/bob/autoconvert/motor8x.bob * motorApp/op/bob/autoconvert/motorStatus104.bob * motorApp/op/bob/autoconvert/motorStatus120.bob * motorApp/op/bob/autoconvert/motorStatus16.bob * motorApp/op/bob/autoconvert/motorStatus24.bob * motorApp/op/bob/autoconvert/motorStatus32.bob * motorApp/op/bob/autoconvert/motorStatus40.bob * motorApp/op/bob/autoconvert/motorStatus48.bob * motorApp/op/bob/autoconvert/motorStatus56.bob * motorApp/op/bob/autoconvert/motorStatus64.bob * motorApp/op/bob/autoconvert/motorStatus72.bob * motorApp/op/bob/autoconvert/motorStatus8.bob * motorApp/op/bob/autoconvert/motorStatus80.bob * motorApp/op/bob/autoconvert/motorStatus88.bob * motorApp/op/bob/autoconvert/motorStatus96.bob * motorApp/op/bob/autoconvert/motors.bob * motorApp/op/bob/autoconvert/motors_s.bob * motorApp/op/bob/autoconvert/motorx.bob * motorApp/op/bob/autoconvert/motorxU.bob * motorApp/op/bob/autoconvert/motorx_all.bob * motorApp/op/bob/autoconvert/motorx_bare.bob * motorApp/op/bob/autoconvert/motorx_help.bob * motorApp/op/bob/autoconvert/motorx_more.bob * motorApp/op/bob/autoconvert/motorx_msta_detail.bob * motorApp/op/bob/autoconvert/motorx_setup.bob * motorApp/op/bob/autoconvert/motorx_tiny.bob * motorApp/op/bob/autoconvert/profileMove.bob * motorApp/op/bob/autoconvert/topMotors4.bob * motorApp/op/bob/autoconvert/topMotors8.bob * motorApp/op/bob/autoconvert/topMotors8_more.bob * motorApp/op/bob/autoconvert/trajectoryPlot.bob * motorApp/op/bob/autoconvert/trajectoryScan.bob * motorApp/op/bob/autoconvert/trajectoryScanDebug.bob * motorApp/op/burt/yy12MotorPositions.req * motorApp/op/burt/yy12MotorSettings.req * motorApp/op/burt/yy16MotorPositions.req * motorApp/op/burt/yy16MotorSettings.req * motorApp/op/burt/yy20MotorPositions.req * motorApp/op/burt/yy20MotorSettings.req * motorApp/op/burt/yy24MotorPositions.req * motorApp/op/burt/yy24MotorSettings.req * motorApp/op/burt/yy28MotorPositions.req * motorApp/op/burt/yy28MotorSettings.req * motorApp/op/burt/yy32MotorPositions.req * motorApp/op/burt/yy32MotorSettings.req * motorApp/op/burt/yy36MotorPositions.req * motorApp/op/burt/yy36MotorSettings.req * motorApp/op/burt/yy40MotorPositions.req * motorApp/op/burt/yy40MotorSettings.req * motorApp/op/burt/yy44MotorPositions.req * motorApp/op/burt/yy44MotorSettings.req * motorApp/op/burt/yy48MotorPositions.req * motorApp/op/burt/yy48MotorSettings.req * motorApp/op/burt/yy4MotorSettings.req * motorApp/op/burt/yy52MotorPositions.req * motorApp/op/burt/yy52MotorSettings.req * motorApp/op/burt/yy56MotorPositions.req * motorApp/op/burt/yy56MotorSettings.req * motorApp/op/burt/yy8MotorPositions.req * motorApp/op/burt/yy8MotorSettings.req * motorApp/op/burt/yyMotorPositions.req * motorApp/op/burt/yyMotorSettings.req * motorApp/op/edl/autoconvert/16motor_form.edl * motorApp/op/edl/autoconvert/4motor_form.edl * motorApp/op/edl/autoconvert/8motor_form.edl * motorApp/op/edl/autoconvert/motor2x.edl * motorApp/op/edl/autoconvert/motor3x.edl * motorApp/op/edl/autoconvert/motor4x.edl * motorApp/op/edl/autoconvert/motor5x.edl * motorApp/op/edl/autoconvert/motor6x.edl * motorApp/op/edl/autoconvert/motor8x.edl * motorApp/op/edl/autoconvert/motorStatus104.edl * motorApp/op/edl/autoconvert/motorStatus120.edl * motorApp/op/edl/autoconvert/motorStatus16.edl * motorApp/op/edl/autoconvert/motorStatus24.edl * motorApp/op/edl/autoconvert/motorStatus32.edl * motorApp/op/edl/autoconvert/motorStatus40.edl * motorApp/op/edl/autoconvert/motorStatus48.edl * motorApp/op/edl/autoconvert/motorStatus56.edl * motorApp/op/edl/autoconvert/motorStatus64.edl * motorApp/op/edl/autoconvert/motorStatus72.edl * motorApp/op/edl/autoconvert/motorStatus8.edl * motorApp/op/edl/autoconvert/motorStatus80.edl * motorApp/op/edl/autoconvert/motorStatus88.edl * motorApp/op/edl/autoconvert/motorStatus96.edl * motorApp/op/edl/autoconvert/motors.edl * motorApp/op/edl/autoconvert/motors_s.edl * motorApp/op/edl/autoconvert/motorx.edl * motorApp/op/edl/autoconvert/motorxU.edl * motorApp/op/edl/autoconvert/motorx_all.edl * motorApp/op/edl/autoconvert/motorx_bare.edl * motorApp/op/edl/autoconvert/motorx_help.edl * motorApp/op/edl/autoconvert/motorx_more.edl * motorApp/op/edl/autoconvert/motorx_msta_detail.edl * motorApp/op/edl/autoconvert/motorx_setup.edl * motorApp/op/edl/autoconvert/motorx_tiny.edl * motorApp/op/edl/autoconvert/profileMove.edl * motorApp/op/edl/autoconvert/topMotors4.edl * motorApp/op/edl/autoconvert/topMotors8.edl * motorApp/op/edl/autoconvert/topMotors8_more.edl * motorApp/op/edl/autoconvert/trajectoryPlot.edl * motorApp/op/edl/autoconvert/trajectoryScan.edl * motorApp/op/edl/autoconvert/trajectoryScanDebug.edl * motorApp/op/opi/16motor_form.opi * motorApp/op/opi/4motor_form.opi * motorApp/op/opi/8motor_form.opi * motorApp/op/opi/autoconvert/16motor_form.opi * motorApp/op/opi/autoconvert/4motor_form.opi * motorApp/op/opi/autoconvert/8motor_form.opi * motorApp/op/opi/autoconvert/motor2x.opi * motorApp/op/opi/autoconvert/motor3x.opi * motorApp/op/opi/autoconvert/motor4x.opi * motorApp/op/opi/autoconvert/motor5x.opi * motorApp/op/opi/autoconvert/motor6x.opi * motorApp/op/opi/autoconvert/motor8x.opi * motorApp/op/opi/autoconvert/motorStatus104.opi * motorApp/op/opi/autoconvert/motorStatus120.opi * motorApp/op/opi/autoconvert/motorStatus16.opi * motorApp/op/opi/autoconvert/motorStatus24.opi * motorApp/op/opi/autoconvert/motorStatus32.opi * motorApp/op/opi/autoconvert/motorStatus40.opi * motorApp/op/opi/autoconvert/motorStatus48.opi * motorApp/op/opi/autoconvert/motorStatus56.opi * motorApp/op/opi/autoconvert/motorStatus64.opi * motorApp/op/opi/autoconvert/motorStatus72.opi * motorApp/op/opi/autoconvert/motorStatus8.opi * motorApp/op/opi/autoconvert/motorStatus80.opi * motorApp/op/opi/autoconvert/motorStatus88.opi * motorApp/op/opi/autoconvert/motorStatus96.opi * motorApp/op/opi/autoconvert/motors.opi * motorApp/op/opi/autoconvert/motors_s.opi * motorApp/op/opi/autoconvert/motorx.opi * motorApp/op/opi/autoconvert/motorxU.opi * motorApp/op/opi/autoconvert/motorx_all.opi * motorApp/op/opi/autoconvert/motorx_bare.opi * motorApp/op/opi/autoconvert/motorx_help.opi * motorApp/op/opi/autoconvert/motorx_more.opi * motorApp/op/opi/autoconvert/motorx_msta_detail.opi * motorApp/op/opi/autoconvert/motorx_setup.opi * motorApp/op/opi/autoconvert/motorx_tiny.opi * motorApp/op/opi/autoconvert/profileMove.opi * motorApp/op/opi/autoconvert/topMotors4.opi * motorApp/op/opi/autoconvert/topMotors8.opi * motorApp/op/opi/autoconvert/topMotors8_more.opi * motorApp/op/opi/autoconvert/trajectoryPlot.opi * motorApp/op/opi/autoconvert/trajectoryScan.opi * motorApp/op/opi/autoconvert/trajectoryScanDebug.opi * motorApp/op/opi/motor2x.opi * motorApp/op/opi/motor3x.opi * motorApp/op/opi/motor4x.opi * motorApp/op/opi/motor5x.opi * motorApp/op/opi/motor6x.opi * motorApp/op/opi/motor8x.opi * motorApp/op/opi/motorStatus104.opi * motorApp/op/opi/motorStatus16.opi * motorApp/op/opi/motorStatus24.opi * motorApp/op/opi/motorStatus32.opi * motorApp/op/opi/motorStatus40.opi * motorApp/op/opi/motorStatus48.opi * motorApp/op/opi/motorStatus56.opi * motorApp/op/opi/motorStatus64.opi * motorApp/op/opi/motorStatus72.opi * motorApp/op/opi/motorStatus8.opi * motorApp/op/opi/motorStatus80.opi * motorApp/op/opi/motorStatus88.opi * motorApp/op/opi/motors.opi * motorApp/op/opi/motors_s.opi * motorApp/op/opi/motorx.opi * motorApp/op/opi/motorxU.opi * motorApp/op/opi/motorx_all.opi * motorApp/op/opi/motorx_bare.opi * motorApp/op/opi/motorx_help.opi * motorApp/op/opi/motorx_more.opi * motorApp/op/opi/motorx_msta_detail.opi * motorApp/op/opi/motorx_setup.opi * motorApp/op/opi/motorx_tiny.opi * motorApp/op/opi/profileMove.opi * motorApp/op/opi/topMotors4.opi * motorApp/op/opi/topMotors8.opi * motorApp/op/opi/topMotors8_more.opi * motorApp/op/opi/trajectoryPlot.opi * motorApp/op/opi/trajectoryScan.opi * motorApp/op/opi/trajectoryScanDebug.opi * motorApp/op/ui/autoconvert/16motor_form.ui * motorApp/op/ui/autoconvert/4motor_form.ui * motorApp/op/ui/autoconvert/8motor_form.ui * motorApp/op/ui/autoconvert/motor2x.ui * motorApp/op/ui/autoconvert/motor3x.ui * motorApp/op/ui/autoconvert/motor4x.ui * motorApp/op/ui/autoconvert/motor5x.ui * motorApp/op/ui/autoconvert/motor6x.ui * motorApp/op/ui/autoconvert/motor8x.ui * motorApp/op/ui/autoconvert/motorStatus104.ui * motorApp/op/ui/autoconvert/motorStatus120.ui * motorApp/op/ui/autoconvert/motorStatus16.ui * motorApp/op/ui/autoconvert/motorStatus24.ui * motorApp/op/ui/autoconvert/motorStatus32.ui * motorApp/op/ui/autoconvert/motorStatus40.ui * motorApp/op/ui/autoconvert/motorStatus48.ui * motorApp/op/ui/autoconvert/motorStatus56.ui * motorApp/op/ui/autoconvert/motorStatus64.ui * motorApp/op/ui/autoconvert/motorStatus72.ui * motorApp/op/ui/autoconvert/motorStatus8.ui * motorApp/op/ui/autoconvert/motorStatus80.ui * motorApp/op/ui/autoconvert/motorStatus88.ui * motorApp/op/ui/autoconvert/motorStatus96.ui * motorApp/op/ui/autoconvert/motors.ui * motorApp/op/ui/autoconvert/motors_s.ui * motorApp/op/ui/autoconvert/motorx.ui * motorApp/op/ui/autoconvert/motorxU.ui * motorApp/op/ui/autoconvert/motorx_all.ui * motorApp/op/ui/autoconvert/motorx_bare.ui * motorApp/op/ui/autoconvert/motorx_help.ui * motorApp/op/ui/autoconvert/motorx_more.ui * motorApp/op/ui/autoconvert/motorx_msta_detail.ui * motorApp/op/ui/autoconvert/motorx_setup.ui * motorApp/op/ui/autoconvert/motorx_tiny.ui * motorApp/op/ui/autoconvert/profileMove.ui * motorApp/op/ui/autoconvert/topMotors4.ui * motorApp/op/ui/autoconvert/topMotors8.ui * motorApp/op/ui/autoconvert/topMotors8_more.ui * motorApp/op/ui/autoconvert/trajectoryPlot.ui * motorApp/op/ui/autoconvert/trajectoryScan.ui * motorApp/op/ui/autoconvert/trajectoryScanDebug.ui * motorApp/op/ui/motor2xU.ui * motorApp/op/ui/motor3xU.ui * motorApp/op/ui/motor4xU.ui * motorApp/op/ui/motor5xU.ui * motorApp/op/ui/motor6xU.ui * motorApp/op/ui/motor7xU.ui * motorApp/op/ui/motor8xU.ui * start_epics_motor The following files have no licensing information: * motorApp/MotorSrc/devMotorAsyn.c * motorApp/MotorSrc/drvMotorAsyn.c * motorApp/MotorSrc/motor.h * motorApp/MotorSrc/motorRecord.cc * motorApp/MotorSrc/motorRecord.dbd * motorApp/MotorSrc/motordevCom.cc * motorApp/MotorSrc/motordevCom.h * motorApp/MotorSrc/motordrvCom.cc * motorApp/MotorSrc/motordrvCom.h * motorApp/MotorSrc/motordrvComCode.h * motorApp/SoftMotorSrc/devSoft.cc * motorApp/SoftMotorSrc/devSoft.h * motorApp/SoftMotorSrc/devSoftAux.cc # SUMMARY * Bad licenses: 0 * Deprecated licenses: 0 * Licenses without file extension: 0 * Missing licenses: 0 * Unused licenses: 0 * Used licenses: 0 * Read errors: 0 * Invalid SPDX License Expressions: 0 * Files with copyright information: 13 / 395 * Files with license information: 0 / 395 Unfortunately, your project is not compliant with version 3.3 of the REUSE Specification :-( # RECOMMENDATIONS * Fix missing copyright/licensing information: For one or more files, the tool cannot find copyright and/or licensing information. You typically do this by adding 'SPDX-FileCopyrightText' and 'SPDX-License-Identifier' tags to each file. The tutorial explains additional ways to do this: <https://reuse.software/tutorial/>