Phantom.js Maintainer Steps down, Leaving Project's Future in Doubt
Vitaly Slobodin, the maintainer of the popular headless website testing framework Phantom.js has decided to throw in the towel, leaving the project's future in doubt.
Phantom.js is often used as part of automated testing of websites due to its headless nature. It's based on WebKit and can perform a number of tasks such as DOM manipulation and taking screenshots.
With Chrome 59, Google is offering a similar product that is likely to be widely adopted by developers. Paul Irish reached out to the Phantom.js team to see if they'd be interested in using Chromium as a runtime target. But, Slobodin noted that "PhantomJS heavily relies on Qt and QtWebKit. It's not that easy to adopt Chrome as a new runtime." He added, "We don't have resources for that. Chromium's code base is much more complicated and bigger than our current tree."
PhantomJS creator Ariya Hidayat seems to have hopes for PhantomJS on Chromium:
I am confident that it could finally serve as a very good back-end for PhantomJS. It would be interesting to see PhantomJS returns to its original form (when it started, it was simply an app utilizing QtWebKit) as supposed to bundling its own engine. Even better if other engines (e.g. Gecko, Edge) start to offer a similar library so that PhantomJS users can switch between those engines.
Looking at the GitHub contributions, Slobodin appears to have taken over primary developer of PhantomJS in mid-2015 while most of Hidayat's contributions came before that. For PhantomJS to continue, the project will need to find someone to step up and take over active development. For his part, Hidayat is optimistic. In an interview with InfoQ, he says the project will go on:
Vitaly has done an amazing job in the last few years. We just need to make do with the situation. Hopefully some of us (the existing contributors) or even a new contributor will continue Vitaly's hard work.
Whoever does take over will inherit a big challenge. As of this writing, PhantomJS has 1,801 open issues.