The grants committee was originally founded to use some of the PSF's "spare" money to advance Python projects. It wasn't initially clear what kind of projects where to be funded, hence the original call for projects was fairly wide. In the call, we indicated that we would give away $40,000 (which was a significant fraction of the PSF's assets at that time); in response, we got over 60 project proposals. Many of them were designed so that they would consume the entire $40,000, yet the committee agreed that we would like to fund more than one project.
After the reviews, we ended up with three projects:
- $1500 to Ilya Etingof, for implementing SNMP (the Simple Network Management Protocol) version 3 in Python
- $27,000 to Gregory Wilson, for creating a course "Python for Engineers"
- $10,000 to Brian Zimmer, for moving Jython forward.
With several delays both on our side, and the recipient's side, the first two projects were completed.
PySNMP does now support SNMPv3, and can be obtained from
Greg's course is also available online (as all intermediate versions had been), at
Brian Zimmer found, in the middle of the project, that he couldn't continue to work on Jython, since he got a job that filled his time. By the time that happened, he had already completed part of the project, so we agreed that the milestones that were already done would receive the funds according to the initial working plan; these were primarily:
- implementation of new-style classes
- close bugs and apply patches
- implement PEP 302
- release Jython 2.2
Some time later, Frank Wierzbicki offered to take over maintenance of the Jython project, and the PSF board agreed to offer him the remaining funds. This project is still on-going.
While the initial time plan for the grants committee (call for proposals and review) worked out fairly well, it turned out that the follow-up activities had significant delays; many delays due to inactivity on my part. From the PSF side, the projects were primarily managed by Kurt Kaiser (as the treasurer) and myself; things that caused delays were
- Coming up with contracts. It was difficult to work with the lawyer to set up the text of a contract, as I had never done that before.
- Monitoring deadlines. The contracts defined deadlines by which reports were due and, then, subsequently, payments had to be made. In practice, we did never consider these deadlines; instead, payments were made in response to the reports. In several cases, this was also due to delays from the recipient's side, when a milestone took longer than expected.
- Reviewing reports. I'd like to thank Paul Dubois, who reviewed Greg Wilson's progress reports in a timely and effective manner. Still, there were some delays in making the payments.
It's not clear to me whether and how the grants activity should be continued. A number of aspects should be considered:
- Number of committee members. If this process is repeated, the number of reviewer should be larger, and committee members should be expected to follow-up until the project is completed.
- Objectives of the projects. We (the PSF members) should first define more precisely what kind of projects we would like to see happen, instead of giving submitters the freedom to offer whatever they want to do.
- Frequency of calls. I learned that the Perl Foundation has an ongoing application process, where people can apply for a grant any time they want. Every 3 months the incoming proposals are reviewed, and a fixed amount of $5000 is distributed among the applications. This would produce more smaller projects, instead of few larger ones. Alternatively, the PSF could fund selected large projects.
At the last member meeting, there was a debate whether the PSF should fund the development of free software at all; if not, we should discuss what we want to do with the money. Alternatively to grants, it would also be possible to hire people to do certain activities, just as we did with the Advocacy Coordinator.