Capistrano had been my baby since mid-2005. It was a fun project, and all the more gratifying because it was fairly popular as a deployment tool for Rails applications. But this last year I’d begun to notice something.
I wasn’t enjoying Capistrano as much as I used to.
It had become a chore to work on. It already did everything we at 37signals needed it to do, everything and more. I didn’t feel any need to extend it, and yet bug reports, feature requests, and patches still trickled in. I began to resent each issue that was raised. I began to resent Capistrano itself, because it stood between me and other projects that I wanted to participate in.
And yet, Capistrano was my baby. I couldn’t just leave it! How can you just walk away from something that you’ve put almost four years of blood and sweat into? Is it even possible?
For months I’d been wrestling with that line of thinking, and also the idea that I “owed” the community something. I wrote Capistrano, I promoted it, I encouraged people to use it; wouldn’t I then be irresponsible for walking away?
The answer I finally came to was “no”. I owed the community nothing. I had made no promises. I had cooperated with them, trying to build a community around Capistrano, and that very success made it possible for me to walk away. There is an ecosystem there, potentially self-sustaining, with plenty of capable programmers who are able to carry the torch. (Whether they are willing to remains to be seen!) Capistrano, as it is, works fine for the majority of folks, and for those for whom it doesn’t quite work, the source code is available and they are welcome to fork the project and tinker to their heart’s content.
So, I walked away.
Overall, the response has been overwhelmingly positive, but I’ve received a little criticism from some people who believe I could have handled things more gracefully at the end. They suggested that instead of walking away, I should have appointed a successor. I’ve pushed back: appointing a successor works fine if there is a pool of people that are obvious candidates, but there was no such pool for Capistrano. I had been the sole developer on Capistrano since its inception. Sure, there were plenty of contributions, but there was nothing like the Rails “core team”, no one I could turn to and say “you’ve been a huge help, would you mind taking over from here?” Without that pool, it would have been pointless to “appoint a successor.” They might have agreed, and might have even worked on Capistrano diligently for awhile, but an appointment cannot replace passion, and before long they would have found themselves burning out, as I was, and we’d be back to square one.
So instead, I left it up to the community. I walked away, and encouraged anyone who was interested to step up and take the torch.
Will it work? Is it enough? Will Capistrano live, or die? It’s too early to say, yet, but if it doesn’t work, and Capistrano stagnates and dies, then that is proof enough to me that Capistrano needed to die. If there was no one but myself passionate enough to push it forward, then (as harsh as it may sound) it was a waste of my time and people should be looking elsewhere for things that they are passionate about. On the other hand, if someone steps up and the community backs them, then Capistrano deserves to live, and will live, with them at the helm. Either way, my decision was the right one.
It’s been hard, watching and waiting, seeing what will come of it. There have been some promising hints at new leadership. It’s been exciting (in a thrill-ride kind of way) to follow the discussions on the mailing list, and to see people helping each other there. I still haven’t felt much like a “weight has been lifted”, but I have had time, finally, to work on other projects. It’s been nice to dabble in other things (like my long-languishing personal finance app, or learning Erlang), without feeling guilty for not working on Capistrano.
It’s been a curious experience, all around. When you don’t have time for the things you really feel passionate about, look around yourself. What things are you hanging onto out of a false sense of obligation? Look beyond your assumptions, and you might be surprised at what can really go.
Erik Schmidt
on 06 Mar 09This is a smaller-scale example, but when I was in law school I started a blog for Mac-using law students. It gained traction and after a few months the readership swelled. I manage to get other students to write their own software reviews and other content.
Realizing that I would be leaving law school soon (it only seems like an eternity), I tried to create a workable plan so the site and the associated forum could live on after my departure. But after months of trying to fit the square peg of law school students into the round hole of a time-intensive web community, I realized that it wasn’t meant to be.
A couple of months ago I stopped posting to the blog, and just a few days ago I killed off the forum completely. It took me a while to get past that false sense of obligation, but once I did I felt much better. Working on the site had become a chore, rather than something I looked forward to and thought about constantly.
Letting go of it allowed me to move on to other exciting projects. I’m certainly happy that I created the site and worked on it as long as I did. But I’m also quite happy to move on.
Paul
on 06 Mar 09Timely and insightful.
I, too, had to walk away from something recently with a big impact and it was very difficult. But it came down to a shift in priorities, especially offline ones, and those won. The “false sense of obligation” definitely rings true.
James
on 06 Mar 09Jamis, Capistrano has always been supremely useful to me. Thanks, and enjoy your well-deserved retirement ;)
David Andersen
on 06 Mar 09I certainly understand why you’d make this choice but I’m struck by how this highlights why businesses are wary of open source. No compelling economic incentives are, ultimately, going to lead to this. Maybe someone else will take up the torch and use it to further a career.
Andrew Mitton
on 06 Mar 09Jamis: I’m curious about your personal finance app. I stumbled upon a completely different way of managing my personal finances called the 60% method in an article at at MSN.
Jamis
on 06 Mar 09@David, you’re right, businesses ought to be wary of open source. Any consumer of open source ought to be. An open source author is under no obligation to keep it going, so you use it at your own risk. Anyone who thinks otherwise is deluding themselves.
That said, businesses that depend on commercial software should be wary, too. Especially in today’s economy, businesses can and do go under. There are no guarantees. And if the commercial software you depend on is suddenly no longer supported, you can’t even do like you can with open source, and try to maintain it yourself.
The key to succeeding is not in seeing the future. It is not in hiding under the bed, fearing to make a choice, but rather to make a choice, get started, and adapt when you need to.
Things change. They always will, whether you’re using open source or closed source software. Agility will win the day.
JF
on 06 Mar 09businesses ought to be wary of open source. Any consumer of open source ought to be. An open source author is under no obligation to keep it going, so you use it at your own risk. Anyone who thinks otherwise is deluding themselves.
To expand on this, businesses should be wary of depending on anything that’s free. I have a whole post brewing on this. Hopefully next week.
Jamis
on 06 Mar 09@Andrew, regarding my personal finance app, there’s really nothing to say yet. I’m finally making progress on it, so maybe it’ll see the light of day, someday. It’s intended to make budgeting and saving easier, without requiring the anal-retentiveness that the author of your article mentions. I’ll say more when there’s more to say. :)
Josh
on 06 Mar 09What’s great about TheCommunity here, is that in 2-3 months you’ll be able to look at this page - http://github.com/jamis/capistrano/network - and based on what’s most recently updated and who has the most followers….there’s the “new capistrano”!
Joe Sak
on 06 Mar 09Long live Capistrano! It’s made my programming life so much better.
Thanks.
Aaron Blohowiak
on 06 Mar 09@Erick Schmidt: you could have sold the forum/blog on Site-Point Marketplace
@Jamis: If you were adding features to Capistrano that you didn’t need or want, perhaps its scope wasn’t clearly defined. Small tools can be “done”, and in software, declaring things are “done” is a difficult, political/social move.
David Minton
on 06 Mar 09you’re right, businesses ought to be wary of open source. Any consumer of open source ought to be. An open source author is under no obligation to keep it going, so you use it at your own risk. Anyone who thinks otherwise is deluding themselves.
@Jamis, then again, a commercial, for profit company isn’t under any obligation (past the terms of a service contract, I guess) to maintain a software project they deem not “profitable enough.” On the other hand, if the company goes out of business, the software you depend on can go away as well.
I guess the only real security is either building the software yourself, or have the ability to take over or fork an open source project.
Erik Schmidt
on 06 Mar 09Aaron,
I actually had a few offers from folks who wanted to take the blog over and essentially use it as an advertising vehicle. But the whole essence of the site was that it was written by and for law students who used the hardware and software being discussed. We weren’t in it for the money.
I simply preferred putting my creation in the grave, rather than letting it roam around as a zombie. If I’d had less ego involvement in the project, I might not have cared.
BJ Neilsen
on 06 Mar 09Jamis, I really respect you going this way. I couldn’t agree more: Do what motivates you and what you’re passionate about.
It has opened my eyes a bit more to what I perceive are my obligations to projects and code, etc. Thanks again.
Nick
on 06 Mar 09Please, for the love of god, finish that app already. I need it.
Grover
on 06 Mar 09“why businesses are wary of open source.”
I’m utterly baffled by this comment and the ones that come after it, saying that you can’t depend on open source and free software for your business, when you go on to point out the the exact reason this makes no sense; commercial software gets abandoned too!
If an open-source project that your business depends on goes belly up, you at least have the option of hiring a freelance programmer to fix whatever needs fixing. In fact, that’s the main reason you SHOULD choose open source software.
Seriously, how exactly does paying money for software make it inherently more reliable? Does this perspective come from any real world experience, or is this just some open source backlash? If commercial software gets abandoned, you’re just as screwed AND you’re out large amounts of cash (especially if we’re talking about enterprise level software). And in my experience, a lot of the specialized enterprise software (say your customer database) is of TERRIBLE quality and costs six figures.
I see this same viewpoint bandied about whenever a free hosting service shuts down, and everyone starts saying “Well that’s what you get for using a free service.” If 37Signals decided to shut down backpack, my data would be just as gone. Just because a business takes your money, it doesn’t mean they’ll act responsibly.
Grover
on 06 Mar 09I should clarify that I don’t believe 37Signals would just shut off access to my data. But that’s because they’ve proven themselves to care very much about that in the past, not because I pay them money every month.
Damon
on 06 Mar 09It works and works well! Stick a fork in that puppy and go build something else. I can’t believe it took you so long.
JF
on 06 Mar 09@Grover: I think the basic idea is that if someone is giving something away for free (their time, their product, their advice), they’re under no obligation to continue. It’s much easier to walk away when no one is paying you anything.
But when you pay for something, and a company has heathy revenues, there’s very little incentive to walk away. You’re running a successful business. Things are going well. You want to keep it up. Walking away is a lot less likely. They have an obligation to their paying customers.
Both could go belly up, of course, but that’ll happen to free faster than pay assuming the company behind the pay product is healthy.
Bryan Sebastian
on 06 Mar 09I think 37s got it right in providing the tools (ruby for rails) for free but not the product. We have a wonderful little .NET generator that we built and we use it for all our client work. It is super simple to use and have considered selling it, similar to a code smith.
However, following the 37s model, we have decided that we are going to make it open source and free to anyone to use (and contribute to) and we are building a few applications on it that we are going to sell (subscription based also) instead.
I know the idea is not unique, but it seems to work.
Michael
on 06 Mar 09I don’t know, Jamis. I think of Seth Godin’s “The Dip.” What if there was something great waiting for you to get through this rough patch? Or, what if you had determined to put the work into grooming a successor?
Sonburn
on 06 Mar 09Over the last 8 years I have I have constructed a custom built CMS for my work and our marketing assets. It serves very specific needs, and as I was the only person performing the tasks it’s made my life easier. We grew larger, and now there are more people using it, and using it successfully. In fact I have taken their constructive feedback and worked new features in to help it serve everyone better.
Problem is, now there is new management, and they want something open source, for the sake of being open source. I am being forced to have to give up on “my baby”. I understand some of their concerns, like documentation, but I feel that can be addressed easily. I have been reviewing available open source CMS systems and it’s going to be a massive under-taking to migrate over. It’s just all very disheartening.
carlivar
on 06 Mar 09http://rubyhitsquad.com/Vlad_the_Deployer.html
David Minton
on 06 Mar 09But when you pay for something, and a company has heathy revenues, there’s very little incentive to walk away. You’re running a successful business. Things are going well. You want to keep it up. Walking away is a lot less likely. They have an obligation to their paying customers.
I don’t think this is necessarily true. Just because the commercial developer has a project with heathy revenues, doesn’t mean that won’t discontinue the project. What if they have another project that is doing better, and want to focus on that instead? What if one of their competitors buys them, just to shut them down. We have never seen that happen in the software industry…
Mr. P.C.
on 06 Mar 09Hi Jamis,
Thank you so much for everything you have given to the online community. Aside from any project or product, time is the most valuable commodity in the world, and you have given so much of yours to help the ‘greater good’.
Your post for me comes to down to ‘balance’ (whether work/life or other personal challenges) and the fact that nothing is forever.
This message was timely for me as well, as I am going through the situation of closing down a company that I have built over the past few years. While I know in my heart nothing can be forever, the ‘human’ in me has a hard time letting go of something that I have put so much time and energy in to. It is reassuring to hear the perspectives of others who have struggled with similar issues and come out ‘alive’ on the other side.
Your contributions to Capistrano and other tools have brought success, happiness and profit to many who have used them. Your insights now are thoughtful and heartfelt, and will surely leave an impact on your readers much like Cap has left on it’s users.
Thanks for everything.
Todd
on 06 Mar 09This post seems inspired by last night’s 30 Rock? Goodbye, my friend
Anonymous Coward
on 07 Mar 09doesn’t mean that won’t discontinue the project.
That’s not what he said. He said there was less incentive to discontinue something if it’s profitable compared to if it’s free.
Pies
on 07 Mar 09I once started an open-source project that grew kind of bigger than I hoped for and more and more people started doing their projects using it (it’s a programming framework).
Anyhow, once it grew too big it became very limiting, because I could just break backward-compatibility on a whim, like I’m used to. So I left the project in the hands of one of the guys, who was with the project almost from the beginning and was very eager to lead it—and certainly far more qualified at it than I was.
Anyhow, I don’t remember officially naming him my successor, but it sort of happened by itself, and I think it made the project that much stronger to have a leader commited to the project like that guy was.
It was good while it lasted :)
Don
on 07 Mar 09Capistrano has been a big help to me. I use it with Rails, and it’s difficult now to even imagine deploying without it.
Do you think it’s possible that Capistrano will evolve into mutiple projects? Instead of being a general tool, we might end up with Capistrano-Rails that’s customized to the needs of Rails apps. That community would then have an intense interest in pushing it forward. Other communities could have their own customized versions. Perhaps some enterprising cloud computing company could have a version that’s tailored to easily let you deploy on their servers and create new instances automatically.
While it’s a general-purpose tool, then it requires someone to act in a somewhat selfless way to push features they don’t personally use. If it’s a specific tool, people are furthering their own self-interest.
And my hopes are high for your personal finance app. I want to configure it once and then balance my checkbook with a one-line command.
Zaq
on 07 Mar 09@David Andersen
I think you are missing the point (and power) of open source. The beauty is, if you are a business (or larger company) who RELIES on a piece of open source software, just hire or contract someone to contribute to it when you need something.
Larger companies devote whole teams of people to keeping open source projects alive for this very reason.
Additionally, you are not not twiddling your thumbs waiting for a release that might never come (i.e. commercial software)... you can code it yourself, or allocate resources and get someone else to do it. Sure this might be more expensive, but YOU get to shape it.
Alexandre Simard
on 07 Mar 09I just wanted to say that I always enjoy Mr. Jamis Buck’s contributions to Signal vs Noise. I think you’re a talented writer, Jamis.
Dave
on 07 Mar 09It’s all right Jamis. You’ve done a great job bringing cap as far as you have. There is no reason for you to feel bad about the decision to step back.
With the power of github and open-source, a new feature, a new idea, a new architecture is only one fork (and a few commits) away. The projects will live on if they are worthy, or be replaced with something better if they are not. Either way, they will seed the ecosystem further. This is the software equivalent of natural selection. Software Darwinism, if you will.
The only place I think you’re off the mark is when you say “businesses ought to be wary of open source”. Not at all. Businesses perhaps should be wary if they’re relying on yesterdays model of “dollars for features”, but my business, staffed with smart technical people, shouldn’t be worried at all. We embrace the ecosystem. You walking away from the project doesn’t mean the project is going away. That’s the power of open source. Just try that with a proprietary closed-source project and see what happens. Death of company equates to death of project.
Jamis, thanks for all you have done. Best wishes with new projects (open or closed!). And if you will, keep seeding the gene-pool of open-source software – we will all benefit from it.
Richard
on 07 Mar 09Hi Jamis,
I think as somebody else has said, nothing lasts forever and thats a concept us humans seem to struggle with in many ways.
You do have an obligation, to yourself and your family only. Imagine what you could be denying the community in the future if you don’t use your immense talent coupled with your passion. Life is too short.
How many of us say yes to things that we want to say no to, out of a false sense of obligation in all aspects of our day to day life. It takes a secure and confident mind to see the truth and say no, and is a tremendous sign of a healthy individual.
I expect most of the criticism you will receive will be from those that will have never contributed to anything themselves at all.
As ever Jamis there is a lot of depth to your post, which goes beyond the immediately obvious. I like people like you who only speak when they actually have something worthwhile to say.
Barbara Ling
on 07 Mar 09Kudos to you to reclaiming what is important to you. Your actions are very admirable indeed.
Barbara
David Andersen
on 07 Mar 09@Zaq (and others expressing similar viewpoints):
I’m not missing any point. I didn’t write a thesis about the pros and cons of open source vs. commercial software in my first comment. I merely made an observation about a singular, critical limitation of open source that has real financial implications for businesses.
Those of you claiming it’s simple to hire some developers to maintain open source code in house if the open source developers go away have not been in many large enterprise shops. I’m sure there are exceptions, but most of them are not set up and equipped for that sort of activity. Most of them have all they can handle maintaining what they’ve got. Most large companies don’t want their IT departments to be in the software development business – it’s not a core competency and it’s HARD TO DO WELL. Hell, a lot of software companies integrate 3rd party products rather than roll their own. It makes solid economic sense.
I work with big, expensive enterprise software every day that comes from large, indifferent (once you’ve bought the license) software companies. I’m very much aware of the downsides of this sort of software. There are many; however, there’s no such thing as risk-free software acquisitions. An evaluation of open source vs. commercial is about weighing trade offs and on this issue, open source is far more risky, something open source evangelists are prone to ignore.
David Andersen
on 07 Mar 09@Jamis -
And if the commercial software you depend on is suddenly no longer supported, you can’t even do like you can with open source, and try to maintain it yourself.
Your statement is probably true more often than it should be, but there are cases where source code rights are granted (contractually) to the customer should the license owner ever stop supporting the product. If I were a buyer of million dollar software products I’d try to insist on such a clause.
Lee McAlilly
on 08 Mar 09@Jamis
Definitely want to see your personal finance app come to life. I’ve been dying to find something and I’ve tried everything. At this point I am learning to code to try and build something myself, but I’d be happy if someone could do it for me as well…just want the problem solved.
I think 37 signals, or someone with the getting real ethic, could build what I need.
Good luck!
Alejandro Moreno
on 09 Mar 09Both could go belly up, of course, but that’ll happen to free faster than pay assuming the company behind the pay product is healthy.
@JF:
One could argue that it’ll happen to “pay” faster “free” assuming the community behind the free product is healthy. :)
This discussion is closed.