This is just a rant post to get it off my mind. No names will be mentioned.
So I recently discovered a tech company was relying solely on volunteers to develop part of their product and were unable to provide support The volunteers didn’t realise that tech support for the code was basically customer support. Everyone’s response was “this is OSS” as that excused a company having zero employees supporting a part of their product.
I think it’s fair to talk about what is and what is not fair expectations. It comes down to what they give away because it’s part of their product and what they give away to be nice. If it’s part of their product, then they should have someone working on it. If it’s something they open-sourced to be nice, for example, a useful library and built to build their product, then it’s reasonable if they forget about it and don’t have someone assigned to make sure it’s all going smoothly.
Things I expect to have the company supporting:
- Offical repositories containing code to integrate with their product. Jira and Github connector, datadog Symfony bundle, etc.
- The open-source version of their product. Docker, Elasticsearch, etc.
Things I don’t expect the company to support:
- Unofficial connectors to use their product
- Open Source libraries they’ve created.
Overall, I basically expect a company to support their product. I think this is completely reasonable.
A quick overview
So I was onboarding to become a paid member of a SaaS. The SaaS is technical in nature and requires integration with my code to work and allow me to find issues. The SaaS provides a Symfony bundle, great; I thought I was going to have to use an unofficial one or build my own, just make the service look a better choice.
I installed the bundle.
- It had a dependency it didn’t declare. It broke my build. Ok, not good but ok.
- It increased memory usage from 60MB to 250MB. Broke my build and I had to increase memory for the bitbucket pipeline.
- It then broke my build halfway through by causing too many database connections to PgSQL.
Ok, the bundle needs work. I’m kinda pissed at my build breaking three times for a tool that is meant to help me find issues. So I decided to go with another provider. They also had a Symfony bundle, it just worked. Memory usage was only 70MB instead of 250MB. I realised that for the company to improve their service someone needs to tell them about the bugs otherwise how can they solve it. Even if I won’t be using the service, I had already paid the competitor for their service.
So I create two issues. Two random people who weren’t employees responded and tirage the ticket. I’m like cool some people helping out. But after some back and forth and me acting like the annoyed potential customer I was they point out they’re not paid employees, and this is OSS, and they’re just volunteers. I look at the history, and these two helpful strangers were the only people writing the code for the Symfony bundle, the official Symfony bundle.
Overall, the support they provided is what you can expect for an unofficial part time project. And not that I would expect from a professional company on part of their product that is required to onboard to their paid product. The last time I was in the posts not a single employee commented. The CTO visited the thread and seen me complaining about the lack of action from the company and said nothing.
OSS is a business model
One of the reasons people seemed to think it was unfair of me to expect the company to have at least one person looking after their official code was that it’s OSS and I can use it for free. That’s great, but let’s not pretend that isn’t part of their business model to get customers by getting them to upgrade or pay for services in another way. If you think OSS is great or not, it seems foolish not to know that it provides the company with some benefit hence why they’re doing it.
The fact it’s OSS doesn’t remove the normal expectations of a company. It seems completely nuts to be that people think it’s ok for a company to provide a bad service, product, etc. just because they open-sourced their code. OSS just means the source code is open. It doesn’t mean it’s a charity or a non-profit. It just means I can use it for free if I want, I can see the code, I can modify the code, etc. All the standards for a for-profit company that is looking for me to give them money still exist.
It’s the product
During the back and forth in the tickets for the issues I raised. The maintainers of this official bundle made it clear that no one from the company who owned the bundle would even know how to help since they’re the ones who write it. They even went on to say they hadn’t even seen the CTO anywhere near the repository for years. Basically, this official bundle and since it’s official and required to use their paid-product, it’s part of their product. It’s controlled and maintained solely by volunteers.
Yes, one of the benefits of OSS is free labour from other developers who want to fix a bug they’ve found, want to add a feature, want to specialise in that software to upsell their own work, etc. However, I think it’s completely nuts to rely solely on free labour for a part of your product. It shows they have no real control/care of the experience from their product or how it works.
One of the reasons I was so annoyed by the original errors was this was onboarding errors. Meaning I’m trying to become a customer, and you’re stuff doesn’t work. It’s not a good look. Having volunteers who will do the bare minimum to solve issues be the people to help your new customers is not a good look. Think about it. I go to report an issue to this company I am about to pay money to and I discover that not only do they not have anyone responding to issues with this part of their product. They didn’t even build that part. And they won’t even be able to provide support for that part because all the knowledge is held by volunteers. Why on earth would I carry on onboarding?
Even if I haven’t paid yet, my onboarding should be treated as a normal customer, because it’s the first impressions. And it’s literally how I onboard as a paying customer. When I signed up to bitbucket, I hadn’t paid them yet. When I signed up to rollbar, I was on a trail until they would accept my money. You onboard on a trial or free offering and then pay once you set everything up. Not providing standard customer support or providing zero customer support to people onboarding is just repelling customers. You made it all the way to them installing your code, so many drop off points and then you screw it up because you can’t provide basic customer support in the technical channels.
Unproffesionalism in IT
The more I thought about it, the more I realised this was just a symptom of how unprofessional IT is. Í remember reading Clean Coder years ago and the part where it goes over how Robert Martin and some coworker would go around harassing developers to get things done. But when it came to harassing the other departments, that was not the done thing because they were professionals whereas IT wasn’t seen as professionals. That always stuck with me.
Here we have a company who doesn’t build their product, don’t support it, don’t maintain it, don’t respond to messages within their communication channels, and so forth. How can we think that is professional? I’m not saying they need to do all the code. But there should be at least one employee who is responsible for it.
At first, I thought it was just the company that was being unprofessional. Like how could these volunteers be unprofessional if they’re volunteering? Well, by doing volunteer work for a for-profit company while being on the clock for another job. This is just a guess. But they were replying during business hours, and they have committed code during business hours. They have it that they work for another company. So chances are they on the clock for their day job while doing these things. Just think about owning a company, paying employees and finding out that while you’re paying them to work for you, they’re doing free work for another company. That is just a slap in the face. Sure some companies are ok with OSS during work hours, they’re not many but there are some. But I doubt those who are ok with OSS would be ok with OSS work for another for-profit company.
Then there is the point that people thought it was the place the code was made available for people to get it and where issues about the code are to be reported is not the place to expect the employees of the company to support the code. All because it’s OSS. They’re so used to a lack of professionalism that when someone expects professionalism and holds the company accountable (I only talked about the company), they think it’s unreasonable. I doubt there is any other industry where people are so used to complete unprofessionalism from a company.