As an open source project maintainer myself, sometimes we drop the ball too. I know it’s taken me a couple of months to approve a PR and answer some questions. Mine’s all volunteer work for me, and I don’t know if the maintainers of WPIlib are paid to do the work they’re doing. (If it’s their day job, that’s one thing and they might be dropping the ball. If they’re volunteers, they just might be busy with other things.)
Unfortunately it looks like there’s no obvious way to directly contact them. After a bit of digging, I can see some alternative ways.
Probably the “best” thing to do would be add a comment to your own PR asking if someone could review it. It should send an email to all maintainers of the repo. This has worked for me on balls I’ve dropped on my project.
An alternative is I went to the WPILib docs, and at the bottom of the table of contents is a “Report an issue” link. It goes to the docs repo. You could file an issue there saying yours and a few other PRs are open on Shuffleboard’s repo and if anyone knows if there’s a delay and why. (It looks like several of the same people are on the few WPIlib repos I’ve seen.)
Probably the last resort would be… Commits using git are always signed with an email address. GitHub lets you do it through an anonymous email to reduce spam (which is what I do) and most users that have committed code do that. After looking through several of the most recent users, I only saw one address for @PeterJohnson on a commit from May. (Email is in that link, I won’t include it here.) If you go this route (probably the worst and the spammiest method), I’d be apologetic about going this route but say you found this email in the repo and was wondering if he or someone else could help resolve the PR.
I’ve found the best way to contact maintainers of open source repos is to either (a) comment on the existing PR/issue or (b) open a new issue. Sometimes things get overlooked during busy (or dead) times.
Good news! A lot of the of maintainers are active both here and on Discord.
To slightly plug the discord server for topics like this… here’s a discussion between two maintainers who live on opposite sides of the world that just happened 5 minutes ago:
Open source is awesome.
Also it’s definitely a volunteer gig. But imagine what it could be like if a few sponsoring companies paid folks to work on it full time .
I’ve really been enjoying experimenting with Shuffleboard in the off-season; it’s got a good codebase and a I think it’s a neat approach (in particular, I like how it offers both GUI setup and programmatic setup, giving students the opportunity to take the approach they’re most comfortable with).
You should be able to just click here: https://discord.gg/frc - it’ll walk you through setting up an account if needed, but otherwise add the server to your list.
Just to add a bit more depth to what’s already been discussed. WPILib is developed/maintained by an entirely volunteer team (the only exception I’m aware of is that some WPI students have occasionally gotten summer stipends for work on the project). It’s also a very large project with relatively few developers, so unfortunately large parts of the project have only 1—or in some cases 0—maintainers.
In particular, several of our desktop tools (including SmartDashboard and Shuffleboard) do not have active developers/maintainers. In general, these tools were originally developed by WPI students as capstone projects, but after graduation, they moved on to other things and no one has come in and taken up the mantle. This means both that there’s effectively no active development, and there’s almost no one who knows the internals of the tools well enough to provide good reviews of PRs. That being said, if you’re interested in contributing over the long term to Shuffleboard, it would great to see it become “maintained” again.
Note: our current long-term roadmap has Shuffleboard being potentially replaced by a web-technology dashboard, but that’s in no small part due to the fact Shuffleboard is unmaintained. Particularly if a maintainer steps up, we would be unlikely to drop it (as shown by the co-existence for many years of SmartDashboard and Shuffleboard). It’s relatively easy for us to keep distributing dashboards even if they’re not seeing new feature development, with the main downside being potential user confusion over what dashboard to use (there’s a Venn diagram of dashboard features).
This may be off topic - but wpilib is currently a major piece of the frc control system ecosystem and I don’t think I’m exaggerating when I say it is mission critical to frc as a whole.
Who do we need to pressure to have wpilib supported at a level that is appropriate given its importance to the program?
The thought of having a major piece of your flagship program be maintained exclusively by the whims of college students and volunteers is terrifying to me.
Well, while this completely paints me in the camp of “peter johnson stalker fan club”, there’s some pretty solid talent on the team currently:
And many others with cool titles and day jobs (Tell me about them! Sorry I’m trying not to get too stalkerish and post ya’llz stuff on forums but tell us if you want! Ya’ll are cool cats!)
Still, how to keep em all in place and ensure there’s a legit succession plan going on… yea, I’m not sure either.
My honest opinion is that I wouldn’t necessarily trust HQ to own and release the library themselves… it’s just too far out of their swim lane today to own this style of a software project and keep the quality up. For the short-to-medium term, better to have a role dedicated to curating the stream of volunteers coming in the door, and official recognition of work done, and heavily relying on that natural leadership and hierarchy that seems to have already evolved.
It’s still crazy to me that by literally just throwing that group of people in a room, folks naturally evolved into their specializations and collectively know when/whom to ask about things. I think that could keep going, especially if the one paid person at the top is solely responsible for getting the talent in the door, and enabling them to do their thing.
“Use labview” is ultimately the safety net I suppose.
Unfortunately, even that is inadequate. NI backs LabVIEW for FRC, but it’s a lower priority for them (idk if it’s due to management decisions or budget limitations). They’re mainly focused on “keeping it working” instead of new feature development. A thirdparty developer ended up porting WPILib’s 2020+ controls stuff to LabVIEW.
For the record, I’d like to see that change for the better, but that’s up to NI.
Fair. It’s the ratty tattered barely held together safety net. Get the robot moving, not much more.
EDIT: Not a discussion that should be happening in this context.
I didn’t mean to imply that FIRST and WPI are uninvolved with what’s going on at WPILib–they certainly keep tabs on things on a weekly basis and help with continuity of the overall vision and alignment with other control system developments.
Historically (early on, circa 2007-2013 pre-open-development) there were WPILib development and contributions by paid individuals at FIRST and WPI. The downside was that the development pace was fairly slow. The project has grown much faster (features/capabilities) as an open source community-driven project than it ever would have with paid developers. As a comparison point LabVIEW has corporate support, but there’s minimal development of new features.
That being said, it definitely is a risk as volunteers do come and go based on other (including family) commitments and other interests. I think the broad risk mitigation here is that it does have a lot of community interest in continued success, so new volunteers would likely step up if it starts to fall behind. Also in general things don’t often majorly break with lack of maintenance, updates/fixes/pace of development just stalls. If it got to the point where releases weren’t actually getting done, I believe FIRST and WPI would step up to at least keep the lights on, but as long as things are going well, there’s not much incentive to change the current approach.
It’s also worth noting that WPILib does have a pretty darn good test infrastructure for catching regressions and ensuring that old features at least maintain baseline functionality. The track record for keeping old stuff working is pretty good; it’s just that the old stuff becomes obviated by new stuff, whether official WPILib tooling or else community projects (that may eventually become official tooling if they see sufficiently-widespread adoption).
Re: Shuffleboard, and the future of WPILib dashboards/telemetry in general, I suggest you give this design document a read. Nothing in it is set in stone, and if we can maintain Shuffleboard and fix its status as abandonware (as well as, potentially, improve some of its nagging performance issues) then so much the better! It really does just take someone willing to do the work who will keep in touch with the rest of the devs.
Sigh. And here we go again. No, it is not ratty-tatty barely held together. It has many built in features (PID, etc), and is only really lacking the built in features that have happened in WPI in just the last couple years like swerve, and trajectory creation / following. Even those have numerous community examples of having been done and are available on github, though of course they lack the documentation present in WPI. In the case of swerve, there are numerous examples as well as a complete YouTube video set explaining how to do it.
So while LabVIEW may be currently behind the ‘state of the art’, it’s not all that far behind. And as pointed out, nearly the entirety of the WPI lib has been ported over, so the WPI documentation for that stuff pretty much applies.
Do I wish it was better supported by NI? Yep.
Is it a bit of red headed step child right now (no offense to red headed step children)? Yep.
Is it perfectly capable of producing championship level robots? Yep.
I am not directly involved in programing the robot, but I have been around since the early days of the RIO. WPLIB has improved greatly over the years. Thanks to all who maintain it regardless of your motivation. It is pretty amazing.