How I can help PhantomJS development?
If you get a lot value from PhantomJS (business revenue increases, your spouse is happier, lucrative job offers keep coming) and you have a lot of time/motivation/money and you plan to contribute back, what can you do to help this project?
This meta issue is a starting point for the discussion.
Off the top of my head, triaging the existing and incoming issue can be crowd-sourced rather easily.
Examples of such activities:
- Stop everyone who is doing "+1". It's noisy and annoying. The
Subscribebutton should be used for this purpose. - Similar to the above is the "Is there an update yet?" question. This digital equivalent of "Are we there yet?" has an obvious answer ("No").
- Remind everyone to stay on-topic. It's not helpful if the issue filed regarding "PDF zooming problem" is turned into "What's the best brunch place in San Francisco?". After all, who likes thread hijacking?
- A general question, code review request, build problem should be first posted somewhere else (Stack Overflow, mailing list, etc). See my response in e.g. https://github.com/ariya/phantomjs/issues/13846#issuecomment-168360955.
- Any report of crash of PhantomJS 1.x should be requested to be reproduced with PhantomJS 2.x. Even more important, there should be an independent way to reproduce the crash, e.g. a smallest test script. Lacking these two, we can't follow up the crash at all and the report should be closed.
@zackw who is been doing a lot of triaging probably has an idea or two. @zackw Feel free to chime in!
Does the PhantomJS project need money to move faster and more consistently? For example, I'm supporting https://pods.io/friends-of-pods/ and this link is a landing page with a short explanation of why getting businesses to pay some kind of a recurring monthly payments could be huge for keeping a couple of qualified devs focused on a project full time.
If we discover a suitable continuous build system (#13828) and its cost is not zero, then that's one aspect where some limited funding could be useful.
Other things you can do:
- Help us figuring out the best continuous build system. See #13828 for further details.
- Help us to set up a user discussion forum. See #13865 for further details.
Related to #14541 and the lake of contributors/time to work on this project.
I think a major problem with phantomjs development is the lake of contributors. In my opinion that's due to the difference between users skills and phantomjs technology stack: I think that most phantomjs users are webdev that dont use to work with C++ or QT, for instance I'm not a good at C++ and I barely know the basics of it but I intensively use phantomjs however that does not mean I can't fix minor issues.
Sometimes I would like to contribute but I dont have a clue on how to do it for instance #13797, I think it's simple to fix and that probably does not need a lot of work to fix it.
Well, I think the problem is "how to increase the number of contributors?" and I think that making access to source easier and having an internal documentation for contributors might help, the key is to have a way to train people to work on phantomjs. Today I couldn't find internal documentation, I dont know how the software is structured, I don't have a clue where to start with "hacking" phantomjs and I dont have a way to train myself.
@gsouf For specific discussion on lowering the barrier to contribution, let's have it at #14543.
@ariya i would like to help integrate an up to date version of ghostdriver into phantomjs.
what is the process to integrate ghostdriver changes upstream to phantomjs?
@jesg I'm not sure, we need to figure something out. Please open a new issue and let's discuss it!
@ariya have you thought about starting an indiegogo campaign to get funds necessary to help with the progression of the project?
The JUnit team managed to raise 50,000 euros to fund development of JUnit 5.
Other potential options are donating the project to Apache, Eclipse, Linux Foundation, or other similar organizations.