Modding, Mission Design, and Coding > FS2 Open Coding - The Source Code Project (SCP)

More SCP dev comments on github issues would encourage outside contribution.

(1/2) > >>

Hi it's ETP again with another Big Idea, I hope I've not used up all your patience for those yet.

Looking over the issue tracker lately, I’ve been struck by how many issues have little to no SCP comment on them besides tagging. If I’m considering contributing code, then looking at the tracker gives me a lot of ideas for things that could be done but no idea if those things would be at all welcome to the SCP. It’s happened in the past that I’ve undertaken a feature idea and only after submitting code discovered that my approach didn’t mesh well with what the SCP wanted, so that gives me a lot of pause about starting to work.

So, my proposal is that the SCP should make it a goal to not let any feature request or bug report go unanswered. If each active team member makes were to even just once a week look at the oldest issues without any comments or with only non-scp comments, and add their view to just one of those, I think it’d catch up with the current issues plenty fast.

And those comments don’t need to be definitive finalized verdicts from on high, just even a hint of if the idea seems sound to you, or if you have misgivings. Or if it’s entirely out of your wheelhouse and you have a hunch who knows that area better, comment saying that and tagging that person! Anything at all to give some SCP side context. And if it’s an issue that’s been assigned to you for a while, adding comment about what your status with it is, why you assigned it to yourself, or even just unassigning it could be very useful too!
I know that personally this would increase the odds of me picking up a feature to implement, either mine or someone else’s, and I suspect I’m not the only one.

For context, 105 of the 230 open issues have no comments on them, with the oldest ones being from early 2016, and 18 of those 105 have assigns too. More still of them have comments from the submitter adding information but nothing from the SCP. It’s a big mountain, but again, even a tiny trickle of input from the dev team on these would help notably I think. For outsiders it is very very hard to know what the SCP’s intentions and desires are, which makes pitching in somewhat daunting.

I'm not sure I see this as the large issue you do, there's a lot of conflating here between bugs and feature requests, which are very different situations so I'll handle them separately.

For FRs, there is usually little to say because rarely are features a fundamentally bad idea. Geomod is not a fundamentally incompatible and terrible idea in FSO, its just way more work than is likely to get done. I assume you aren't advocating that every FR get a "I do not oppose this feature" from every active SCP member? You say "It’s happened in the past that I’ve undertaken a feature idea and only after submitting code discovered that my approach didn’t mesh well with what the SCP wanted, so that gives me a lot of pause about starting to work." but this sounds more like an issue with the implementation, than the idea. Something that belongs on the PR, not the FR. If they think the feature is a fundamentally bad idea that you shouldn't have even attempted in the first place, then yes, they absolutely should've posted that on the FR first, but has this really happened before?

For bugs, there is also very little to say. Unless someone finds something lacking in the report or is unable to replicate, the situation is either "I haven't touched it yet" for which there is really no need to comment, and "I have fixed it" which is reported in the form of a PR, rather than a comment on the bug report.

From your examples, In my opinion, it seems like this would merely add a lot of useless comments to sift through when actually trying to look at issues, being buried in other SCP members who have no idea wtf the issue is about saying "I have no idea wtf this issue is about".

Probably the best way to handle this issue would be to add an addendum to the contributor guidelines, that explains how to maximize the chances of your code being accepted, if it doesn't exist already.

The short version would be:
1. Is it reasonably efficient
2. Is it modular
3. Does it maintain previous non-buggy behavior
4. Does it keep retail behavior as the default
5. Is it stable and tested
6. Does it avoid hackish implementation
7. Is it readable.

#6 is the hardest to pin down. Basically, make sure that you manage all data properly.

Any SCP coder can add to the list, too.

I think it’s true that I didn’t make enough distinction between issues for bugs and issues for other things. The bug triage board and the status messages it generates are decent at letting people know what’s up. I do kind of think if a bug has been on the pile for months without any notes about the reasons why it’s given the priority level it has or added info from coders, it’s less than ideal, and leaves anyone experiencing or reporting that bug wondering if anything is ever going to be done, though. And if you’ve had a bug assigned to you for months, a notice about status and reason is useful! There are cases where it would make sense for a newcomer to stick their nose in and offer to pick up a bug from an overworked teammmber, and cases where that would only make more work for everyone. “Self-assigned sept 2020” gives zero insight into which it is unless someone tracks down and asks the person in question.

As feature requests and proposals specifically… I have seen or had FRs and PRs closed and denied entirely because the requested/submitted feature was deemed undesirable, not just the implementation. Its not common, but it happens. And that’s fine, good even! Some ideas are bad, counterproductive, or plain redundant in ways that are not initially obvious to the person who came up with them.
As well, many FRs (many of mine for sure, and I would expect a decent portion of others too well) include at least high level implementation suggestions, and SCP members often have a different perspective on what’s good or bad there than outsiders. Again, that’s normal and overall good.

Now perhaps an FR not being closed in rejection or not having changes suggested should be considered a tacit acceptance after a certain amount of time, but I personally don’t think that follows too well. I think it’s more likely that people are busy and commenting on FRs can fall down low on the priority list.

If I’m thinking about picking up a feature to implement, the possibility that someone on the dev team has a strong opinion about it that won’t be expressed until it’s in PR stage gives me pause. Maybe that’s just a me thing, I don’t know. But while it may seem like noise to you, to me having comments from coders like “This seems worthwhile if someone has the time” feels like a decent preliminary green light, or things like “I don’t know this system but I think @m!m might have a useful opinion” give a lead for someone to start asking questions to get that green light. If the only comments are “I have no idea what you’re talking about or if it’d be good” then that’s a sign that maybe the proposal was a bit half baked and maybe needs to be workshopped on discord some I guess? Having no comments but the label assignment just leaves me entirely wondering if anyone has even given it more than a moment's thought.


--- Quote ---I assume you aren't advocating that every FR get a "I do not oppose this feature" from every active SCP member?
--- End quote ---
Certainly not. I think a single 'sounds good to me' is useful, but I don't suggest that everyone needs to comment on every FR. My intention was to suggest every FR should probably get at least one dev comment before it's idk, a month old? But not that every dev needs to weigh in on every issue. Maybe if all you have to say is '"I do not oppose this feature" it's worth tossing it out into discord or such to see if anyone else has anything more insightful to say, and if not, then at least it can be upgraded to "Myself and [other people] don't see anything wrong with this." But needing only one dev comment is a big part of making it realistic to catch up and maintain.

I think you have very reasonable concerns, but I'm not sure I can say much other than that this "worst case scenario" (literally no one says anything until you've PR'd it and the PR gets shut down) is pretty rare, and possibly colored by a particular experience? (Although I honestly don't know what that might be)

As with all contributors, even outside of SCP contexts, the far more likely than not situation is that you care more about this thing you want to add more than anyone else (hence why no one else has done it), and so when no one says anything on the matter, its because of ignorance. We don't know, so we can't say much for or against the idea. We can make smaller-scale judgements and critiques based on general programming knowledge, but these are usually minor and never make or break a PR.

If nothing else I would certainly say its very bad form to shoot down the idea of PR, despite not having said anything for sometime on the FR that requested it.


[0] Message Index

[#] Next page

Go to full version