Iain Poulson from Delicious Brains explains the risks of relying on third party libraries and codebases that are maintained by a single person. In the current discussion about JavaScript frameworks for WordPress Core, this is a timely question to ask.
Iain mentions Vue.js as an example. Vue.js is being discussed as a choice for integration in WordPress, but it’s a project run mainly by Evan You and funded by Patreon. That dependence on a single developer has raised some concerns about its suitability for WordPress — concerns that Iain shares. However, he notes the similarity between Vue.js and Ryan McCue’s Requests for PHP library, which was integrated in WordPress Core with “significantly less discussion.” Like Vue.js, Requests is primarily maintained by only one person — Ryan — but it also has far fewer contributors.
Iain’s argument is this: “heavy reliance on one person with so many active projects isn’t sustainable and is a potential flaw of WordPress itself.” That is not a criticism of Ryan, stresses Iain: “I fundamentally agree with Ryan’s position here [about Vue.js], but it’s the exact same argument that could have been levelled at the inclusion of the Requests for PHP library.”
What are some ways to address this problem? Iain suggests certain third party libraries and projects (like WP-CLI) can be “folded into a larger organization like WordPress itself.” Finding ways to reduce the “bus factor” around the primary developer is critical too. If the developer is hit by a bus or disappears tomorrow, how can the project live on?
Ryan responded to the post, with a detailed post on his own, noting that there’s a difference between the libraries he maintains and the risks in adopting Vue:
I agree with the central premise of the post: projects with a bus factor of 1 are generally not suitable for production use, especially at the scale of WordPress. With that said, I think there is a significant difference between the libraries I maintain that are in core, and the choice of a new JS framework for WordPress.
He goes on to clarify several more things based on Iain’s post.
And while we’re at it, you may as well also hear from Evan You himself. Sarah Gooding did a good profile on the project, and got comments from him directly on the WordPress JavaScript framework situation. I’d recommend you just check that post out in full.
There has been much healthy debate around this topic, but I honestly think the chance of anything but React going into WordPress core is minimal. The existing projects using React, in addition to core team member familiarity to it (yes, including Automattic developers) is just too strong a weight in favor of React.