{"id":15032930,"url":"https://github.com/jsbsim-team/jsbsim","last_synced_at":"2026-10-19T08:45:50.706Z","repository":{"id":38710785,"uuid":"114565720","full_name":"JSBSim-Team/jsbsim","owner":"JSBSim-Team","description":"An open source flight dynamics \u0026 control software library","archived":false,"fork":false,"pushed_at":"2026-10-06T08:52:14.000Z","size":66068,"stargazers_count":2287,"open_issues_count":54,"forks_count":616,"subscribers_count":59,"default_branch":"master","last_synced_at":"2026-10-07T12:35:04.883Z","etag":null,"topics":["aerospace-engineering","aircraft","aircraft-control","aircraft-design","flight-dynamics","flight-simulation","jsbsim","matlab","python","simulation","unreal-engine-plugin"],"latest_commit_sha":null,"homepage":"https://jsbsim-team.github.io/jsbsim/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JSBSim-Team.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2017-12-17T20:18:32.000Z","updated_at":"2026-10-07T11:38:42.000Z","dependencies_parsed_at":"2026-08-27T20:18:46.374Z","dependency_job_id":null,"html_url":"https://github.com/JSBSim-Team/jsbsim","commit_stats":{"total_commits":5458,"total_committers":58,"mean_commits":94.10344827586206,"dds":0.6381458409673872,"last_synced_commit":"6f0c4d805c499cf18280bcf8d7af358aee494876"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/JSBSim-Team/jsbsim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JSBSim-Team%2Fjsbsim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JSBSim-Team%2Fjsbsim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JSBSim-Team%2Fjsbsim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JSBSim-Team%2Fjsbsim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JSBSim-Team","download_url":"https://codeload.github.com/JSBSim-Team/jsbsim/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JSBSim-Team%2Fjsbsim/sbom","scorecard":{"id":69204,"data":{"date":"2025-08-11","repo":{"name":"github.com/JSBSim-Team/jsbsim","commit":"b005a91d3151624eb26ae5595570bd188ef49702"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"name":"Maintained","score":10,"reason":"17 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":5,"reason":"Found 16/30 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/cpp-python-build.yml:794","Info: jobLevel 'contents' permission set to 'read': .github/workflows/cpp-python-build.yml:917","Warn: no topLevel permission defined: .github/workflows/codeql-analysis.yml:1","Warn: no topLevel permission defined: .github/workflows/cpp-python-build.yml:1"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: COPYING:0","Info: FSF or OSI recognized license: GNU Lesser General Public License v2.1: COPYING:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:49: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:63: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:180: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:182: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:210: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:216: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:222: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:228: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:297: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:301: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:308: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:314: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:325: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:352: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:361: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:554: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:560: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:764: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:772: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:926: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:932: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:938: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:949: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:951: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:957: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:246: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:250: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:252: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:281: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:379: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:381: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:386: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:391: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:429: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:449: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:453: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:460: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:468: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:478: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:525: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:534: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:598: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:600: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:623: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:658: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:719: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:735: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:750: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:798: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:811: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:815: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:829: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:854: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:888: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:49: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:91: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:95: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:102: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:118: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:151: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cpp-python-build.yml:164: update your workflow using https://app.stepsecurity.io/secureworkflow/JSBSim-Team/jsbsim/cpp-python-build.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/codeql-analysis.yml:43","Warn: pipCommand not pinned by hash: .github/workflows/cpp-python-build.yml:931","Warn: pipCommand not pinned by hash: .github/workflows/cpp-python-build.yml:945","Warn: pipCommand not pinned by hash: .github/workflows/cpp-python-build.yml:107","Warn: pipCommand not pinned by hash: .github/workflows/cpp-python-build.yml:108","Warn: pipCommand not pinned by hash: .github/workflows/cpp-python-build.yml:559","Warn: pipCommand not pinned by hash: .github/workflows/cpp-python-build.yml:566","Warn: pipCommand not pinned by hash: .github/workflows/cpp-python-build.yml:605","Warn: pipCommand not pinned by hash: .github/workflows/cpp-python-build.yml:679","Warn: pipCommand not pinned by hash: .github/workflows/cpp-python-build.yml:693","Warn: pipCommand not pinned by hash: .github/workflows/cpp-python-build.yml:713","Warn: pipCommand not pinned by hash: .github/workflows/cpp-python-build.yml:714","Warn: pipCommand not pinned by hash: .github/workflows/cpp-python-build.yml:820","Warn: pipCommand not pinned by hash: .github/workflows/cpp-python-build.yml:821","Warn: pipCommand not pinned by hash: .github/workflows/cpp-python-build.yml:465","Warn: pipCommand not pinned by hash: .github/workflows/cpp-python-build.yml:466","Info:   0 out of  56 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   9 third-party GitHubAction dependencies pinned","Info:   0 out of  16 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v1.2.3 not signed: https://api.github.com/repos/JSBSim-Team/jsbsim/releases/223814055","Warn: release artifact v1.2.2 not signed: https://api.github.com/repos/JSBSim-Team/jsbsim/releases/207609068","Warn: release artifact v1.2.1 not signed: https://api.github.com/repos/JSBSim-Team/jsbsim/releases/169396078","Warn: release artifact v1.2.0 not signed: https://api.github.com/repos/JSBSim-Team/jsbsim/releases/128029879","Warn: release artifact v1.1.14 not signed: https://api.github.com/repos/JSBSim-Team/jsbsim/releases/127998249","Warn: release artifact v1.2.3 does not have provenance: https://api.github.com/repos/JSBSim-Team/jsbsim/releases/223814055","Warn: release artifact v1.2.2 does not have provenance: https://api.github.com/repos/JSBSim-Team/jsbsim/releases/207609068","Warn: release artifact v1.2.1 does not have provenance: https://api.github.com/repos/JSBSim-Team/jsbsim/releases/169396078","Warn: release artifact v1.2.0 does not have provenance: https://api.github.com/repos/JSBSim-Team/jsbsim/releases/128029879","Warn: release artifact v1.1.14 does not have provenance: https://api.github.com/repos/JSBSim-Team/jsbsim/releases/127998249"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Vulnerabilities","score":1,"reason":"9 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-6p56-wp2h-9hxr","Warn: Project is vulnerable to: GHSA-fpfv-jqm9-f5jm","Warn: Project is vulnerable to: PYSEC-2020-73","Warn: Project is vulnerable to: PYSEC-2019-156 / GHSA-xp76-357g-9wqq","Warn: Project is vulnerable to: PYSEC-2023-102","Warn: Project is vulnerable to: PYSEC-2023-114","Warn: Project is vulnerable to: PYSEC-2025-49 / GHSA-5rjg-fvgr-3xxf","Warn: Project is vulnerable to: GHSA-cx63-2mw6-8hw5","Warn: Project is vulnerable to: PYSEC-2022-43012 / GHSA-r9hx-vwmv-q579"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/cpp-python-build.yml:787"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"SAST","score":9,"reason":"SAST tool detected but not run on all commits","details":["Info: SAST configuration detected: CodeQL","Warn: 25 commits out of 26 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-15T03:25:08.375Z","repository_id":38710785,"created_at":"2025-08-15T03:25:08.375Z","updated_at":"2025-08-15T03:25:08.375Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":344872684,"owners_count":38352851,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-19T02:00:06.414Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aerospace-engineering","aircraft","aircraft-control","aircraft-design","flight-dynamics","flight-simulation","jsbsim","matlab","python","simulation","unreal-engine-plugin"],"created_at":"2024-09-24T20:19:45.584Z","updated_at":"2026-10-19T08:45:50.694Z","avatar_url":"https://github.com/JSBSim-Team.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![C/C++ build](https://github.com/JSBSim-Team/jsbsim/actions/workflows/cpp-python-build.yml/badge.svg)](https://github.com/JSBSim-Team/jsbsim/actions/workflows/cpp-python-build.yml)\n[![PyPI](https://img.shields.io/pypi/v/jsbsim)](https://pypi.org/project/JSBSim)\n[![Conda (channel only)](https://img.shields.io/conda/vn/conda-forge/jsbsim)](https://anaconda.org/conda-forge/jsbsim)\n[![PyPI Downloads](https://static.pepy.tech/badge/jsbsim/week)](https://pepy.tech/projects/jsbsim)\n[![Downloads GitHub](https://img.shields.io/github/downloads/JSBSim-Team/jsbsim/total?label=Downloads%20GitHub)](https://github.com/JSBSim-Team/jsbsim/releases)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.20258621.svg)](https://doi.org/10.5281/zenodo.20258621)\n\n\u003cp align=\"center\"\u003e\n\u003cimg width=\"250\" height=\"250\" src=\"https://github.com/JSBSim-Team/jsbsim-logo/blob/master/logo_JSBSIM_globe.png\"\u003e\n\u003c/p\u003e\n\n# Introduction\n\nJSBSim is a multi-platform, general purpose object-oriented Flight Dynamics Model (FDM) written in C++. The FDM is essentially the physics \u0026 math model that defines the movement of an aircraft, rocket, etc., under the forces and moments applied to it using the various control mechanisms and from the forces of nature. JSBSim can be run in a standalone batch mode flight simulator (no graphical displays a.k.a. console mode) for testing and study, or integrated with the [Unreal engine](https://www.unrealengine.com), [FlightGear](https://www.flightgear.org/) and many other simulation environments.\n\nFeatures include:\n\n* Nonlinear 6 DoF (Degree of Freedom)\n* Fully configurable flight control system, aerodynamics, propulsion, landing gear arrangement, etc. through XML-based text file format.\n* Accurate Earth model including:\n  * Rotational effects on the equations of motion (Coriolis and centrifugal acceleration modeled).\n  * Oblate spherical shape and geodetic coordinates according to the [WGS84 geodetic system](https://en.wikipedia.org/wiki/World_Geodetic_System).\n  * Atmosphere modeled according to the [International Standard Atmosphere (1976)](https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19770009539.pdf).\n* Configurable data output formats to screen, file, socket, or any combination of those.\n\nJSBSim also includes the following bindings:\n\n* A [Python](https://www.python.org) module which provides the exact same features as the C++ library with Python based simulation samples that can be run on Google Colab [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](#python-module-examples)\n* A [Matlab S-Function](https://github.com/JSBSim-Team/jsbsim/blob/master/matlab/README.md) that interfaces JSBSim with [MATLAB Simulink](https://fr.mathworks.com/products/simulink.html).\n* An [Unreal Engine plugin](https://github.com/JSBSim-Team/jsbsim/blob/master/UnrealEngine/README.md) to build a connection between the flight dynamics model from JSBSim and the entire virtual environment provided by [Unreal engine](https://www.unrealengine.com).\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"UnrealEngine/UEReferenceApp.png\"\u003e\n\u003c/p\u003e\n\nIn 2015, [NASA performed some verification check cases on 7 flight dynamics software **including JSBSim**](https://nescacademy.nasa.gov/flightsim/2015) (the other 6 being NASA in-house software). The results showed that the 7 simulation tools *\"were good enough to indicate agreement between a majority of simulation tools for all cases published. Most of the remaining differences are explained and could be reduced with further effort.\"*\n\n## Applications and Usages\n\nJSBSim is used in a range of projects among which:\n\n* Unreal Engine's [Antoinette Project](https://www.unrealengine.com/en-US/blog/antoinette-project-tools-to-create-the-next-generation-of-flight-simulators): tools to create the next generation of flight simulators.\n* Flight simulation: [FlightGear](http://www.flightgear.org), [OutTerra](https://www.outerra.com), [Skybolt Engine](https://github.com/Piraxus/Skybolt)\n* SITL (Software In The Loop) Drone Autopilot testing : [ArduPilot](https://ardupilot.org/dev/docs/sitl-with-jsbsim.html), [PX4 Autopilot](https://docs.px4.io/main/en/sim_jsbsim/), [Paparazzi](https://wiki.paparazziuav.org/wiki/Simulation)\n* Machine Learning Aircraft control: [gym-jsbsim](https://github.com/Gor-Ren/gym-jsbsim)\n* [DARPA Virtual Air Combat Competition](https://www.darpa.mil/news/2019/virtual-air-combat-competition) where one of the AI went undefeated in five rounds of mock air combat against an Air Force fighter (see the [video on YouTube](https://www.youtube.com/watch?v=IOJhgC1ksNU)).\n* [Project AirSim](https://github.com/iamaisim/ProjectAirSim) is an open-source simulation platform for autonomous systems [recognized by Microsoft](https://github.com/microsoft/AirSim/blob/main/project_airsim.md) as the evolution of the original [AirSim](https://github.com/microsoft/AirSim). The current simulation environment provides a modular framework for drones, fixed-wing aircraft, robots, and other autonomous systems. Project AirSim features JSBSim integration for fixed-wing aircraft dynamics, [with public Cessna 310 and Skywalker X8 examples](https://github.com/iamaisim/ProjectAirSim/blob/main/docs/physics/jsbsim.md).\n* [PteroSim](https://github.com/PteroLabsAI/PteroSim-UAV-Simulator) is an Unreal Engine 5 UAV simulator that runs every vehicle (multirotors, helicopters, VTOLs, tailsitters, fixed-wing) on JSBSim, with PX4 or ArduPilot SITL in the loop and a Python API. Both autopilot projects document it ([PX4](https://docs.px4.io/main/en/sim_pterosim/), [ArduPilot](https://ardupilot.org/dev/docs/sitl-with-pterosim.html)). Epic Games covered it in an [Unreal Engine spotlight](https://www.unrealengine.com/spotlights/ue5-is-becoming-the-platform-of-choice-for-robotics-simulation). The [vehicle models](https://github.com/PteroLabsAI/PteroSimAircrafts) are plain JSBSim aircraft definitions.\n\n## Academic and Industry Research\n\nJSBSim is also used in academic and industry research ([more than 1000 citations referenced by Google Scholar](https://scholar.google.com/scholar?\u0026q=jsbsim) as of May 2025).\n\nIn 2023 JSBSim was featured in the article [\"A deep reinforcement learning control approach for high-performance aircraft\"](https://link.springer.com/article/10.1007/s11071-023-08725-y) , by De Marco et al. (2023), _Nonlinear Dynamics_, an International Journal of Nonlinear Dynamics and Chaos in Engineering Systems by Springer (doi: 10.1007/s11071-023-08725-y). The open-access article is available as a PDF here [https://link.springer.com/content/pdf/10.1007/s11071-023-08725-y.pdf](https://link.springer.com/content/pdf/10.1007/s11071-023-08725-y.pdf). The work demonstrates an application of Deep Reinforcement Learning (DRL) to flight control and guidance, leveraging the JSBSim interface to MATLAB/Simulink.\n\nAnother more advanced application within the field of Deep Reinforcement Learning is presented in the article [\"Hierarchical Reinforcement Learning for Air Combat at DARPA's AlphaDogfight Trials\"](https://ieeexplore.ieee.org/document/9950612) by A. P. Pope et al. (2023), _IEEE Transactions on Artificial Intelligence_ (doi: 10.1109/TAI.2022.3222143), featuring a hierarchical reinforcement learning approach. The trained agent was designed alongside of and competed against active fighter pilots, and ultimately defeated a graduate of the United States Air Force's F-16 Weapons Instructor Course in match play. See also the [DARPA Virtual Air Combat Competition](https://www.darpa.mil/news/2019/virtual-air-combat-competition).\n\n# User Guide\n\n## Installation\n\n### Windows\n\nA Windows installer `JSBSim-1.3.3-setup.exe` is available in the [release section](https://github.com/JSBSim-Team/jsbsim/releases/tag/v1.3.3). It installs the 2 executables along with aircraft data and some example scripts:\n\n* `JSBSim.exe` which runs FDM simulations.\n* `aeromatic.exe` which builds aircraft definitions from Question/Answer interface\n\nBoth executables are console line commands.\n\nThe Windows installer also contains the files needed to build the JSBSim Matlab S-Function (see [our MATLAB README](matlab/README.md) for more details about using JSBSim in Matlab).\n\n### Ubuntu Linux\n\nDebian packages for Ubuntu Linux \"Jammy\" 22.04 LTS and \"Noble\" 24.04 LTS for 64 bits platforms are also available in the [JSBSim project release section](https://github.com/JSBSim-Team/jsbsim/releases/tag/v1.3.3). There are 3 packages for each platform:\n\n* `JSBSim_1.3.3-2002.amd64.deb` which installs the executables `JSBSim` and `aeromatic`\n* `JSBSim-devel_1.3.3-2002.amd64.deb` which installs the development resources (headers and libraries)\n* `python3-JSBSim_1.3.3-2002.amd64.deb` which installs the Python module of JSBSim\n\n### Python module\n\nJSBSim provides binary wheel packages for its Python module on Windows, Mac OSX and Linux platforms for several Python versions (3.10, 3.11, 3.12, 3.13, 3.14 and 3.15). These can be installed using either `pip` or `conda`.\n\n#### Installation with `pip`\n\nBinary packages a.k.a. [wheel packages](https://www.python.org/dev/peps/pep-0427) are available from the [Python Package Index (PyPI)](https://pypi.org), a repository of software for the Python programming language.\n\nInstalling `jsbsim` using `pip` can be achieved with:\n\n```bash\n\u003e pip install jsbsim\n```\n\nCheck the [pip documentation](https://packaging.python.org/tutorials/installing-packages) for more details.\n\nNote that wheel packages for Linux meet the [PEP600 ManyLinux packages requirements](https://www.python.org/dev/peps/pep-0600) and as such are compatible with a majority of Linux distributions.\n\n#### Installation with `conda`\n\n[Conda](https://docs.conda.io/projects/conda/en/latest/index.html) is an open-source package management system and environment management system that runs on Windows, macOS, and Linux. The JSBSim conda package is available from [`conda-forge`](https://conda-forge.org), a community led collection of recipes, build infrastructure and distributions for the conda package manager.\n\nInstalling `jsbsim` from the `conda-forge` channel can be achieved by adding `conda-forge` to your channels with:\n\n```bash\n\u003e conda config --add channels conda-forge\n```\n\nOnce the `conda-forge` channel has been enabled, `jsbsim` can be installed with:\n\n```bash\n\u003e conda install jsbsim\n```\n\nIt is possible to list all of the versions of `jsbsim` available on your platform with:\n\n```bash\n\u003e conda search jsbsim --channel conda-forge\n```\n\n### Other platforms\n\nAt the moment, JSBSim does not provide binaries for platforms other than Windows 64 bits and Ubuntu 64 bits. Alternatively, you can use [JSBSim wheel packages](https://github.com/bcoconni/jsbsim#python-module) for Windows, Linux or MacOS. Otherwise you should follow the instructions in the [developer docs](doc/DevelopersDocs.md) to build JSBSim on your platform.\n\n### Aircraft data and example scripts\n\nJSBSim aircraft data and example scripts are automatically installed if you are using [Python wheel packages](https://github.com/bcoconni/jsbsim#python-module). Otherwise, you can get aircraft data and example scripts by downloading either the [zip package](https://github.com/JSBSim-Team/jsbsim/archive/v1.3.3.zip) or the [tar.gz package](https://github.com/JSBSim-Team/jsbsim/archive/v1.3.3.tar.gz).\n\n## Quick start\n\nOnce you have downloaded (or built) the binaries and unzipped the [aircraft data](#aircraft-data-and-example-scripts). Go to the root of the data package and make sure the executable is accessible from there.\n\nYou can then run an FDM simulation with the following command:\n\n```bash\n\u003e JSBSim.exe --script=scripts/c1721.xml\n```\n\nMore options are available if you run:\n\n```bash\n\u003e JSBSim.exe --help\n```\n\n## User documentation\n\nA first place to look at for JSBSim documentation resources is \u003chttps://jsbsim.sourceforge.net/documentation.html\u003e. This link points to the official [JSBSim Reference Manual](https://jsbsim.sourceforge.net/JSBSimReferenceManual.pdf), a PDF which is the best source of information for users and developers.\n\nHowever, due to the nature of the development of the project (JSBSim sources are updated often, sometimes even daily), several new features that are available in the software are not yet documented in the reference manual. Starting from March 2018 a new effort is underway to deliver an up-to-date documentation web site. You can browse the new *JSBSim Online Reference Manual* by going to: [https://jsbsim-team.github.io/jsbsim-reference-manual](https://jsbsim-team.github.io/jsbsim-reference-manual). The online manual is under construction and as a first milestone it will incorporate all the non-outdated material contained in the original PDF Reference Manual. The online manual web site is based on the GitHub Pages technology and its sources are available [here](https://github.com/JSBSim-Team/jsbsim-reference-manual). Eventually, the PDF Reference Manual will be superseded by the online manual, which is designed to be updated collaboratively as well as in efficient and timely fashion.\n\n## Interfacing JSBSim with your application\n\n### Using the C++ API\n\nJSBSim can be interfaced or integrated to your application via a C++ API. The following code illustrates how JSBSim can be called by a small program, with execution being controlled by a script:\n\n```c++\n#include \u003cFGFDMExec.h\u003e\n\nint main(int argc, char **argv)\n{\n  JSBSim::FGFDMExec FDMExec;\n  FDMExec.LoadScript(SGPath(argv[1]));\n  FDMExec.RunIC();\n  bool result = true;\n  while (result) result = FDMExec.Run();\n}\n ```\n\nThe API is described in more details in the [C++ API documentation](doc/DevelopersDocs.md#c-api-documentation)\n\n### Using the Python module\n\nJSBSim can also be used as a Python module. JSBSim Python wheels are provided with the proverbial \"batteries included\" i.e. with some default aircraft data and example scripts.\n\nThe following code provides a simple example of how to interface with JSBSim using the Python programming language:\n\n```python\nimport jsbsim\n\nfdm = jsbsim.FGFDMExec(None)  # Use JSBSim default aircraft data.\nfdm.load_script('scripts/c1723.xml')\nfdm.run_ic()\n\nwhile fdm.run():\n  pass\n```\n\nProviding `jsbsim.FGFDMExec` with the value `None` allows using the installed default aircraft data and scripts (in the example above we are using the script `scripts/c1723.xml`, one of the many scripts installed by default).\n\nThe default aircraft data is located in a directory which path can be retrieved with the function `get_default_root_dir()`:\n\n```python\nprint(jsbsim.get_default_root_dir())\n```\n\nThe Python API is described in more details in the [Python API documentation](https://jsbsim-team.github.io/jsbsim/python/) and a more elaborate example of Python code is [JSBSim.py](https://github.com/JSBSim-Team/jsbsim/blob/master/python/JSBSim.py), the Python equivalent to `JSBSim.exe`.\n\n## Python module examples\n\nThe [examples/python](https://github.com/JSBSim-Team/jsbsim/tree/master/examples/python) directory contains a number of example Python based scripts embedded in Jupyter notebooks demonstrating the use of JSBSim to determine and analyse aircraft performance.\nYou can also quickly try it out using Google Colab by clicking on the icon.\n\n- [AoA vs CAS.ipynb](https://github.com/JSBSim-Team/jsbsim/blob/master/examples/python/AoA%20vs%20CAS.ipynb) calculates and plots the AoA (Angle of Attack) versus CAS (Calibrated Air Speed) for level trim for a range in aircraft weight, altitude and cg (center of gravity).\n[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JSBSim-Team/jsbsim/blob/master/examples/python/AoA%20vs%20CAS.ipynb)\n\n- [Trim Envelope.ipynb](https://github.com/JSBSim-Team/jsbsim/blob/master/examples/python/Trim%20Envelope.ipynb) calculates a set of trim points for an aircraft over a range of airspeeds and flight path angles. Required thrust and AoA is indicated via a colormap.\n[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JSBSim-Team/jsbsim/blob/master/examples/python/Trim%20Envelope.ipynb)\n\n- [Rudder Kick.ipynb](https://github.com/JSBSim-Team/jsbsim/blob/master/examples/python/Rudder%20Kick.ipynb) simulate a pilot performing a rudder kick test with time histories of the control inputs and sideslip angle plotted.\n[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JSBSim-Team/jsbsim/blob/master/examples/python/Rudder%20Kick.ipynb)\n\n- [Thrust Vectoring Analysis.ipynb](https://github.com/JSBSim-Team/jsbsim/blob/master/examples/python/Thrust%20Vectoring%20Analysis.ipynb) vary the thrust vector angle to determine the minimum fuel burn for cruise and climb conditions.\n[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JSBSim-Team/jsbsim/blob/master/examples/python/Thrust%20Vectoring%20Analysis.ipynb)\n\n- [Pitch SAS Implementation.ipynb](https://github.com/JSBSim-Team/jsbsim/blob/master/examples/python/Pitch%20SAS%20Implementation.ipynb) implement a pitch Stability Augmentation Systen (SAS) to improve the pitch damping of an A4 fighter.\n[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JSBSim-Team/jsbsim/blob/master/examples/python/Pitch%20SAS%20Implementation.ipynb)\n\n# Contributing Source Code Changes\n\nIf you would like to contribute source code changes please take a look at the [Contributing Source Code Changes to JSBSim](https://github.com/JSBSim-Team/jsbsim/wiki/Contributing-Source-Code-Changes-to-JSBSim) Wiki page for instructions on how to go about contributing.\n\n# Contact\n\nFor more information about JSBSim, you can contact the development team on [GitHub discussion](https://github.com/JSBSim-Team/jsbsim/discussions) or submit tickets on \u003chttps://github.com/JSBSim-Team/jsbsim/issues\u003e\n\nWe are also on Facebook: \u003chttps://www.facebook.com/jsbsim/\u003e\n\n# Legal Notice\n\n\u003cp align=\"center\"\u003e\u003ca href=\"https://opensource.org/licenses/LGPL-2.1\"\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://opensource.org/wp-content/themes/osi/assets/img/osi-badge-light.svg\"\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://opensource.org/wp-content/uploads/2022/10/osi-badge-dark.svg\"\u003e\n    \u003cimg src=\"https://opensource.org/wp-content/uploads/2022/10/osi-badge-dark.svg\" alt=\"OSI approved license badge for LGPL-2.1\" width=\"180\"\u003e\n  \u003c/picture\u003e\n\u003c/a\u003e\u003c/p\u003e\n\nThe JSBSim library is open source and is licensed under the [LGPL 2.1 license](https://opensource.org/licenses/LGPL-2.1). The license is included in the source code file [COPYING](https://github.com/JSBSim-Team/jsbsim/blob/master/COPYING).\n\nThe Unreal Engine Reference Application for JSBSim is open source and is licensed under the [MIT license](https://opensource.org/licenses/MIT). The license is included in the source code file [UnrealEngine/LICENSE.txt](https://github.com/JSBSim-Team/jsbsim/blob/master/UnrealEngine/LICENSE.txt).\n\nThe JSBSim interface with MATLAB including the S-Function is open source and is licensed under the [BSD license](https://opensource.org/licenses/bsd-license.php). The license is included in the source code file [matlab/LICENSE.txt](https://github.com/JSBSim-Team/jsbsim/blob/master/matlab/LICENSE.txt).\n\nThe Python module of JSBSim is open source and is licensed under the [LGPL 2.1 license](https://opensource.org/licenses/LGPL-2.1). The license is included in the source code file [COPYING](https://github.com/JSBSim-Team/jsbsim/blob/master/COPYING).\n\nNo proprietary code is included. All code included within the JSBSim project has been developed on a volunteer basis using publicly available information, and is often directly linked to a particular textbook, for educational reference. In some cases, code of a generic nature has been donated back to the project.\n\nLikewise, the aircraft models included in this project and distribution do not include any proprietary, sensitive, or classified data. All data is derived from textbooks (such as Stevens and Lewis \"Aircraft Control and Simulation\" and Sutton's \"Rocket Propulsion Elements\"), freely available technical reports (see: \u003chttps://ntrs.nasa.gov\u003e and \u003chttps://www.aiaa.org\u003e), or other public data (such as the FAA web site). Aircraft models included in the JSBSim distribution and with names corresponding to existing commercial or military aircraft are approximations crafted using publicly available information, and are for educational or entertainment uses only.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjsbsim-team%2Fjsbsim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjsbsim-team%2Fjsbsim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjsbsim-team%2Fjsbsim/lists"}