@@ -5,10 +5,10 @@ The following are values for any crates adopted in the `rust-seq` stack.
55## Correctness
66
77Most fundamentally, software in the ` rust-seq ` stack is designed to produce
8- correct results or error with reasonable error messages when producing correct
8+ correct results or to error with reasonable error messages when producing correct
99results is not possible. We collectively believe that bioinformatics tools today
10- are fragile and all too often either (a) silently fail or (b) return unhelpful
11- information when failures occur. Eliminating these modes of failure in omics
10+ are unnecessarily fragile and all too often either (a) silently fail or (b) return
11+ unhelpful information when failures occur. Eliminating these modes of failure in omics
1212development and analyses is one of the primary reasons the project was created.
1313
1414To that end, correctness should be considered the highest priority of crates in
@@ -22,11 +22,15 @@ unlikely to be widely adopted and used. As such, there is a high emphasis on
2222optimization and benchmarking for crates in the ` rust-seq ` stack. Changes that
2323introduce regressions in performance are unlikely to be accepted (unless the
2424case is sufficiently demonstrated that a new feature is worth the cost of a
25- performance hit).
25+ performance hit). Likewise, if a ` rust-seq ` create is created to provide
26+ or mimic functionality that is provided in a library within some other language
27+ (e.g. C, C++, Go, etc.), it is expected, in general, that the ` rust-seq `
28+ implementation will be similarly (or more) performant than the library
29+ providing this functionality in another language.
2630
2731# Contributable
2832
29- Crates in the ` rust-seq ` stack are designed to be contributed to be the
33+ Crates in the ` rust-seq ` stack are designed to be contributed to the
3034community. Though one individual may carry the vision for a particular crate in
3135the beginning, it should be possible for anyone to take a few hours to
3236grok a crate's design, develop a set of improvements, and then submit those
@@ -45,6 +49,11 @@ crates necessitates many common practices, including:
4549 largely by enabling the [ ` missing_docs ` ] ,
4650 [ ` clippy::missing_docs_in_private_items ` ] , and
4751 [ ` rustdoc::missing_doc_code_examples ` ] lints.
52+ - All crates are ** freely-licensed** to enable them to be adopted within other
53+ projects and to be used in the broadest variety of contexts. Thus, while
54+ different crates may adopt different specific licenses (e.g. BSD, MIT, etc.),
55+ crates with commercial, "free for non-commercial use", and "viral copyleft"
56+ (e.g. GPL) licenses will not be considered barring extraordanary circumstances.
4857
4958All of the above should be independently verified and readily reported by
5059continuous integration processes on PRs to ensure that contributors can iterate
0 commit comments