With the rise in popularity of Jenkins/Hudson, I’ve been wondering what happened with Cruise Control, the break-through project that helped bring continuous integration to programming. Charles Lowell of The Frontside tells us his theory.
In addition to viewing the video above, you can download it directly or subscribe to the make all
podcast feed to get it automatically downloaded.
Transcript
As usual with these un-sponsored episodes, I haven’t spent time to clean up the transcript. If you see us saying something crazy, check the original audio first.
Michael Coté: So Charles, Jenkins very popularly used to be called Hudson.
Charles Lowell: Great!
Michael Coté: And yet there was CruiseControl. Why — I don’t want to say failed, but why — how did Jenkins, how was the space created that Jenkins took over from CruiseControl?
Charles Lowell: Well, let me start by answering the question with two words or talk two words but with one sentence, and then go on to expound for, I think, but you got your answer already. I think this thing just works when you like install it. You can download Jenkins and you’re up and running in about thirty seconds, whereas CruiseControl never was that. It was always a pain in the ass to get up and configure and blah, blah, blah and, I mean, I lost track of it.
But certainly while I was at ThoughtWorks, it started out as an ENDscript and a con job, right, and kind of snowballed from there and it was never kind of brought around from project to project and there was kind of good contributions from each place but it wasn’t ever — at least in my experience, a coherent project so much as an idea. And there were bunch of implementations on that idea.
And the thing is this, because it was for the people, it owned it, and in this case I’m thinking ThoughtWorks and ThoughtWorkers, it pretty much worked on —
Michael Coté: Quite a lot of extra —
Charles Lowell: I mean pretty much work but they were familiar with that. So setting it up on — at the beginning of each project wasn’t a lot of overhead in a grand scheme of things. It’s a couple three days or something, but you’ve done it a bunch and — so there’s no need to invest and package it so that it’s — so that it’s —
Michael Coté: So it wasn’t sort of like a product.
Charles Lowell: — that’s; yeah, it was never a product. I mean there was trend — it was, like you said, they were rumblings now making into a product, but I think that it was definitely more of an idea, and a very successful idea that was thought.
Michael Coté: Oh, yeah, yeah. That was — if I remember, it was, if I may use the word, it was kind of revolutionary in that sense, it was like oh, continuous integration.
Charles Lowell: Right.
Michael Coté: Huh.
Charles Lowell: Right. And so I guess that’s —
Michael Coté: And it just never evolved beyond that.
Charles Lowell: It never evolved into —
Michael Coté: — beyond a collection of scripts, as we would say, in the IT management world. There’s this distinction between, you’d get a bunch of products to monitor things, and it’s just a bunch of scripts. And then at some point, those scripts turn into a product.
Charles Lowell: Right.
Michael Coté: And I guess CruiseControl was sort of a downloadable thing that you could get up and running, but what you’re saying is it just didn’t get polished as well as later on, and then Hudson, then later we name Jenkins came in, and sort of polished this up.
Charles Lowell: And up and without having anything to build or anything knowing how to build it, you just —
Michael Coté: And there’s lots of other continuous integration tools out there, but that’s the one that you prefer.
Charles Lowell: It’s very — it’s pretty much to me just; can I use another buzzword “Zero Configuration”?
Michael Coté: Oh, yeah. Yeah.
Charles Lowell: You don’t have to configure a database.
Michael Coté: Did you know that?
Charles Lowell: — no dependencies; in the simplest case, there’s no dependencies, no configurations.
Michael Coté: Yeah. I think — did you know that Apple’s Bonjour thing was supposed to be called Zeroconf I think. But I think someone had a trademark on it so they couldn’t call it that.
Charles Lowell: Oh, is that what it is?
Michael Coté: — or something like that.
Charles Lowell: I thought Bonjour was Apple’s implementation of Zeroconf.
Michael Coté: Who knows.
Charles Lowell: Who knows.
Michael Coté: Bonjour!
Charles Lowell: Good evening!
Michael Coté: Well, thanks for the history lesson, Charles.
Charles Lowell: Yeah.
Another thing to note besides CruiseControl being a pain to get up and running, Hudson/Jenkins had a very large third party plug-in ecosystem which CruiseControl lacked. I believe it's mostly the Hudson/Jenkins ecosystem which helped them succeed.