-
Notifications
You must be signed in to change notification settings - Fork 125
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
Create negative examples folder #270
Conversation
There has been discussion of why "recursive fields" is an anti-pattern, using the Assessment-plan/tasks field as an example.
This is an anti-pattern because taken together those two requests are inconsistent. The The second user story should have been satisfied by defining a |
@davaya we never push new work to main branch or develop branch without discussing the proposed changes with the community under a feature-* branch. The community needs to provide their perspective as well to what is considered 'anti-pattern' or bad practice. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please follow the guidance in the comment left above in this PR.
Thanks - out of 21 branches there is one feature-* (simple-network). It propose a starter system diagram but no OSCAL content that would characterize or assess that system. A "hello world" system example sounds like a great idea that anyone could relate to; the idea of best practices (and anti-practices) for designing the OSCAL layer models themselves (as opposed to OSCAL files) seems like a more limited audience. But I will replace this with a PR against a "feature-oscal-modeling" branch if a maintainer creates one. |
Although I don't agree with the premise of this PR, I don't see why a feature branch is needed in this or similar cases, since community members can review a PR based on a personal branch just as easily as a PR based on a feature branch. Both allow community members to comment or suggest changes in the same way. Using personal forks in this way is a widely accepted practice in multi-organizational open source development. Requiring a feature branch to be made first is just more work and required coordination with no real value in collaboration or review. It will result in less contributions due to the extra work involved. This would not be a good outcome. As a community we should be working to reduce inertia to maximize community contributions and review to the greatest extent possible. What extra value is a feature branch providing here? |
For all - guidance has been published in the OSCAL repo for all related OSCAL repositories: https://github.com/usnistgov/OSCAL/wiki/Contributing-to-OSCAL--development-and-maintenance#branching-for-contributors. The decision was made by the team long ago and I would greatly appreciate if community members respect it. I do not need to elaborate here why the team decided to enforce it, but removing work approved and merged to I would like to suggest also, since this issue of generating "anti-pattern" or "negative but valid" examples will be very controversial one (based on the extended dialog in OSCAL Lobby but not captured here), to also create an associated issue or a discussion. |
The discussion #273 was initiated. |
@davaya - The branch has been created: https://github.com/usnistgov/oscal-content/tree/feature-antipattern-negative-examples |
Closing this, migrating to feature branch. |
Committer Notes
This PR establishes a folder to hold examples that are currently valid (as of OSCAL v1.1.2) but illustrate problems that should be fixed in future versions. It includes the first such example, an Assessment Plan illustrating a self-cycle in the
tasks
field that permits recursive data, contradicting the goal of models being DAGs.All Submissions:
Changes to Core Features:
This PR does not propose a core feature of OSCAL, it proposes an update to the CI/CD process. The user story is: