-
Notifications
You must be signed in to change notification settings - Fork 52
Revise wording to better convey the purpose of SPECs #280
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
Comments
I am in general ok with this idea, but it is hard to say for sure without seeing a concrete PR to review. My main concerns are:
It would also help it you (or anyone who sees this issue) could point at some concrete problems the SPECs are causing. For example, a PR discussion where someone is trying to pressure a project to adopt a SPEC or to follow a SPEC too exactly. One idea I had was to use the 'Ecosystem Adoption' section of the SPECs to explain that the reasons and considerations a project may have when considering whether to adopt a SPEC. For example, One concern is these sections could get long and complicated if we try to list all the reasons a project might want to adopt or not adopt a SPEC or instances when a project that adopts a SPEC may for a specific release or set of releases want to fo something different. |
The idea behind the SPECs is that many projects face similar concerns and now each project has to decide on what guidelines they should adopt for their individual projects. For example, maybe a project wants to implement lazy imports. Without SPEC 1, each project could survey other projects to see if or how they implemented it. I've done that many times for projects I work on. It seems like it would be nice to have that information in one place. I also am not going to read a long convoluted document. So I want something short and easy to follow. We should say these are recommended guidelines. Not requirements. We've tried to do that, but it seems that people still view these as requirements or rules. A recommendation is "a suggestion or proposal as to the best course of action, especially one put forward by an authoritative body." A guidelines is "a general rule, principle, or piece of advice." I think that makes sense, but maybe we can water it down more if people are still viewing these as laws or requirements. |
English is a foreign language to me, but I had always assumed "guidelines" to be a weaker, looser form of "rules", something closer to advice than something to strictly follow. In any case, I think the last paragraph in the "description" section of the purpose and process document is very clear:
However, I don't think everybody learning about the SPECs is going to read that document (and the link to it is easy to miss), so this could use some more visibility. Maybe by adding a explaining paragraph to the main page? In particular, both the above and a explanation of what "endorsed by" means would be important (contrasting it with "adopted by", which as far as I understand it is something very different). I don't think renaming "guidelines" to "recommended guidelines" (or something similarly complex) would help a lot, since to me that would be much more confusing. |
To me it's simple, we need to define the words like EU does for instance here: https://european-union.europa.eu/institutions-law-budget/law/types-legislation_en Otherwise we are bound to an endless discussion around semantics, etc. |
Let's not take this too far. I think what @keewis suggested is a good idea: include that paragraph on the main page, directly at the top. Otherwise, a recommendation is always something I should try to follow. Everybody likes to follow recommendations, right? OTOH, this discussion revolves only around SPEC1 (lazy imports), so maybe this "recommendation" could be treated separately? E.g. a category "special-purpose SPECs for very specific use cases" (of course this shouldn't be the literal title)? All other SPECs can be recommended to any project in contrast to this one. |
It applies to all the SPECs. I don't use SPEC 0 for all projects. For example, the lazy_loader package doesn't follow SPEC 0. It still supports Python 3.7. The SPECs are meant to be basic recommendations. Each project will always need to consider when to follow them and when to not follow them. For SPEC 0, some of the endorsing core projects don't intend to follow SPEC 0 exactly. |
I like the two PRs you made @jarrodmillman – simple and clean, but IMO they add what was missing before! |
See #280. @cbrnr Would you mind suggesting a sentence or two (more if necessary) providing some concerns projects should consider before adopting this SPEC? --------- Co-authored-by: Stefan van der Walt <[email protected]>
Following up the discussion in scientific-python/lazy-loader#70, the way that SPECs are presented on the Scientific Python website can be misleading. It puts some (a lot of?) pressure on packages to adopt all SPECs, at least that's my impression. Since this is not intended, I think some modifications to the website might help clarify this. Here are some examples:
These are the things that I think could be easily improved. I can make a PR, but I think it makes more sense to discuss the changes here before that.
The text was updated successfully, but these errors were encountered: