About the Grants Committee
As some of you probably noticed, from my post in TPF blog, there were no grant proposals in the last six months. I am not sure how to interpret this lack of interest in grants. But there are some ideas that come to my head:
- People do not need money :-)
- People prefer to do things by themselves, without any schedule or pressure;
- Nobody uses Perl anymore
- Everything Perl needs is already on CPAN
- The maximum amount of a grant ($3000) it not paying anything
I am not sure if there are other reasons. But I would love to hear comments (constructive comments, please) about this issue.
I must say that the less grants proposals we receive, the less I need to work. But I volunteered, and it would make me happy to have interesting projects running.
I am afraid that Perl community won't benefit from my grant work, and it's not very right thing to ask for the money (in my case), so I just hack on my own :D
I think the grant limit is an issue. I have projects I could submit, but I think they'd take too much of my time, and $3,000 just wouldn't cover it. Basically, I think I'd need to be able to take weeks or a months off of my job to get done what I'd like to do.
I very strongly considered submitting a grant for improving the performance and internals of DBIx::Class, but stopped short for the same reason as vti. I do not believe this will be a wide benefit to the perl community, and as such it doesn't feel right to ask for funding. Perhaps a "mission statement" clarifying the scope of grants won't hurt.
A smaller issue is the grant size - I did not have in mind grand plans like autarch, but I can easily see this being a month of work. $3k/month is rather limited.
"improving the performance and internals of DBIx::Class"
I'd vote for it =)
I can only ensure that the "Nobody uses Perl" isn't the reason.
More, after the Perl 7 debate ;-)
My perspective:
I've heard mention of grants before. I envisioned them as projects like Nicholas Clark or other full-time p5p hackers have. Something that takes considerable expertise and time to complete and which requires people to be able to not work on an other fulltime job for months at a time, so they can concentrate on the grant.
I could not think of anything that would fit these parameters and which would actually be long-term enough for me to risk breaking off current work relations.
Now i hear that i had it all wrong and a grant is 3000$ per grant. That means i was on entirely the wrong spectrum, and due to a lack of my own research, but also due to a lack of marketing on the matter, had no clue what grants are actually about.
Further, with 3000$, which are above half, and below the total of my current salary, i have to wonder what the purpose is. They won't enable anyone to actually take time off their daily job and put it into perl, especially if that person has a family. They would do the job fine for someone living in a country with a considerably lower cost of living, or a student.
I've never heard of anyone of the former type doing much Perl work. (Maybe i am ignorant, maybe there are none.) The latter however are quite unlikely to apply for such a grant, since they'll be learning Perl. So, for most people who'd wish to do something, it's a bonus for working 50 hour weeks, or a second job?
Looking at http://www.perlfoundation.org/rules_of_operation i find a great many rules, but little explanation as to why any of these exist, which leaves me with little information about what the grants are aiming at.
Next i look at http://www.perlfoundation.org/completed_grants to see what grants have been made and find that there's quite a bit of variety and opportunity looking at the current eco system, but also a lot of material to read through in order to fully educate oneself on what is a good grant proposal. I guess that there are two reasons people are not applying for grants:
1. lack of human-readable and simple-worded explanation of what they are, why they are and how they are; as well as a lack of marketing to put them into people's awareness
2. people who already do things that could be grant-worthy, but have plenty job security to not need grants and do not wish to rob others of opportunities. (iow: people who are being too nice)
I would also like to note: It is probably going to be more productive to talk about how much grant money is available (perhaps do so in terms of total grants that could be taken), instead of talking about how little grant proposals are made. I'd think that is more likely to make people think that they'd do something about that.
As a side note, I work as an University Teacher in Portugal and get less than $1000 a month... but then, I probably should leave Portugal :)
Well, I'd love to propose a grant but I am not sure if the scope of stuff I'd do would be of interest. Here's some things that I am working on and work work on them more if I coould get some backup (money) to do it
1) Add better support for HTTP Methods, and alternative body parsers (such as JSON and XML) to Catalyst core. Right now this stuff is in extensions but given how much people using server side frameworks for doing AJAX, I believe it should be core, since it would be faster, easier for newbies and we could take advantage of the deep integration to better support RESTfulness, (like properly setting the accept type and the http options headers)
2) I'd love to extract the database sandboxing feature from DBIC::Migration and Test::DBIx::Class into something stand alone, so that people that don't want to drink all my koolaide could at least benefit from easy developer level database sandboxes
These are two things off the top of my head that I can think of. These are things I am working on regardless but if there was some money behind it I could justify spending much more time, (and I'd have time to improve the docs and tests, stuff I'm tempted to skimp on when I am exclusively on my own time.
Are these things grant worthy?
Johnnap
My experience (Alien::Base) is that (a) I bid too low hoping to entice getting the grant and have long since overspent my time on it (turned out the project took more work than I expected too) and (b) having the grant has forced me to keep my mind on the project, rather than letting it languish.
I would recommend people with interesting ideas submit a $3k project and try to aim for doing it in a few weekends. Perhaps propose the grant for your local perlmongers and make a project night of doing it in one (or just a few) nights, then share the proceeds.
Alberto, perhaps the application process could be streamlined? Maybe a github with README which addresses why it exists and current progress could supplement a tiny application asking for the money and the timeframe? Most of these projects will be itches that author's are like to scratch at some point and are likey scratching already but need some help ($) to stay focused.
A few months back run4flat and I floated an idea by email to TPF suggesting microgrants (bounties) placed on known nits. TPF would publish a list of nits and their monetary value. The first claimant would get the bounty. (Maybe this feature could be added to play-perl?)
Overall the grant process is useful, the question is how to get more people to participate.
Note that all is grant-worthy if it is related with a module used by lot of people. Grants do not need to be $3000, can be lower values too. That makes it possible to dissect a bigger project in smaller chunks. If you propose a big project, request funding for a first part, and you finish that part in time, it is natural that the committee would fund the next part :)
> The first claimant would get the bounty. (Maybe this feature could be added to play-perl?)
Sounds interesting, and completely in line with my future play-perl plans. But I'm not sure monetary bounties for tasks is a healthy motivator for volunteers. Science says otherwise.
My personal opinion regarding Perl Foundation money pool is this: spend it for marketing purposes. Buy Google Ads, sponsor conferences, print tons of posters and spread them at schools and colleges. I believe that would be much more useful than paying for grants to those who already do the hard work for free and are intrinsically motivated.
(I'm not sure if TPF donation rules allow this kind of usage. Do they?)
I can think of a number of numerical extensions for Perl that I would be delighted to propose. I am also close to a job transition, and may be able to leave my current job a few weeks early, and start the next job a few weeks late, if I won a grant and know that I have $3000 coming my way.
Unfortunately, I am not sure if I can argue that my extensions would be widely adopted. I suppose I could put in a grant, since it's now or never, but these are the reasons I hadn't done so yet.
> My personal opinion regarding Perl Foundation money pool is this: spend it for marketing purposes. (I'm not sure if TPF donation rules allow this kind of usage. Do they?)
If it doesn't, it should. This is one of the places where we need the most help right now, IMHO.
I am afraid to say that I would have to change countries before requesting a grant..
And that is probably not going to happen.
I live in a spot too expensive at the moment..
What is the aim of the grants the grants committee offers?
This isn't stated clearly anywhere that I can find. So I'm going to assume that the purpose of the grant is roughly "to enable work beneficial to Perl which wouldn't have happened otherwise".
Who are the grants aimed at?
This isn't totally obvious either. But, assuming that it's for developers already reasonably skilled in Perl, then pretty much everyone I've met is either in full time employment ("permanent" or contract), or full time consulting, their work is their principal form of income, and they don't have massive amounts of spare time.
Which means, I think that it makes sense to consider grants in terms of the above two. In the most base terms - would I want to apply for a grant?
So, what offer is the grants committee making me?
The assumption seems to be that money can be traded for developer time. This
is reasonable in the general case. But consider that we're aiming at full
time employees, or full time consultants. Is a grant supposed to be something
instead of existing work? Or something as well as existing work.
So,
Commercially, $3000 might represent one to two weeks' work. Say 1½. So to work full time, you'd need 8 grants per quarter to live off them. But given the 1-4 month approval lag, you'd need at least 8 pre-approved grants. But as each grant is $3000, it's sized as small milestone. So this is a massive waterfall.
$3000 is kind of like doing an agile iteration. Only this would be doing on iteration every 3 months, instead of every fortnight.
"Hey I have a week spare coming soon" - no, doesn't work, because of the 1-4 month approval lag.
Again - can you predict your spare time 1-4 months' in advance? And, if you can, do you want to wait that long to start, or would you rather do it now?
Many people (I think most) are contributing to CPAN because they find it fun, or because of a sense of "giving back". Money isn't a motivation. A grant comes with specific constraints, which may be seen as onerous. You have to plan in advance. Your plans are subject to public scrutiny. No plan survives contact with the enemy, yet the deliverables are fixed. You have to report to get the money.
This has taken a lot of fun out of it.
And is the money really a motivation? For the calibre of people one would
hope to attract, $3000 is not a massive amount of money. If they do need
$3000, then there are usually easier ways to earn it. (Overtime, if
available. On call, if available and pays a premium. Contract commercially
outside "work" time.)
So I'm not convinced that the grants system, as set up, really is that useful.
The one immediate change which might make a difference and I think should be
tried is to remove the quarterly call and implicit structural delay, and
instead process grant applications far more frequently, even as they arrive.
Yes, this might mean that a grant application "now" uses the last funds,
preventing acceptance of a better grant application two weeks later. But,
given that for the past 6 months there have been zero applications, this
doesn't look like it will be a problem.
About the only category of people for whom the timescales and money involved
might make sense is students looking for a summer job. Google Summer of Code
pays $4500 (in stages). If once again Google is unable to accept TPF as a
mentoring organisation, then I think that TPF should try to run its own using
the existing grants committee setup to vet and approve the mentors' recommended
student candidates, and sign off payments when they and mentors are happy that
work has been done.
I agree with many of your point, especially since I have lived several of them. I was going to work on Alien::Base regardless of being paid. I figured why not also get paid? Of course as Nick said the first contact with the enemy changed many things.
I have most of my deliverables, but Mac is being such a problem that I don't know for sure if I am going to get a fully satisfactory answer; should I declare defeat? I think eventually I can figure something out, perhaps with the help of CPAN testers; should I preemptively declare victory. Having to answer to someone is both motivation (useful) and pressure (possible not so useful).
I also want to concur with Nick about the lag. I think that many more people, seeing a coming gap in time might want to take advantage, but it means that they would have to (a) have an idea about an itch in advance (b) not accidentally scratch it too early.
Some more "agile" system would likely produce more dividends. Whether quick turnaround of individual proposals or pre-established grants awaiting claimants (bounties, see above) I think Nick is right, the lag is a major problem.
@tinita You get the first set of improvememnts for free fwiw: http://lists.scsys.co.uk/pipermail/dbix-class/2013-February/011109.html
Of course there is a lot more work that can be done, I'll look into applying for a grant for next quarter (or sooner if the rules change).
You missed as a point "People don't know that the grants exist" and "People don't think their ideas/plans are appropriate for a grant". TPF should probably advertise them more.
As Nicholas pointed out, the grants system is a bit arcane, and takes a fair amount of work and waiting, just to apply.
To everyone else: You'll never know if your idea/plan was good enough for a grant if you don't apply! Don't assume it isnt, ask!
Maybe there should be a simple pre-applying form where people can vote just for ideas, like 'Should I ask for a grant for this...?' and get responses like 'Yeah, that'd be great' or 'Nah.. this is just silly'. This is much easier to check for your ideas and not be too much depressed because of the 'no'.
Whenever someone is to submit a grant proposal, that proposal goes through one's "internal review" first. And in that internal review one asks yourself: "Why should I ask to be paid for what countless of others just CONTRIBUTE to Perl community? The Perl itself and tens of thousands of modules are literally millions of hours, hundreds of years of work just contributed. Why should I ask for pay?". This is the perfectly right question to ask. And this makes the one's internal review quite picky, and the result is what we see - no proposals. And, though surprisingly it may sound, this is the right thing.
To be financed with grant there must really be a tangible, important benefit to community at large that cannot be achieved without grant. And this criteria leaves VERY FEW things appropriate to be financed with grant.
And most important such thing is a highly skilled work of core development (in light of recent development that interpreters of other languages have underwent, e.g. that spectacular JavaScript performance race, Perl 5 still has a room for improvement), but there is already Perl 5 maintenance fund dedicated to this end. Apart from that there are very few things worth financing with grants that will be the right use of scarce contributed funds, and people understand that, so probably that is why there are very few or no proposals.
And that is how it really should be. Only the best use of funds will motivate people to contribute money in the first place. If funds are spent on minor projects away from core needs of the community, we soon end up with no monetary contributions, as contributors will see no results that their money are worth of. So the general principle is that grants should be spend on something that contributors of most funds would approve.
This is perfectly OK to support development with funds raised from Perl community contributions. The only requirement is spending those funds to make (or foster) real technological advances of Perl (since we all depend on it), not just spend money on Perl projects.