Open Source And Closed Mind

, , , , | Working | May 3, 2021

I’m a programmer who has the unfortunate luck of being assigned to work with a notoriously awful manager. For the non-geeks, a library is a collection of prewritten code provided by someone else. If many people are likely to have the same issue, then odds are there is already a library written to help with that issue, and a smart programmer will look for one before trying to reinvent the wheel. Not only does this save time, but a popular library will be far better tested and significantly less prone to errors than something you wrote by hand.

Manager: “I don’t want you to use any external libraries.”

Me: “Why not?”

Manager: “I had a project where we were using a library that changed their licensing terms. We had to spend a lot of time and money removing it because it was too expensive to pay for a new license, and I don’t want to do that again.”

Me: “Oh, so it’s only licensed libraries you don’t want to use?”

Manager: “No, I don’t want to use any libraries at all.”

Me: “But most libraries are open source. They’re completely free; there’s no way we would have to worry about paying for licenses.”

Manager: “They could always change it to charge money later.”

Me: “I’m pretty sure they can’t. They’re published with licenses that explicitly say they can’t charge money for it! Charging money is anathema to the very concept of the open-source community!”

Manager: “I’m still not going to take the chance.”

Me: *Taking a deep breath* “Okay, but I want to use Boost. It’s practically synonymous with C++. Half the stuff that ends up in C++ first spends time as a Boost library before being adopted. I don’t think any programmers do C without Boost. You might as well worry that they will start charging for C++ itself!”

Manager: “I said no.”

And so, I ended up spending at least 60% of my time on that contract writing networking logic that is freely provided by Boost. It was oddly nostalgic, working on the sort of challenges I was assigned to do in college, but it was hardly the most efficient use of my time.

Shockingly, that project ended up behind schedule and stayed that way long after I left. The fact that the manager’s personality tended to drive programmers away within months of starting the job likely also played a role in his falling behind. Either way, I’m happy to be working on a new contract where I can use any library I d*** well please.

1 Thumbs
359