-
-
Notifications
You must be signed in to change notification settings - Fork 161
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
Add vision to the project readme and clean up CONTRIBUTIONS.md #366
Conversation
@mattwynne @aslakhellesoy WDYT about such a thing? Does this makes sense to you or is it just (too much) "bla"? @e2 Would a vision help you to understand the motivation behind "aruba" better? I want to try to start addressing the "issues" on a higher level. I know "visions" maybe on a (too) "abstract" level, that developers don't feel very interested in / not that comfortable with them since they're quite blurry. I tried to find a balance between abstract / specific. |
Definitely! People want to get a "sense" of a project before committing. Without a vision 2 "bad things" can happen:
Developers are very interested in "abstract", or they wouldn't be developers. But they do want everyone else to be specific, so there are lots of challenges there. Especially helpful developers want problems expressed in specifics - at least something they can estimate/evaluate or even just "guess". E.g. There are 2 extremes in software development: designing rockets with "one shot only" or countless billions go down the drain ... and ... pretty much the web, where anything goes, as long as it's within budget. Anything. Those extremes usually have completely opposite rules. They're incompatible. So a vision helps people know which extreme they're on. E.g.: do they think this project a good thing to get involved? Or does it have "more bureaucracy that for nuclear silo software" and isn't "exciting enough" ... or is it "too chaotic, unstable, hard to plan things through, and agree to anything longer than a day". A vision also shows how (and if) a team is committed. Because it may not be fun to be the only one committed. Or, it might be the opposite - that contributors have to "prove" their commitment over a longer period of time. Which may also not be fun for "causal" developers just "flirting" to see if they can improve something here and there without being "married" to a project. Some want the community, and neglect the code. Some just want to coding to "escape" something ... and neglect the community. Neither is wrong or wrong if there's some kind of valuable contribution going on. Also, projects go through different stages. So this might be the "right" stage for someone ... or not. It might be good to jump in now. Or, it might be better to just "wait". Or it might just be better to fork off and maybe someday see if there's enough "overlap" to make something useful. Developers are constantly asking themselves questions like: "should I bother with this? Or will it backfire?". Any info that makes the above clearer can only help. |
Given what I said above, here's what this tells me:
And my thoughts/reaction:
I don't know if that's clear from my side, but it's my take based on just those 3 points. |
…nderstand how we work in this project
@e2 I think it'll be ok if users are not interested in all of those 3. If only one is suitable for them they might be interested to get involved. :-) I'm quite happy that you start working with that energy on Based on your other feedback I tweaked some more parts of our "documents". WDYT about those changes? |
I added a new milestone org-1.0.0 to keep track of improvements the organisation of the project. |
You have two groups of people to communicate to here:
So for everyone you want to explain "what it's like":
You also want to "hint" at what kind of people are involved, especially when it comes to contributors. For users, you want to let them get a sense of what "support" is like. Can they ask for help, to what extent, how quickly will they get a reply, are they met with patience, friendliness, kindness, etc. You have to pretty much decide what kinds of users you want, because you can't please everyone. Contributors want to quickly "judge" whether PRs will be a pleasure or a pain in the ass (from their perspective). Being "unclear" means people will just assume the latter. So listing your "priorities" for accepting/rejecting patches helps people get PRs right the first time. E.g. you might want to hint what's more important: fixing bugs vs contributor experience vs quality of documentation. (There's no "right" answer here). |
One suggestion: discriminate heavily. (Sounds bad, I know - but it's essential). Decide on what users/contributors you DON'T want. You don't have to write about it - it's just so people have a consistent experience and know what to expect. It's only fair, because if someone isn't a good fit, at least they're "warned" they're going to have a hard time. Also, people who "fit" are going to spend less time worrying how they're going to be treated. E.g. "I just want to fix some documentation - will they accept my patch or will they be too busy working on other stuff?". Based on what you wrote, the answer would be a strong "yes". And, e.g. "I'd like to quickly add an API specific for my project - will this be possible without forking?" and the answer will likely be a strong "no". And that's fair, because instead of working on a PR, they can just open an issue with a question to "get a sense" if there's a chance the PR can get accepted and on what conditions. Discriminating is good, because everyone is super-busy these days. Trying not to "exclude" or "not hurting" anyone only means you end up rejecting and "hurting" everyone. |
We would like to understand the reason behind the change in the future. Using this kind of style makes it easier to use tools like `git log` and the like.
To make the lived culture written down.
Thank you very much for your helpful feedback. |
Summary
Add vision to show why we do things in the aruba project.
Details
This PR adds our vision to explain why we work on aruba. To explain why we add features and why implement them in the given way.
Motivation and Context
This should make it easier for new cucumber's to understand our motiviation. I added this after a discussion with a user. Please also see this issue #361.
How Has This Been Tested?
No, this IS the test. If this doesn't work, we can remove it from the readme.
Types of changes
Checklist: