How Not to Open-Source
Programmers are arguably some of the smartest people in the world. We solve complex problems all day, every day, and we’re always hungry for more. We strive to find simplicity in even the most complicated situations. If Eistein were alive today, he’d probably be hacking the Linux Kernel along side Alan Cox during his lunch break.
The issue arises when you take those minds, throw in the impersonality of the internet, and mix in a whole bunch of ego.

Case in point: Vlad the Deployer. It was written as a Capistrano replacement to handle application deployment simpler than the aforementioned project. Make no mistake, the library rocks; I’m using it in production already.
Capistrano certainly became the victim of its own success. It needed to be everything to everyone in the Rails community, because it was the only thing out there that handled deployment with any sort of ease.
Futhermore, its author, Jamis Buck, recently said that its dependencies were written at a different time and place than he’s in now and has been working on rewriting them to remove unnecessary complexity. It takes a big person to admit that his hugely successful application needs a lot of work.
It doesn’t take a big person to rip on an open-source app that has been one of the most useful libraries for Rails since the framework’s inception. Vlad’s authors, the Ruby Hit Squad, have made it some bizarre mission of theirs to insult Capistrano in an attempt to promote their replacement. I have no idea what they’re accomplishing with their tactics (see image above for an example) other than alienating someone that dedicates a portion of his time contributing to a framework that allows them to make their livelihood programming in Ruby.
I’m picking on Vlad, but I’ve seen this time and time again with open-source projects and find the attitude unbelievably off-putting as it reflects poorly on the open-source community as a whole. I’m certainly not immune to bad-mouthing projects that I’m not excited about, but I’d like to think that as the years progress that I’m learning to control the emotions that ran rampant when I was 16.
As the saying goes, “Speak softly and carry a big stick, you will go far.” Let others know about your alternative, but allow the code do most of the talking for itself.
I agree. Humility is not necessarily the strong point of the Ruby or Rails community.
+1. There’s a fine line between poking a giant in the eye (as DHH often did to the Java community in Rails’ early days), and just being an ass to a respected member of your own community.
Well said. I’m sure it’s a great library, but I was put off by the absurd machismo coming from its creators.
Like you say, it is a common problem. Seems that most of the more interesting fields of software development are quickly populated by boys clubs with their treehouses and their little skirmishes. I used to see it a lot in 3D shooter development, though there arguably the trash-talking had a more natural cause. Here it’s plain weird.
Ruby versus Java, Capistrano versus Vlad, left unchecked this kind of X vs Y trash talk leads to some poor guy almost getting his nuts ripped off
The fact is that the hit squad attacked Capistrano – not its maker. If the maker wants to take it personally, then its his problem.
Capistrano is complex and Vlad is not – period.
Creating hype and sensationalism to bring attention to your offering is nothing new in the Rails community. Even God does it ;-)
Personally, I just wanted to promote a little more competition in the official-Kool-Aid Rails universe. I hope it’s clear that we’re not planning to actually shoot anybody. We do like spy movies, though, yes indeedy.
I agree that Capistrano has become a bit complex. However the way to deal with that is to engage with Jamis and make Capistrano better.
Plus the issue is one of approach. Ruby guys try and deploy using pure ruby. If you sit back then half of what you do is due to poor tooling on the deployment platform. What you actually need to do is create packages on the target that provide the tools. Then you can do deployment with a simple shell ‘for’ loop.
Martha (is that you Ryan?), the issue is not with the rewrite. I think Vlad is superior, the issue is with the manner in which its members felt it needed to subvert Capistrano. This sort of in-fighting accomplishes nothing.
About your last sentence (“Let others know about your alternative, but allow the code do most of the talking for itself.”) I think it’s a bit misleading, one of those urban legends. Open source projects needs a fair amount of marketing like any other project (probably a bit less but still). Code has never talked to anybody and nobody goes and start checking the code of some random undocumented and totally unknown project.
However I agree with your main point, marketing based on disparaging another project is lame. And even more lame in open source.
PJ: Is promoting the idea that it’s worse when it’s targeted at other Railists really healthy for the community? The beauty of the Ruby community has always been (to me) that they don’t draw the line at language barriers. They’re nice or willing to be critical pretty even handedly.
Neil: The idea that we have to submit to a single benevolent dictator in a particular problem domain turns my stomach a bit. ;) I’m sure Jamis is a great guy, but sometimes people just aren’t going to agree on an approach. One size does not fit all.
Is it me or can no one see a humorous side to this. Its just poking a bit of fun but I guess in this politically correct super sensitive day and age this is simply a DISGRACE!! yawn.
PJ: “the issue is with the manner in which its members felt it needed to subvert Capistrano”
Exactly the problem. There is nothing wrong with the Vladists competing with Capistrano, criticizing Capistrano on its merits, or trying to convert Capistrano users. Merb has a similar relationship to Rails, but I haven’t heard any trash-talking from Ezra.
Subversion != Conversion
Martha: “The fact is that the hit squad attacked Capistrano – not its maker”
Part of the attack on Capistrano is for its cleverness. “Clever is bad. Period.” I can’t be the only one who pictured Jamis wincing at this.
The fact is that the rails community, for better or worse, is getting large enough that there is competition within the community. IF that’s the case then it is no different than DHH attacking Java. Java started out simple but grew in complexity as it tried to address every single problem. Same with Capistrano. Rails came along to solve the complexity problem, as did Vlad. Suggesting that they should have ‘opened a dialog’ would be like saying DHH should have opened a dialog with Sun…not worth it. People aren’t as easy to get in touch with than some people think.
While I agree we shouldn’t be bashing other open source projects, I think there’s a lot more to learn from it. The app isn’t just code anymore, it comes alive and has atmosphere. Placing a theme on a project helps it stand out of the crowd and makes it fun.
I think many people are taking this too seriously. From what I can tell this is just some friendly competition.
It’s kind of like harshly criticizing an unexpected homemade gift you receive from someone – they didn’t get paid for it and spent quite a bit of time putting it together.
No matter how nice Vlad is, it’s pretty messed up that their creators lack this basic piece of dignity.
Derek: Can’t the same be said for bashing PHP, Java, Python, etc.?
If you go to the “About the Hit Squad” link here http://rubyhitsquad.com/About_the_Hit_Squad.html it does become apparent that they are kind of joking around with the hit-man theme. That said, what’s missing is gratitude for Capistrano’s pioneering efforts.
I’m not sure where you get the idea that Capistrano tried to be “everything to everybody”. On the contrary, I found it’s “opinionated” nature to be a constant source of annoyance. I don’t believe it’s opinionated in the sense that Rails is, more in the sense that flexibility is too much work.
And it’s nice to see that Vlad apparently does not cling to the dogmatic belief that there exists some non-POSIX combination of switches to ln that magically creates a syscall for atomic replacement of a symlink.
I don’t think that the issue is about which is better, Capistrano or Vlad. The issue is the place of trash-talking in our community.
Its the not the end of the world – vlad has a point, Jamis held his hands up – yep capistrano could have been better – have a chuckle about the picture and move on. Oh the drama!
Actually, this isn’t the first time for them. Check ImageScience page too.
“and kicks the living crap out of RMagick. Oh, and it doesn’t leak memory like a sieve. :)”
Fact is, they probably don’t know how to use rmagick. And oh, did I tell you we use frozen imagescience version coz the real one has a “memory leak” ?? As in a REAL memory leak.
Guys, what are you talking about here?! Not such a big deal! Trust me, that’s not such a problem, especially for real programmers…
And nevermind that Vlad hangs on my server because it makes such an ssh command that can be executed directly, but hangs if done via Vlad. And nevermind that you can;t compile ImageScience on darwin because it doesn’t even parse. Went back to capistrano 2, been hapoy ever since. Doesn’t matter that I don’t use 60% of it’s features – the other 40 work well. Elitism kills.
major libraries except perhaps Gems are clones of existing libraries but with less features….
imagescience = rmagick parsetree = nodewrap vlad = capistrano
Somehow it is ok to make bullshit insults even though they have no qualms benefiting from the innovation the source projects have done.
I didn’t really find it offensive. It was pretty obvious that it is a tongue-in-cheek marketing effort. “Ruby Hit Squad”, “target acquired”, the theme is evident.
Neverthelss a little disclaimer somewhere, like “In all seriousness we totally respect the work and contributions of Jamis to the community, and have been at least partially inspired by Capistrano to make Vlad” would probably have been in good taste.