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.
- Sleep
- 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).
- Sprints
-
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.
Comments
OK so my own contributions
OK so my own contributions have come mainly from the following places:
Sleep :(
Guerilla contributions. When I first started working on core, I wasn't doing either Drupal nor even web jobs. I managed to persuade two different jobs to let me set up Drupal for internal sub-sites so I could play with it on work time, and some (quite a lot of) core patches got reviewed in the process. I now get paid hourly so that particular source of 'funding' is no more.
Have not actually worked anywhere with regular community time, this is mainly due to always working for Drupal shops in different countries - so I'm pretty much always a contractor even if 'full time'.
Against freelance hours. Pretty much since I started doing Drupal work I've tried to keep hours as low as practical to allow time for core, this has probably worked out in the long run in that my rates have gone up several times over that period (not sure if that would've happened the same way if I'd been focused on billable work entirely).
Career building. When I first started working on core I had no intention of working on web sites for a living, but did use it as a way to pick up PHP. Much later on I realised it was potentially leading to a career change (but was still mainly doing it to learn, same as now). Once I actually started doing Drupal work, then I justified working 20 hours/week based on the fact that getting better at Drupal via core contributions would end up getting me better work (which worked out a lot better than expected, wish I'd realised that about three years earlier than I did).
Day job patches. At Tag1 there are quite a lot of these since we're dealing with very large sites, and large sites still hit scaling issues with both core and contrib. Examiner there was quite a few between performance and general bugs (especially since that was mostly built before Drupal 7 was even in beta), did not have many when doing more general freelance work though. Since I've got more experienced, I've actively sought out jobs where this was likely to happen (see previous point).
Product/business lead - nope.
Sprints - I've attended two sessions of formal usability testing, and one taxonomy sprint at the Field museum in Chicago. in all cases expenses were paid but my time was completely donated.
Direct funding. Some day job patches have morphed into larger core projects: WebWise (a Tag1 client) partly funded the DrupalCacheArray patch, especially backporting implementations to Drupal 6/Pressflow. Acquia funded myself and Jeremy to work on the memcache 6.x-1.9 release via Tag1. Sony funded myself, Nedjo and Stella to work on i18n improvements in Drupal 6 via CivicActions. This is the point where under normal circumstances it would raise flags for me about corporate sponsorship, but in all these cases they have been the most 'pure' in terms of actual engineering - i.e. trying to make things work for everyone, so that's a tricky line compared to the 'day job patches' from that angle.
Mine
I don't work on core, but I have a couple fairly popular contrib modules and am about to dive into one that I hope will be very popular. :)
For me, much of it "Career building/professional development". I consider the 6 years I've spent working on Drupal, where 90% of it was unpaid (I did do a smidge of freelancing for a while), to be Drupal University. I'm building knowledge and community karma which will be useful when I'm ready to start sending out my resume, assuming this doesn't all go poof before then.
A big part of it, though, is simply the joy of helping others. That's a payment of sorts, I suppose. When I write something someone finds useful, that's a boost. When I solve someone's problem, that's a boost. I can't buy food with it, but it's spiritual food.
Michelle
i don't work on core, but
i don't work on core, but follow the discussions, tweet about things that seem to be interesting, teach drupal while traveling or just help fixing module bugs when developing with rules for example
I've been a member of the
I've been a member of the core development team for a little over 6 years, of which:
Here's how my contributions break down, according to your list:
Most of my contributions
Most of my contributions would fall under "sleep", but some (especially at my previous job) were guerilla contributions and day job patches.
I generally don't do much day job modules, mainly cause I don't wanna maintain them, but I have some stuff on (gist.)github.com that would fall under that category, albeit mainly jQuery plugins
Haven't really done much core work lately, which has a lot to do with the fact that I have less spare time at my new job and the fact that the politics involved make me ... well, not wanna do it...
I've also moved in with a really non-technical roommate, whereas I used to live by myself, so there's less "bored" time to fill...
Usually, I'll write/patch something at work cause I need it, and then make it commit-worthy on my way home or at home.
My main contributions nowadays would be IRC support, which I usually do during downtime at work, like when I'm checking out a repo or when I'm waiting on Photoshop to be done crashing :P
Hello catch.There are more
I think that it's not good to make comparison.
Freelance works that share with the community usually is a bigger step than the same work make by a professional from a big company.
Oskar
@oscar_calvo - this isn't
@oscar_calvo - this isn't about comparing various people's contributions, it's about understanding where the time that gets spent for those contributions comes from and how it may or may not be paid.
Simple
Against freelance hours: My entire core contributions were based on this. Most of my time was spent on reviewing work of others, ensuring that no shit hits the fan.
Day job patches: I once believed this would be possible for Drupal core, but turned out to be the single biggest misbelief ever.
Unless Drupal dramatically changes how core is maintained this won't be the case anytime soon, and core is slowly but surely reaching clinical death.
Core has no lack of contributors. Core is lacking maintainers who're able to review, rate, and correct all the s...tuff being contributed, and who understand the consequences of their changes. The current handful of people who're capable and actively doing this are anything but sufficient to cope with the load.
Daniel F. Kudwien
netzstrategen
Mixed
I am sure others are able to delineate their days better but the way it happened for me, we kind of agreed on some core time and we had deadlines for tasks and then I worked on some task and on core meanwhile and even slept whenever I could. So I guess the answer is sleep / Guerrilla contributions / Community time stirred in a pot but it was not until my last months at Examiner we actually set aside a day for core work.
sprints also kind of happened. NowPublic (and even more so Examiner -- bigger the company, more the money, who would've thought?) springed for the plane ticket and then we solved lodging one way or another.
This is an extremely
This is an extremely important discussion to have when it comes to planning for Drupal's sustainability, thanks catch for all of your insightful posts around this topic.
For me:
I am interested but ...
Sleep :
Yes, most of my contributions fall under this category.
Module as product/business lead
Yes, I worked on developing few frameworks with some big branded companies built using drupal.
When it comes to Professional part: I wrote a lot of modules (integration interfaces, extensions etc), patches etc which purely had some contractual obligations with our clients to contribute back to the community. In general, Most of the employers in India dont sponser for events, community contributions etc - DrupalCons, Modules, Patches etc.
So, here people hardly get a chance to explore such areas.
Sree