Editor’s note: This is the final installment of a three part series focusing on an interview with Dwight Merriman, co-founder of MongoDB. Part one was published last Monday as From DoubleClick to Database. Part two was published on Wednesday as Why MongoDB Embraces Open Source.
MongoDB’s Dwight Merriman and I were about thirty minutes into our conversation at All Things Open. Lunch time was approaching and I was definitely hungry. Merriman was getting a little antsy, ready to wrap it up, but there were a few more things I wanted to talk about first.
“You said something today in your keynote address that I’d never thought about and it resonated with me,” I said. “A lot of our readers are users of open source, but not necessarily developers, not necessarily involved in the business end of open source. They run Linux. They maybe have a website or two — something along those lines.
“You mentioned how much easier it is putting together a project with open source because you can take from here and there. You talked about modularity. I’m thinking that’s not a lot different than the Linux home user who’s using modules and just doesn’t think of it in that way. He’s got his operating system, he’s got his word processor, he’s got his spreadsheet program…”
There really wasn’t a question here, just an idea to throw out for comment.
“Yeah,” he said and paused — thinking. “I did say modular.” He paused again and grimaced, obviously bothered by the use of “modular” in this context.
“I think another word I used is granularity,” he said at last. “If you say, we need to build an app to do X, we could go get 25 little libraries or tools that are open source and kind of stitch them together, write our own code and there it is. It’s a solution. I’ve got something that does queuing. I’ve got something over here to do caching. I’ve got this; I’ve got that. This is common, right? But there were 25 of them. Then we imagine the world where everything is closed source. Imagine we have money, so we can pay for them, but I still have to go buy 25 different things.”
I replied, “And then you can’t stitch them together because…”
Merriman shook his head. “No, I could. Imagine that they work exactly the same. But I gotta go buy them. It’s going to be a pain to just go buy 25 different things. Then, as you’re starting the project you try out this caching thing and it doesn’t work very well for you, so you just switch to another one, you know it’s very fluid. I think one would tend, if you had to buy all these little pieces, to build things more monolithically. We wouldn’t have that many third party pieces. I don’t know, maybe it would work if there was some sort of app store notion for developers, but without that, I think it would be challenging.”
“Then you end up with something that’s not very adaptable,” I offer. “When times change you’re kind of stuck with this legacy thing that you built.”
“Yeah,” he agreed. “I guess you could have nonfree software you pay for by the month and you could change any time you want. I mean, you might have written code to it, be hooked in, but that could happen with open source software too. If you write code to MongoDB, it would be hard, if you wrote a lot of it, to switch to another product.
“That’s another reason we want it to be open source, because you can’t just swap out MongoDB easily after you write the code. This is true of any database. There’s a little bit of lock-in because you coded to a specific thing. Even with relational databases it’s hard to switch. Even though database A and B are both relational and they both do sequel, guess what? If you have an app that’s a million lines of code, it would be extremely painful to switch from one product to another for many reasons, including all the performance profiles and different queries.”
I’m acquainted with database migration issues. Even staying on the same database but moving from one platform to another can be a pain. I’d never thought of this as lock-in before, which I guess it is, albeit unintentionally.
“So you have that here too,” Merriman continued. “It’s not any worse, but it’s there. Why are you willing to do that? Well, if it’s open source, at least I feel some comfort in that I don’t lack control, or the vendor doesn’t have excess leverage. You know, you’ve been using something for twenty years and the vendor just keeps raising the price and you can’t switch off, then that would be a challenge. With open source, if I were the developer or the user, I wouldn’t be so worried about that because I know I can always use the free version.”
This reminded me of the time when Oracle bought Sun, with MySQL included in the sale. At the time, one of my web developer friends was using the database in all of his websites and was making himself sick with worry that Oracle would turn MySQL proprietary. I didn’t share his concern. I figured if Oracle were to try that, someone in the community would just fork it, which is essentially what happened with MariaDB.
“Don’t you think some of your clients probably find comfort knowing that if you move MongoDB in a direction they don’t want to see it go, somebody could come along and just fork it?” I asked.
“Yes. I think that gives people some comfort,” he answered. “sort of like it’s a risk reduction thing.” He added that if a project’s vision is wrong and clients aren’t getting what they want, “you can imagine the fork going somewhere else. That’s why on GitHub there’s a giant button that says ‘Fork’.”
Time was running out, but there was one more area I wanted to cover before we quit.
“Where do you see open source going in consumer space?” I asked. “By that I mean the Linux operating system, Android, if you want to call that open source…”
“I see it going nowhere,” Merriman interrupted.
That’s not what I was expecting to hear.
“I don’t want that to happen,” he explained. “That’s just an observation. What I see is — I’m thinking about phone app stores, which are more freemium and not open source. That’s what I see today.”
I was expecting something about users becoming less dependent on Windows through their usage of Android on phones and tablets, and how that would free the OEMs to start delivering laptops preloaded with various Linux distros. What I wasn’t expecting was forget-it-kid-it-ain’t-gonna-happen.
“What would it take to give the users of phones, tablets and desktops a more true open source experience that could take off?” I asked. “Do you see that with something like Firefox OS for the phone, or is that just a dream?”
“There have been some huge open source consumer success stories,” Merriman said, “such as Firefox. But it’s not very broad. It’s like a few gigantic ones. At least on the desktop, consumers don’t really use apps anymore; they just use the web browser. So then it’s really what’s running on the server and is that open source. On phones, you can see it there, but I just don’t see a lot of it.”
Not only was this not what I was expecting to hear, as a dyed in the wool desktop Linux user, it’s not what I wanted to hear either.
“Consumers like free, they’re big fans of that,” he went-on, “but I’m not sure that some of the other properties of open source are as big a deal to them as to a technical person who sees all these different facets that are interesting, whether it’s the forking side being interesting, that they can read the code or whatever. From the consumer point of view, you don’t get that usually.”
He paused for a moment, then asked: “Do consumers buy a lot of software anymore?”
“I don’t,” I answered, “but I’m running Linux and…”
“Because you can use, like, Google Docs in your browser,” he said. “That’s not open source, but it can be free.”
“There’s LibreOffice, which is open source,” I offered. “Many of our readers, being free and open source software people, tend to push back from the cloud because of the fact that there’s a difference between free and free.”
Merriman ignored my reply and answered his own earlier question: “I don’t think consumers buy a lot of software anymore. They buy Windows when they buy a computer.”
“They’re forced to buy Windows when they buy a computer,” I pointed out.
“Buy a Mac,” Merriman said and laughed.
I shrugged and said, “Different version of the same thing.”
“Yeah, that’s a whole different story…” he said and returned to his point. “They should use a lot of SaaS. As a consumer I think it’s kind of better because it’s hosted. You don’t have to worry about your hard drive dying. The vendor will probably do a better job than you will with the old computer sitting under your desk that’s never been backed up.”
Even though this isn’t what I wanted to hear, there’s a better than even chance that he’s right. Everything’s moving to the cloud. Consumers usually do what’s easiest and cheapest, which is how we ended up with VHS instead of Betamax — for those of you old enough to remember video tape.
“It sounds as if you’re making the case for Chromebooks,” I said and rose from my seat.
Our conversation was over. We shook hands, thanked each other and walked away. Although we walked in the same direction, we moved away from each other. My stride was different than his. I veered to the left, to check out a small row of vendor booths that was separated from the main avenue, while he went straight down the middle.
Like many, I hope, I think FOSS is important not because it’s software, but because of its underlying ideas. It’s those underlying principles that are important, much moreso than their application as FOSS. Free and open source is important, mainly because it’s one of the few ways in which we’ve managed to come together en masse and get something done using sharing and cooperation as our currency instead of selfishness and greed. Sure, we sometimes serve ourselves in the process — we all need to put beans on the table — but the fact that we do so without trying to grab everything in sight to satisfy our personal lust is a great thing.
I suppose the only things I need to know about a large open source project such as MongoDB are: is it a good product and is it in good hands? In this case, I know the project is viable just by looking at who’s using it, The New York Times, Craigslist, Rackspace and the like. It would also appear that at least one of its leaders has a good solid understanding that the leveraging of open source works in two directions — as much needs to be returned as is taken. I also have to figure that Mr. Merriman isn’t alone at MongoDB in that regard.
In other words, I figure there’s nothing to worry about. It’s fine. I just hope he’s wrong about FOSS on the desktop though.