On these pages I’ve obviously been a huge advocate of the open source model. It really has transformed many areas of technology. I feel compelled, however, to pass along a recent experience where open source has “failed” me. I won’t say that open source itself failed. Maybe people would argue I wasn’t the target user. That may be. Here goes…….
A business partner and myself are developing a WordPress-based website. I set up WordPress on my home network and started wailing away on it. I wanted my partner to see what I’d done. “No big deal. I’ll configure my router to forward http traffic coming to port 80 to my internal Ubuntu system. Piece of cake. I mean….how hard can it be?” I’d clearly established any machine on my home network could talk to the WordPress site. It was working perfectly. There was just one minor problem: The port forwarding didn’t seem to be working. Requests coming to the router would time out.
I was running DD-WRT on a pretty old Netgear router. I’ve had the setup for years and I’ve been a massive DD-WRT advocate. I wish I’d kept track of how long I’d go between router reboots – over a year easily. Why’d I go to DD-WRT in the first place? It had a pretty cool way to create a single SSID / multi-access point configuration. I could create broad coverage in my house very seamlessly. It was as solid as a rock.
The challenge with this most recent experience is it was my first foray into port forwarding. As a result I wasn’t sure I was doing it correctly. I figured the opportunity for user error by moi was pretty high. So when it didn’t work as expected I, ironically, kind of expected it.
After hours of Googling and fiddling with stuff I determined that many other people had the same kind of issues I was seeing: It wasn’t working and they couldn’t figure out why. I waded through a number of posts about DD-WRT bugs. So I spent time researching new DD-WRT releases, contemplated upgrading versions, etc. Then there were other posts that got into messing with iptables and how important that was on DD-WRT. This is when my “frustration” started to migrate into the realm of “anger”. I’m a complete iptables novice. Do I have the mental capacity to understand the details of how iptables work? I’m confident I do. Do I want to spend the time required to do so? Absolutely not! I wanted to forward my frickin’ ports and move on to other things that were more important.
I trekked on over to my local Best Buy and walked out with a Netgear AC1600 router. OMG the thing is a rock star – and it’s not even a high end router. Throughput to my PC has about tripled. It does all sorts of cool things.
What was interesting, though, was that I seemingly had port forwarding troubles on the new router as well. It turns out the issue was on the WordPress side. There were some WordPress URL configuration details I needed to get just right relative to my DDNS account. Without doing that WordPress was getting confused when the router was forwarding traffic to it.
So in the end DD-WRT probably was behaving as I expected it to. But the problem was I didn’t have confidence it was acting correctly. Because of that lack of confidence I figured my issue was with DD-WRT. When I got a component I had confidence in then I could better isolate the problem – WordPress.
Am I going back to DD-WRT? No way. This new router is such a better solution there’s no way I’d take it out.
Did DD-WRT “fail” because it didn’t have a better UI for folks like me that don’t have very much Linux-based networking experience? Or did I fail by picking a technology that I wasn’t the target for? I guess it depends on what segment the DD-WRT community is pursuing.
Don’t get me wrong – I’m not calling DD-WRT a failure. It’s an awesome solution. But, at least for me, open source is typically so exciting, I have to remind myself periodically where the model can fall short.