We have been using 1.0rc at Surfly.com for quite some time now and it has been very stable for us.
Thanks to Aaron Westendorf, Alex Gaynor, Alexandre Kandalintsev, Alexey Borzenkov, Anton Patrushev, Chris Meyers, Colin Marc, Daniel Farina, Danil Eremeev, David LaBissoniere, David Martin, Eugene Pankov, Geert Jansen, Jan-Philip Gehrcke, Jeryn Mathew, Johan Mjones, Jonathan Kamens, Luca Wehrstedt, Marc Sibson, Mark Hingston, Matt Iversen, Matthias Urlichs, Neil Chintomby, Ralf Schmitt, Saúl Ibarra Corretgé, Shaun Cutts, Vitaly Kruglikov, Wil Tan, Yichao Yu, exproxus, kconor, philipaconrad, Örjan Persson, 陈小玉.
Is there any interest among the companies to fund gevent development?
I’d love to employ myself as gevent maintainer.
For the past year, gevent was funded from my savings. Currently, I have to do consulting, which takes away time that could be spent on gevent development. I’d rather work on gevent and if you depend on or plan to depend on gevent you probably prefer that I work on it as well.
If you’d like to sponsor gevent, send me an email mentioning how much you’d like to give and we’ll make arrangements. For me as well as for each individual sponsor the whole thing makes more sense if there’s enough money raised to cover a year of full time or at least a year of part time. Thus, before we finalize the agreement, I’ll notify you about the total amount offered and what it covers. If there’s enough for a year, you’ll get a commitment from me not to accept projects/job offers that will interfere with my gevent work for the next year. If there’s not enough, I will tell how many weeks/months I can commit to and it’s up to you whether to proceed.
You can treat me as a contractor: I have a legal entity set up here and will provide invoices and other paperwork necessary so that you can write this off as a business expense. It also does not have to be a one-time payment for the whole year, per quarter or per month payments are perfectly acceptable too.
Funding is more than donating and is closer to commercial support. It cannot change my vision of the project, but you’ll effectively get a developer working on an important part of your software stack while paying only fraction of the cost.
Additionally, here’s what I can do for sponsors:
- priority help with the issues important to your projects
- put your logo/link on gevent.org homepage (for top sponsors)
- review your gevent-using code (actually I can do it for anyone who asks as I love to see what people are doing with gevent).
If you don’t care about the above but would like to donate to the project, I appreciate that too. Currently, there is no “Donate” button on gevent website, as many PayPal-like services don’t work with my country yet. Nonetheless, there are still ways to do it, send me an email and I’ll reply with the details.
I love working on gevent, it’s the most enjoyable work I’ve ever done and I will remain the maintainer. By funding you can help boosting gevent development and increase its chances to become de-facto standard way for writing network apps in Python.
The Stackless Python’s ideas page for GSoC 2010 includes a gevent-related project.
The proposed idea is to enhance gevent’s core to
- support Stackless Python in addition to greenlet
- support non-libevent event loops
Stackless Python is an enhanced version of Python with microthreads built-in as well as other interesting features, like microthread pickling and thread-safe channels. The core function is similar to greenlet, which is a switching functionality from Stackless packaged as CPython extension. Other features of Stackless are not present in greenlet which is why it is desirable to port gevent to Stackless.
There are open source implementations of synchronous I/O for Stackless but they are not as comprehensive as gevent’s, which implements a compatible subset of the standard library and provides a way to patch the blocking functions in place.
Successfully undertaking this project would require deep understanding of Stackless API and gevent internals as well as having a good sense of design to keep things simple while making them more general.
Feel free to ask about this project on the gevent mailing list.