-
Notifications
You must be signed in to change notification settings - Fork 41
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
Differentiate "non project" repos #19
Comments
@HoverBaum Once again, many apologies. I had some issues with GitHub notifications a while back, and I've been embarrassingly bad at actively checking for open issues and PRs. I certainly understand the problem, and honestly I hadn't thought about use for non-code projects. I have a few repos that are for bug reports and experiments... personally, I've been using Abandoned for the bug report repos, and either Abandoned or Unsupported for experiments depending on the state they're in (essentially Unsupported if the experiment is a working example, Abandoned if it's not). But I'd be open to handling these cases more explicitly. I've been hesitant to add any more statuses... do you have any thoughts on expanding the definitions of some of the existing ones to explicitly include non-code repos? |
I also didn't think about the topic much after initially labeling all my repos. This idea comes from thinking about what repostatus really tells one about a repo and that I think is the phase of development in which a repo is. So repo status tells us where a project is in terms of being developed. Let me illustrate that some more in terms of what I think states stand for and how they are related. This state diagram should illustrate my thoughts some more. I see "Concept" as the first phase for any project. As such simple experiments could be just that, a concept. Then the status of a repo is divided into two groups of statuses based on the repo having ever reached a stable version or not. With "WIP" being the state from which to move from the first to the second group. Unstable repos Stable repos With these thoughts about what the repo statuses stand for and represent let me address my initial points again. 3 ExperimentsFor 3 I feel like experiments could very well be handled by expanding the definition of "Concept". Maybe it could stand for:
According to my model from above this would perfectly fit those cases. 1 Bug reposHere I feel like they are not really a project but in a way they have reached a stable state because the goal of them (showcasing a bug) has been achieved. Thus I feel the would fall into stable repos and would most likely be "Inactive" or "Unsupported" Maybe it would be good to expand "Unsupported" to include that the repo might have served it's purpose already. 2 non code repos like presentationsLooking at this with the understanding that repostatus talks about the progress in development and how far it has come I feel like they would probably all be "Inactive". I feel like some of my original thoughts were based on a not so precise idea of what repostatus is talking about in regards to my repositories. Maybe what I was really looking for is a way to provide even more semantic information about my repository. But maybe GitHubs "topics" fill that role perfectly. I could see them being used to add the information that this is not a code project repository but a collection of information or a presentation. Further thoughtsThe way I now think about what repostatus represents I feel that the aspects of "Inactive" and "Unsupported" which talk about how support is being provided feel like they might not really belong to the repostatus. But I would love to hear from you about this. Maybe a more sophisticated graphic about repostatuses could be included on the website to help people think about which status is right for there repository along with some more examples. |
@HoverBaum That was an utterly amazing, detailed, well-written post. I agree with almost everything you said, and I think you said a lot of it more clearly than I have. If you'd like to cut a pull request against the website to include some of this (either the graphic you used or another version of it, or some of this explanation as well), either on the index page or on a separate "logic" or "Concept" page, I wouldn't be opposed to that at all. Or do you think that perhaps - since I really wanted this to be a living project that incorporates the views of everyone who uses it - I should create a Discussion or FAQ or Examples page on the Wiki and make it easier for community involvement? I agree completely with your point that this is really about phase of development, and your diagram works really well in my mind, though I don't think I ever took the time to think about the transitions and diagram them all out. I also agree with you on points 1 and 3, Bug Reports and Experiments. I agree about 2, Non Code Repos, as well... I don't have many of them, and I think the ones I have, I probably haven't even put repostatus on. But yeah, I think my gut reaction would be to probably call most of them "Inactive" (or some other status if it fits better) and rely on something else for semantic information/metadata. I have mixed feelings about GitHub Topics... I think they're cool and useful for adding semantic information and filtering/searching/browsing projects. But at the same time, while GitHub has become pretty ubiquitous, there are still a handful of projects on other git servers... whether GitLab or project-run servers (like many of the big F/OSS umbrella projects), or non-Git SCMs... and the F/OSS lover in me really likes this being an open standard that's not tied to any one SCM or hosting provider. I understand how you're thinking with the Inactive/Unsupported possibly being separate from the actual status, and I suppose that on a technical, semantic level I agree with you. However as I mentioned in the blog post that started all this, my guiding goal was really to answer the questions that I often have when I come by a project on GitHub:
I'm happy maintaining this project, but I really don't want to be the person who makes decisions... I think that should be a community effort. |
PS - a GitHub search for code containing "http://www.repostatus.org/badges/" excluding my own repos yields 1,265 results. I really want community involvement in any non-trivial decisions... |
@jantman I am definitely in favor of having a community involvement though I am not experienced with this sort of thing ^^
That but the entire thing into perspective for me nicely. And I do think that adding more of an explanation to the website would greatly help us discuss about the future of this project as well as help other to use it. I will gladly put up a pull request as a base of discussion for this some time during the week. That should be a good place to discuss if this is the direction repostatus should move towards. wiki / FAQA place to collect examples of decisions could be of great help. Statuses descriptionAs we keep saying this should have a greater community involvement. For that purpose I opened #22 About higher involvement of more people: I am not really sure if issues and therefor GitHub in general are the best place for that because people basically don't really look at things other than their own issues. Maybe something like slack or gitter would be nice? Though longer posts in issues are better for cross timeline cooperation. |
Thanks to all for the input. Since it's the weekend I'm going to let this sit for another day or two in case anyone else wants to offer input, but I'll come back to it this coming week. As to slack/gitter, I agree they're good, but I don't expect many people to be so involved in this project that they'd stay in a slack or gitter channel... |
This seems to miss one status, that of "superceded". One other problem I see though, is that if a repo is moribund and the owner is not merging any PRs (as happened to me with the original "ICU.jl"), how are you going to get them to merge a PR so that their README.md has an "Inactive" badge? |
Wow, I guess I've let this one sit more than "a week". So... regarding your second comment, this isn't a solution to the problem of maintainers that throw away their computers, join an Antarctic expedition, or otherwise stop accepting PRs. Short of piling up Issues and PRs, I don't think there's a real solution to that problem on GitHub. This project aims to help maintainers who at least make a commitment to keeping the status updated (personally, I go through all my repos a few times a year and make sure the status is accurate). Regarding "superceded", I'd say that falls under the "moved" status:
Perhaps the wording on that could be fixed up a bit, but the intent of it is "go to this other URL to get this code", which I'd say would also be used in the case of superseded projects, forks that become authoritative, etc. |
I was thinking that for things like curated lists of packages could use these. Moved is fine for what happened with ICU, but with ICU -> StrICU, there's an overlap, both work on v0.6 of Julia, but only StrICU works after that, or with the Strs.jl package. |
Could the term "replaced" be sufficient to cover both the "moved" and the "superseded" cases? I realize it's not as precise, but there's some value in keeping the list of possible states short and memorable. |
I'm really not sure what to say on this discussion, so this is one of the cases where I'll just defer to the other users of this project... if I can get a few comments agreeing on what should be done, that's what I'll do... |
@waldyrious, replaced might be good enough 👍 |
I would consider my initial issue as closed with the merge of #25 . @ScottPJones @waldyrious if you feel that repostatus needs a new state or to rename an existing one I think it will be better to track that on a dedicated issue :) |
@HoverBaum agreed, it makes sense to track it separately. I just opened #26 for that purpose. |
This project is totally what I was looking for to finally organize where all my repos are at right now. Though I stumbled over a few repos while going through all of mine and adding statuses.
For all of these I feel like the current statuses don't really describe where they are at. Mainly because they are not traditional coding projects that aim for a release and production version.
So I would like to discuss the suggestions of adding something along the lines of
experiment
orfinished
.The first indicating that a repo is never meant for production though being a project in the traditional sense. A real world example: my department head had me build a OPA Framework to get to know the basics.
Finished could be used for things like presentations. While they are in a sense
Inactive
I feel like that doesn't convey the actual status of the repo but merely forces it into the current constraints of available statuses.The text was updated successfully, but these errors were encountered: