Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scope of work for C++ OMF v2 reference implementation #81

Open
fwkoch opened this issue Jul 9, 2019 · 3 comments
Open

Scope of work for C++ OMF v2 reference implementation #81

fwkoch opened this issue Jul 9, 2019 · 3 comments

Comments

@fwkoch
Copy link
Contributor

fwkoch commented Jul 9, 2019

Work for this contract includes:

  • C++ implementation of OMF v2 with support for OMF v1
    • Roughly 20 classes in OMF v2 with validation and JSON serialization/deserialization
    • Read and write OMF v2 files
    • Read OMF v1 files and translate data structures into OMF v2
    • Python prototype is to be used as reference for data and file structures
  • Comprehensive test suite
    • Unit tests for all classes/methods
    • valgrind tests to ensure not memory leaks/corruption
    • Integration tests reading, validating in memory, and writing files
    • Validation of files against the Python prototype
    • Continuous integration with automated test suite in Github for Windows, Mac, and Linux
      • AppVeyor + TravisCI or Azure DevOps would be acceptable - both offer free CI for open source projects
  • Documentation
  • Platforms
    • Windows 7 +
    • MacOS (10.14+)
    • RHEL/CentOS 7/8
    • Debian 9/10 (or Ubuntu equivalent
  • Build system / package management:
    • CMake as build system
    • CPack package management
  • Compilers:
    • C++14
    • support all of: MSVC2015, clang 8.x, gcc 8.x
    • Warning free compilation, MSVC => /w4, gcc and clang => -Werror
    • No #define mountains, OS or compiler specific implementations have to be moved to separate implementation files, with consistent interface
  • Included libraries
    • All libraries included with distributed code must be MIT (or more permissive)
    • JSON lib - https://github.com/nlohmann/json
    • zip lib - zlib has it's own as-is license, essentially MIT
    • boost, gsl are also MIT
    • Tests can use boost::test, catch2, valgrind
  • General best practices
@fwkoch fwkoch changed the title Proposal: Scope of work for C++ OMF v2 reference implementation Scope of work for C++ OMF v2 reference implementation Jul 18, 2019
@fwkoch
Copy link
Contributor Author

fwkoch commented Jul 18, 2019

The above scope of work was reviewed and agreed upon at a GMG Data Access and Usage Working Group meeting 17 July 2019.

@josephwinston
Copy link

How does one participate in the bidding process?

@fwkoch
Copy link
Contributor Author

fwkoch commented Jul 25, 2019

@josephwinston - Thanks for the comment! GMG is currently putting together a Request for Proposals (with info about bidding process, etc) around the technical scope of work described here. I will update this issue once the RFP is complete.

In the meantime, you are welcome to reach out to David Sanguinetti and express interest. In that case, GMG can follow up with you directly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants