diff options
-rw-r--r-- | weld-design.md | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/weld-design.md b/weld-design.md index 3d56243..8af9b01 100644 --- a/weld-design.md +++ b/weld-design.md @@ -39,10 +39,10 @@ Send questions/comments/suggestions to <wwoods@redhat.com>. * _Packagers_: Integrate upstream source into the distribution. Add / maintain Dependencies and other metadata and enforce Distributor policy. - Decide when to pull/tag upstream changes/releases. Sometimes also Developers. + Decide when to pull/tag upstream changes/releases. + Sometimes also Developers. * _Release Engineers_: Compose and distribute Builds, Images, and other Objects. -* _QA_: Responsible for developing and running integration tests and functional - tests. +* _QA_: Develop and run integration tests, do functional tests, etc. (Generally *not* responsible for unit tests; those are the Developer's responsibility.) * _Distributors_: Maintain the distribution as a whole; decide the contents of @@ -76,6 +76,9 @@ Send questions/comments/suggestions to <wwoods@redhat.com>. ## REQUIREMENTS +This is a high-level description of the various tasks that each Role needs to +be able to perform to have a viable Fedora-like product. + ### Minimum Viable Product requirements: * _Distributors_: set/apply policy about build output (`%{_docdir}` etc.) @@ -177,9 +180,24 @@ Send questions/comments/suggestions to <wwoods@redhat.com>. * Instead of working around problems, let's design better solutions * Be bold, but not foolish - * Design solutions _for the people who will use them_. + * Design solutions _for the people who are going to use them_. * Do your research. Newer isn't always better for the task. +### Software is a social endeavor + +> Programs must be written for people to read, and only incidentally for +> machines to execute. + +-- Harold Abelson, "The Structure and Interpretation of Computer Programs" + +* Practice nonviolent communication! + * "Be Excellent To Each Other", but with more empathy + * See http://j.mp/nvc-oss-notes +* Have appropriate processes for discussing and documenting changes + * Like Python's PEPs, Rust RFCs, etc. +* Be able to censure or remove people who won't behave + * But hope that this never happens + ### You don't have to please everyone * Make something that works great for you |