I'd love to quit my job! (sort of)

by Gregory Brown

UPDATE: Okay kids, now it's 50% fantasy. It's up to you to cover the other 50% by donating and spreading the word, after reading my proposal. Here's hoping for the best!

UPDATE: Though my original post was 95% a fantasy, I've received some funding offers that have brought it down to 75% fantasy. I will be documenting any planning I'm doing towards via a wiki called RubyMendicant. If you'd like to follow this on the bleeding edge, keep an eye out on that wiki. Otherwise, if you hear an official announcement within the next few weeks, you'll know I decided to take the plunge, and if you don't, then it's safe to assume this idea went the way of the dodo. If you like this idea, please spread the word through the usual means of the intertubes by sharing this post and the wiki link with others.

Here's a crazy idea I just had, and I'm wondering what folks think about it.

People do open source for a lot of reasons, ranging from pragmatic to idealistic. Some write a patch every six months or so, others do what they can to dedicate their life to it. Though I try to have a life outside of software, I'm definitely more on the obsessed end of the spectrum when it comes to contributing to open source software.

I find myself in a rather unique situation: Single, living alone in a small studio apartment, only taking a class or two here and there, and basically living off of small contracts. It's not that I'm not offered big gigs, or that I couldn't go back to school full time if I really wanted to, I just find I enjoy living a simple lifestyle that lets me spend a lot of time on community oriented projects, especially Ruby stuff.

Right now, I need to do some work each month to pay the rent, and slowly save up to make sure I don't get evicted during a slow work month. Between BTree and Madriska, I could say that I have two of the most open source friendly commercial relationships I've ever seen. Though I'm working on real projects with them, things that have to actually fit some sort of business need, they give me a lot of leeway to improve open source software while working on them, Ruport is pushed along heavily by this.

I could see myself doing that for a while. Working with a few different clients I trust, who in turn hook me up with interesting projects for a variety of companies in various different domains. A lot of it might be Rails work, but not all of it is. Still, in a moment of idealistic fantasy, I thought of another idea:

What if I could just do open source for a while, non-commercially?

How much would it cost for me to do at least 80 hours a month of development on software projects such as PDF::Writer, Ruport, and some other projects I wish I had the time to get my hands on?

I did the math, and the number came out low (subjective). I could meet all my expenses and save some money for about $2000 a month. Basically, if 200 people donated $60 right now, I could take 6 months off and do nearly 500 hours of work, and that's only if I didn't find myself obsessed with and doing extra hours on a project. I could more-or-less maintain my lifestyle that I have now, but not take on contracting projects that are either too big or too small out of necessity. Sure, this works out to be a lot lower than my contracting rate, but I could hack entirely on open source projects, maybe write some documentation and articles, and still be able to afford a class or two a semester. Sounds beautiful to me, though I'm sure it's just a fantasy.

Indulging me for the moment, how would I remain accountable to anyone who supported such a venture? I'd make it transparent as possible. I'd record public hours, with links to changesets, tickets, blog posts, whatever. Though people would have to accept good faith (with at least a roughly outlined plan) as to 'where I direct the time', they'd get to see every bit of 'where the hours went'.

What prevents this from being a total scam? You do. Though I don't have some A-List reputation, I still make my living based on my reputation as a developer and a contractor. If I somehow totally screwed people who supported such an effort, all it would take would be enough negative feedback from the community to prevent me from getting away with dishonesty.

What would indicate a great success? If after 6 months, this all worked out, and I was interested in doing it for another 6 months, if people funded it, we'd know they actually liked what I did the first time around.

Finally, this doesn't have to be me. It could be any old hacker you choose, someone you trust that's working on things you're interested in. They'd tell you how much it'd cost to have them quit their day job for 6 months, and hopefully people could pool resources. Though the open source community is kept alive by small day to day contributions, we all know the power of having someone dedicated to a project with copious free time.

I'm talking in theory, because obviously there are some complications. If I personally were to do this, I'd need to cycle out of some projects, and figure out to what extent it'd piss of the people I work with. Still, I am sort of curious, is this an idea that belongs in the trashbin, or should I open up a pledgie account for donations? :)

Maybe this is something that could be done on a trial basis, such as '40 hrs over 1 month'. This is something I could do without putting a close to all my work. Given that, based on my needs (not my billable rate), that'd be um... 10 dollars from 100 people?

On the one hand, this seems almost like a joke to me, a sort of 'wouldn't it be nice if...'. Still, if some respected Rubyist wanted to steal this idea, undercut me on the price, and ask people to start donating, would I be among them? You bet ya.

Let me know what you think. I've tried so hard over the last few years to find ethical and practical ways to work in open source development, and they pretty much work. But because of that, I've mostly ignored the idealistic ones, and this is just a shot in the dark at one of those.











36 Comments

Jeremy
2008-03-03 10:21:20
I've wanted to do this since I wrote the Humble Little Ruby Book. I lived off of donations and my wife to write that, but I've always thought working on OSS full-time would be awesome. I work at one of the most OSS friendly companies now, so I can't complain, but it would still be cool. :)
JEG2
2008-03-03 10:37:12
I feel like removing my job from the equation would also remove a huge motivator.
nap
2008-03-03 10:42:14
I don't think this is the least bit unrealistic, and I've kicked around a few ideas for how to structure such a feat in the past. I'm not sure donations are really the best way to handle it, or rather, the term to use to refer to it... It's more like having many small-time stakeholders in a project's success, all of whom you're accountable to on some level. The real questions have to do with the extent of that accountability and how to set expectations accordingly.


I think there's a tremendous value, for instance, for companies who are using something like (in your case) Ruport, to support the development of features and bugfixes that they explicitly need.


OSS is still, in the grand scheme of things, a relatively new shift, and it'd be good to see more committed developers able to make a living off of doing what they love. It will happen. It's just a matter of getting the right paradigm for it in place. It already happens when companies like EngineYard or Sun hire up Merb, Rubinius, JRuby, etc core developers, but there's no reason why we can't provide some sort of framework for solo developers to succeed also, without the need for one overarching employer/sponsor...


Great post.

Gregory Brown
2008-03-03 11:15:45
@Jeremy,


Thanks for sharing your experiences. The Humble Little Ruby book is a great example of the things that could come out of good natured effort and sufficient free time. I just wish it were a bit less of a sacrifice to do such things sometimes.


@JEG2,


I guess I'd need you to clarify what you mean. Do you mean your job motivates you to improve open source software? I think this is certainly true, that real work definitely primes the pump, and not just through direct funding but through exposure to new ideas and also 'real' work.


However, in my experience, my job has provided for me a back log of ideas and 'real' problems that I would try to solve if I had the time in my schedule to sit down and put the dedicated effort into it. Some things, which require rather large, concentrated effort, are more difficult to approach than 'add a feature here, fix a bug there'. I think I'd use time like this to work on stuff like that, the more big picture, or long term growth stuff.


For now, I bet I could come up with enough ideas from my backlog. If I managed to clear those out, I imagine that one possible way to keep this exposure to the real world would be to seek out interesting software problems in the non-profit sector, maybe even for established open source organizations that need help. This way, real work is being done for a good cause, and the community benefits from the results while distributing the economic costs.


If you're saying that the fact that you make x amount of dollars for N amount of hours in your work, and that's a huge motivator for you, yeah, I can understand that. However, I've never personally had that kind of motivation. I actually intentionally don't spend a lot of my time trading my work for money. I make as much as I need to, and commit to the projects that most closely fit that balance, but I never am motivated by the potential to make big money any given month. In fact, I always get excited after the fact when that happens, because I don't even think about it ahead of time! I suppose it is rather peculiar to say I'd rather not be getting paid for my time, if it means that I'm not picking the tasks.


@nap,


I'm already going down the road of pay-per-feature in Ruport when it arises. The problem is that it's always going to be just what that job requires, and though my employers are cool... they still like to make money at the end of the day. My response to JEG2 also applies here... pay-per-feature makes it very difficult to work on the more radical, experimental, or really complicated stuff that isn't a direct business need. For example, how many libraries out there do we use even if we don't really like their interface? I now maintain one of those!


Though I'm able to find time to work on PDF::Writer to fix bugs that are annoying me or many others, it's going to take a lot to get me on a track to provide the kind of redesign and rethinking efforts that used to be so easy to allot time for when I lived at home with family and was an unemployed high school student.


It's true that with enough passion, I could probably do what I've done before, work... work... work... and sacrifice a social life in the process. Many of us benefit from people who do this kind of thing, but the wonderful thing about an idea like this (if only a fantasy) is that it'd allow me to maintain a work / life balance and still make a major contribution to something I care about.


Thanks for sharing your thoughts.

Philip
2008-03-03 12:24:49
I can't remember his name, but one of the FreeBSD developers did exactly this. Poul-Henning Kamp maybe. He proposed a list of features to add to FreeBSD and if enough people committed to giving him a "salary" he would do it. I can't remember how well it worked out or not. I believe he did do it for awhile at least.
Gregory Brown
2008-03-03 12:35:52
@Philip,


Hey, thanks a lot for pointing this out! I found what seems to be the announcment:


http://people.freebsd.org/%7Ephk/funding.html


Hmm... I wonder what the results were like for this. It's tempting to see what would happen if I just put together a preliminary announcement that asked whether people would be willing to support my effort (after seeing a general plan) and set a minimum funding amount like he did.


Though I must say, Poul-Henning Kamp totally has more cred than I do, I wonder to what extent that'd be a factor in things...

Craig
2008-03-03 12:52:54
One of the things to consider is potentially 'falling out of the loop' with your current projects and contacts. If you were to go away completely, or become more unavailable to the people that are currently working with you and giving you work, what happens if your project fails, or doesn't work out as well as you hope.


Will your livelihood pass you by during the experiment?


An interesting idea though.

Daniel Franke
2008-03-03 13:12:48
You can count on my $60 if you decide to take the plunge.
Gregory Brown
2008-03-03 13:41:47
@Craig,


Totally reasonable concern to have. In my case, I find it amazing, but I can say 100% percent of my work has come by recommendation from contacts within the open source / academic communities.


If anything, I'm thinking that a project like this would only serve to increase the number of offers I get, assuming it wasn't a failure on bad faith.


But you know what, you definitely could be right. It just doesn't worry me so much. That's part of what puts me in a somewhat unique situation, my life is pretty flexible in general, for the time being.


@Daniel,


Sweet. If I heard similar pledges from 19 or so more people, that'd in theory put me 10% of the way towards the goal. At that point, I'd definitely consider drawing up a proposed outline of what I'd do with the time (after thinking about it a bit) and open up donations and see if we could reach 50% of my goal, which would secure 3 months of work or so.


I'd love to hear suggestions from folks about how we might be able to make this happen. I'm still in the stage of thinking of it as just a fun dream, but I'm open to taking more practical steps forward if there is support.



Lori Olson
2008-03-03 13:47:23
I think it sounds great, so if it works out, make sure you tell the rest of us about all the ups and downs, ok?


Seriously, though, I think the only way to really do this sort of thing long term is to get/be involved in a good/popular open source project, and then get companies who use the software to pay you to work on it. But you need to be selective, and make sure the work proposed is what you, and the community, already think belongs in the master plan.


Good luck.

Gregory Brown
2008-03-03 13:54:11
@Lori,


Thanks for your words of encouragement. I've actually not found any difficulty finding work that benefits a popular Ruby project I'm involved in (and was the initial author of), Ruport. In fact, Ruport came into existence out of the needs of BTree Technology, and continues to be improved through the efforts of various people working on projects using it, and most of my commercial work involves it in one way or another.


What is quite difficult to have companies fund you to do, but is of immense value to open source in general is infrastructure work. PDF::Writer needs a complete rewrite to be done 'right'. It'll be rare to find a company to dedicate an employee to that when you can slog through most jobs with the current solution or work around the problems. It doesn't mean that there aren't a ton of people already paying a little bit each day through their frustrations using this software.


For the record, let me say that I don't know if I'd pick that as my task. It doesn't sound nearly as fun as my commercial work! But there are plenty of things like that which I'd love to tackle, given the opportunity.


I don't see how the needs for those things get met in the current model of things, except when someone with inspiration and a willingness to sacrifice gets it done. I've seen a lot of people do that, and have had a taste of it myself, but can't help but wonder if we could do it in a less heroic way. Something that seems a bit more balanced and reasonable couldn't be all bad.


I guess we'll have to see how things go... though.

Eugene
2008-03-03 15:01:40
Life as a CyberMendicant is a very interesting challenge. The big issue is whether you choose the project or those who sponsor you choose them. A halfway point would be that you post a short list of projects that you would be prepared to undertake, then let people pledge amounts that they see fit. Like an auction, you'd select the first one that reaches your reserve. How publicly transparent you make the process is part of the design challenge.


Whichever way you choose, BEST OF LUCK!

Daniel Berger
2008-03-03 18:24:30
Perhaps it's time to bug Tom about adding a donation link to RubyForge again. :)


http://rubyforge.org/tracker/index.php?func=detail&aid=388&group_id=5&atid=104

skeptictank
2008-03-03 19:56:44
Pretty much all of us want to do this. The paying job gets in the way of getting important things done. But if we all quit and go on some sort of donation basis then that's not going to work either, is it?


I've decided to stick with my boring job for a few more years while also saving as much money as possible and avoiding debt completely (debt is slavery). Then when I've socked away enough money to live on for a couple of years I want to quit and work full time on "projects" (open source, mostly).


I would suggest that sound money management lies at the heart of this freedom dream. Live as frugally as possible. Stay out of debt. Save as much as possible (and more). Sure time is money, but money also buys time. One of the best money books I've read is "Your money or your life" - highly recommended.

Gregory Brown
2008-03-03 20:06:52
@Dan


You know RubyForge doesn't accept feature requests. :)
We try hard enough to fix the broken stuff!


Seriously though, it's not a bad idea. It breaks my heart to create more work for Tom at any point in time, but if you want to ping him, please do!


@skeptictank,


It's less about my individual freedom than it is about having the unstructured conditions present to help some of the problems that are present in Ruby *right now*. A few years from now, some of the big holes in Ruby that haven't been filled may have already turned enough people away.


I'm not disagreeing with your points, I'm just saying, I'm not so much asking about the sustainability of such a plan, I'm just wondering if the experiment would be worthwhile. If everyone took this approach? I have no idea if it works. It might. Pay it forward is a pretty powerful concept. Still, I think there are more than economic considerations about that... many people have a desire to build a secure financial base because it's getting to be about that time for them. Me, I'm in an in between stage right now, I don't think I'll see another opportunity like this in the near future, if I don't act soon. All it takes is a family to make something like this quite risky.





Daniel Berger
2008-03-03 20:23:09
Hm, what about allowing adsense on our project subdomains? Or can we do that now?
Gregory Brown
2008-03-03 20:44:13
@Dan,


I don't think there is a policy or technical burden in place. I've never looked into it because I hate displaying ads.

skeptictank
2008-03-03 21:07:32
"All it takes is a family to make something like this quite risky."


No doubt. Though if you can find a wife who makes good money... ;-)


Even without a family don't forget this: there's You Now and there's OldAge You. You will need to support OldAge You unless you're planning to die young. Better be putting some money away for OldAge You even now - in fact the earlier you put away money for OldAge You, the easier it'll be.


"A few years from now, some of the big holes in Ruby that haven't been filled may have already turned enough people away."


Not to worry: there will still be some holes to work on in Ruby in a few years. Or, if not, there will be some new language then that you really catches your fancy that will need some holes patched up. Plenty of people have been attracted to Ruby over the years holes and all. Some of 'em stick around and patch up holes that annoy them. Others get impatient and go find another language or project - but of course they'll find annoying holes there too.


Gregory Brown
2008-03-03 21:36:21
@Eugene,


CyberMendicant... hehe, classic. I made a wiki page for planning this called Ruby Mendicant in your honor. ;)


Though I don't think I'll have dollar amounts tied to different projects, I will certainly have some compromise involved in who chooses the work. I will probably make a big list of things I'd be willing to work on and ask people to show their support for what they view to be most important.


This wouldn't require donating, because I don't want to create bidding wars. I am mostly targeting the folks who want to see something happen for the good of the community, preferably to their own personal gain as well, but the point of it being non-commercial is that I'm not selling my services to the highest bidder, rather trying to find a way to be generally helpful.


@skeptictank,


You make good points. As far as 'OldAgeMe' goes, I'm young enough where I can spare six months on just about anything and it won't harm me. At 22 years old, I'm not terribly concerned at the moment about preparing for the 40 year plan. Maybe dying young wouldn't be so bad either... it'd let me avoid that pesky mid-life crisis that might lead me to try something like this when it's *really* a bad time.


As far as the holes, I'm sure you're right. I think it's only that right now, I'm really, really well acquainted with several annoying ones, and I have a lot of dirt to fill them in with, I just need help renting the dump truck. I think a few years from now, my life will be too cluttered to have this sort of unique opportunity.


Anyway, I appreciate the words of advice, it is not taken lightly. These are definitely risks I will have to consider, though... I am still curious to see if there is enough interest to at least see this thing as a theoretical success. :)


nap
2008-03-03 21:40:03
Eh, "careers" are dead (and overrated) anyway. Long live the artisan class.
Peter Cooper
2008-03-04 05:33:52
I would be happy to contribute to this, and perhaps even promote it on Ruby Inside.


I have vaguely considered a similar idea for developing the "ultimate" Ruby reference book (a Bible, if you will) and then making sure it's freely licensed (Creative Commons, for example). So I wouldn't make any money out of it and people could finally have a really great Ruby book at cost price (or free, if they wanted a PDF, etc).

Gregory Brown
2008-03-04 09:18:35
@Peter,


Endorsement on RubyInside would be fantastic! At this stage, I really am just trying to get this idea out to as many folks as possible so that either they will rally for support or talk me out of it. I started a wiki where I'm doing planning:


http://rubymendicant.wikidot.com


It already has some loose project ideas on it.


An ultimate Ruby reference book sounds awesome, I hope you do it!


-greg

Peter Cooper
2008-03-04 09:47:00
Greg: Best of luck with this! Before I can endorse this publicly (that is, ask people to give you donations, etc) it needs to be a bit more formal. I know you're still in the planning stages :) But once you're at the "This is what I'm going to do, and this what I need" point and have the mechanism in place, I think you'll attract the support (and money) you need within a week or two, as long as people have a vague idea of what areas you'll be working in (even if they change.)
Gregory Brown
2008-03-04 09:48:54
@Peter,


For sure. I'll ping you when I have an official announcement ready.

Roger Pack
2008-03-04 10:58:19
where do we donate? Can't seem to find a link on that wiki page...
Gregory Brown
2008-03-04 11:56:01
@Roger,


I am still asking simply for informal pledges. People willing to promise some money, while I plan things. I said somewhere on the wiki or here that if I get 10% in pledges, I'll open up a donation link.


I am just about at that point now. I'm about $300 short of being to the 10% mark based on commitments I've received via email. If I get a few more people saying they intend to support this, I'll open up a pledgie drive so people can start putting money in.


-greg

Donnie Berkholz
2008-03-04 15:14:20
I like the idea of open-source sabbaticals, perhaps for stretches of 3, 6, or 12 months at a time. In academia, sabbaticals generally result in a pay cut for the time people are on them, but they are a chance to do full-time research rather than being distracted by other responsibilities such as committees and teaching.
Brandon Fouts
2008-03-04 19:53:07
PDF writer?


You might well get Novell/SUSE (even RedHat? or Ubunto) to hire you for a year for such a project - I wonder if SunOffice group or OpenOffice group hire people?


You just make sure, it states "open source" and you would of course post project and all the code under GPL anyway.


Just a thought. And not to forget Google gives what 20% ?? free time to do what ever you want.

Gregory Brown
2008-03-04 20:08:47
@Brandon,


With respect to Google, it's the other 80% of the time I'd worry about. And your suggestions are nice, but, I feel better knowing that a community, rather than a corporation, backed me. Despite our post buzzword phase with open source, I think there is still something to be said for grassroots efforts. I've seen the other side of the fence, and the grass is green there, but, I don't want to forget my roots.


PDF::Writer is just one option. It's my least favorite, because it's a bit of a special need. I'm definitely thinking fixing RubyForge or doing Ruby 1.9 compatibility work on various libraries would be more helpful to the general community. I'm collecting ideas informally on a brainstorming page here:


http://rubymendicant.wikidot.com/brainstorming-page


It's not that I'm trying to downplay the corporate role in open source. I'm simply thinking that given my general attitude on things, there is no need to appeal to a company if could go directly the community itself and appeal for their support. The distributed contributions would hopefully bring people joy knowing they invested a little to help things out a lot.


Daniel Berger
2008-03-06 15:13:59
You know, one thing that hasn't come up in all of this is RubyCentral. Who or what is it funding exactly?
Gregory Brown
2008-03-06 15:19:49
@Dan,


Well, the conferences, mainly. But actually, I've done a codefest funded by RubyCentral a couple years ago!


They also announced, and are working on putting together a program to help fund worthwhile Ruby projects, when people apply for grants.


In the mean time, I've pinged them privately to see if they'd be interested in working something out with the plan I've roughly outlined here... If something comes of that, I'll be sure to mention it when I can.


-greg

Daniel Berger
2008-03-07 08:12:50
@Gregory,


I was under the impression that the conferences actually made money these days. Is that not correct?


If they are going to start funding worthwhile libaries, I'll definitely have to put in a request for Win32Utils. :)

Gregory Brown
2008-03-08 11:28:16
@Dan,


I think you're right. Ruby Central also funds RubyForge though...


If your question is 'where is teh money going?', I'm not the right person to ask... David or Chad or Rich are, but I trust their intentions.


Daniel Berger
2008-03-11 18:44:01
Looks like RubyCentral stepped up. Excellent!
sageb1
2008-03-13 10:24:15
talk to richard stallman and ask him how free software endorsement led to him being the head of the non-profit FSF.


you will have to do more public speaking though, as a spokesperson for open-source Ruby.

Gregory Brown
2008-03-13 10:29:40
@sageb1,


I've talked at new_haven.rb several times (when it still existed), NYC.rb, Boston.rb, International RubyConf 2006, MountainWest Ruby Conference 2007, and RubyEast 2007.


I plan to continue to do public speaking, but I did a lot of it in a short period of time and felt a bit burned out.


We'll see where things go in time.


-greg