I'm following this up a bit from effulgentsia's post in this group about Acquia's influence, as well as some of the burnout discussions.
I'm mainly interested in core and the largest contrib projects here. However if I missed something feel free to expand scope a bit - I might edit stuff in if I miss it.
To start with, going to list the various ways I can think of that contributed work gets funded, in the second post I'll point out some of the ways I personally have been. The idea of this post is to look at the general ways that people's time finds it's way to working on core - both in terms of sustainability of contributions, and the ways that this might lead to particular kinds of influence on the core process.
- Contributing as a hobby, on top of regular work hours. Otherwise known as "instead of sleep". Not really funding of course.
- Guerrilla contributions
- Contributing as a replacement for facebook/ebay/solitaire while bored at work. This might potentially get you fired since you're technically getting paid to do something else, but it might also land you a nice Drupal job. If you have a Drupal job you may well check the issue queue in quiet moments and that sort of behaviour is probably why you were hired in the first place - i.e. if you're not doing it in the middle of an emergency or meeting then no-one's going to complain.
- Against freelance hours
- Take less paid work so you can spend time on core (assumes you are working hourly/as a contractor). This is not much different to 'free time', and may happen alongside it.
- Career building/professional development
- Working on core or contrib as a substitute for formal training and/or as a 'portfolio' to get a better job.
- Community time
- Several Drupal shops give one day a week (or some other amount of time) for contributions. This is the full timer version of 'against freelance hours' except the company is sponsoring it as opposed to an individual just cutting their own paid workload.
- 'Day job patches'
- You are doing your normal day job, and run into a bug. So you file a patch for the bug.
- Day job modules
- You build a module for a client, and put the code on Drupal.org
- Module as product/business lead
Company develops a contrib module or distribution specifically to drive business to them so pays for people to work on it. (I would put this in a slightly different category to contributing code in the hope of getting a job since that's a lot more indirect).
Someone with budget pays for flights/accommodation for several people to work on a particular thing for a week, doesn't usually pay for their time.
- Direct funding for focused improvements
- Someone with a budget has a particular issue (internationalization, scalability, accessibility, new feature) they would like to be worked on, so they allocate a budget for work directly on a contrib module (or set of contrib modules, or core). This is usually time-limited.
- Reverse bounty
- Put up a Chip-in and try to encourage people to fund something you think is important
- Long term sponsorship of work
- Something is so central to a company's needs that they pay someone over a long period to work on it.