Why open source software sucks – except when it doesn’t!

This is a dialogue between Sophie Schmidt and Sebastian Hageneuer, where we will discuss the advantages and frustrations of free and open source software. We invite you to join the discussion in the comments below.

[h3title title=”Sebastian” style=”quad”]

I am frustrated! Really frustrated! Converting a fairly complex point cloud into a clean textured mesh is a nerve-wrecking, if not mind-numbing, undertaking. Sure, there is “freeware” – software, that I can simply download – that can solve all your problems. Simply take CloudCompare and MeshLab and everything is done for you. You wish! Tutorials magically work and don’t ever produce the same errors as oneself, but who to call? Who to blame? Noone, because it is free and/or open source, so why so angry? Because it doesn’t work. This got me thinking.

Am I allowed to be angry at something that is free and kindly provided by motivated and self-less people?

[h3title title=”Sophie” style=”quad”]

Of course you’re allowed to be angry. I mean, everyone can feel with you! We all get frustrated if stuff doesn’t work and we are forced to spend huge amounts of time on something we thought should be a three-clicks-solution. Especially if it’s something that *really* shouldn’t be that big a problem. But simply to get angry at someone who gave you stuff for free is not a very productive state of mind.

Now, what could we do about this problem? In my opinion there are not too many possibilites, at least if we are talking not just about free, but also open software. Maybe three, ordered here by degree of difficulty:

  • Go back to commercial software, pay the price and hope it works there.
  • File a bug report or send a “could you please do this”-request to the software developers.
  • If it’s open source and not just freeware, get coding yourself.

Admittedly, to start coding yourself is not feasible for most of us. Also, “go back to commercial” is not really a productive answer either. But you say, it is not possible to blame anyone. While that’s true ethically, it’s not quite true that there is no one you can turn to. Open source software also has developers, and usually you can find their names and contacts somewhere. Also, Stackoverflow and Github are full with people issuing requests, and those with the knowledge (not necessarily the original developers, that’s one of the great points of open source!) are discussing how to implement what’s next, so that standards are kept and compatibility assured. I think, and I know people who had good success with this, it is a good idea to first go to the developers ask them about the issue you are having. If they have tutorials, ask beneath the video, blog post, whatever. Mostly, they are delighted that people are using their software and willing to help. Of course this is not a guarantee that they will have time to turn to your problem right away. But – especially if it’s a more complicated topic – you wouldn’t have that guarantee with a commercial software either. Nonetheless I think that is the way to go, even if it may take time until the problem is solved. If you need a quick fix… well… you might have a problem. Sorry.

But would it be better if you were using commercial software? If something is not implemented, how fast would you get a solution to your problem?

[h3title title=”Sebastian” style=”quad”]

Ok, I admit I am not angry in the usual sense and of course I know that this wouldn’t be productive. Sure, I can go through the effort and start asking the community, which in fact is not so different then asking a company to support me with their commercial product. The difference is, that I can expect a certain result from a commercial software because I paid for it. I cannot expect the same from open source or free software, I can only hope that it works or someone helps me. Additionally, in my experience, the community around commercial software is as big as (if not bigger than) the community around open source or free software and as eager to help and find solutions. I think yes, it is better to use commercial software, as these companies have the financial means to develop a usable product.

The question is rather, would the same be possible, if I would use open source software, but instead of paying a company, I’ll pay the developer? Is that even an option? How trustworthy would that be? Would you spend 1000 Euros on a developer in order to support him and what would you expect?

[h3title title=”Sophie” style=”quad”]

You’re right, proprietary software also has helpful support communities. I’m not sure about how much you can expect from the companies of the proprietary software, though. Isn’t it “you bought it as is, so we’ve got your money already, go away”? How much and how fast will problems be solved for you? Admittedly, I simply do not know…

There are some options if you want to get professional help for open source software. As an example, there are companies, who work as Linux-Support (I just did a quick google: e. g. Gatworks, Compositiv, Atix) – so you pay them and can expect things to run smoothly. The moment you start paying someone with a contract it should be the same as when you order proprietary software – with the added benefit that afterwards the developed solution can be made available for everyone. But we need to differentiate a bit: You may be able to support a developer / team via crowdfunding or similar, which would be a donation without you deciding what they work for. Or you may make a contract with a developer to implement what you want. And the nice thing about open source is, that you can turn to anyone who has the necessary programming skills. You won’t have the problem, that maybe the company simply doesn’t want to work on what you need or that the company decides to wait for the next big release (which you’ll have to pay for again, of course) or I don’t know, maybe it went bust but still didn’t release it’s code, so no one will ever be able to do the things you want?

On the other hand, for you personally it may be much more expensive to pay someone to develop your customized solution than to buy the new product. For the worldwide society as whole it will be much cheaper, because afterwards nobody else will need to pay for it ever again. And as we know, some software companies make huge amounts of profit which will go to a few share holders. Or just to Bill Gates. Their huge profit margins is money that “we” (as the world wide population of computer users) do not need to spend if we use open source and free software.

Also it is money which makes the software unaffordable for some people, who will not be able to do whatever it is the software does. This is a harsh disadvantage of young computer geeks in lesser developed countries and will make them pirate it. Because they need it. Software is a strong enabler – it empowers you to do things. In Germany most people agree that knowledge and education should be free and for everyone, because it enables you to do the things you need and want to do in your life. I say, we should not support structures that make it difficult for less-rich people to pursue their dreams. – Hey, isn’t that an American value as well? 😉

[h3title title=”Sebastian” style=”quad”]

Ok, let me recap: I am frustrated with open source respectively free software and am allowed to be. Basically, I have three solutions: 1. go back to commercial software (which I prefer), 2. file a bug report or request to the developer or the community (which you prefer) or 3. code the software myself (which probably will exceed our capabilities to code). I prefer solution number 1 (commercial software), because I think commercial software also has good communities and in my experience produces a better product. Regarding the idea to simply pay the developer or – as you suggested – a third party that modifies the open source software, you offered some solutions and ideas. There are two points, one that I agree upon and one that I have to disagree.

Open Source software is free and everyone can use and develop it. Commercial software is for people who pay or pirate. I totally agree and to see software as an enabler is absolutely right. In that sense, I see the deeper meaning and necessity of open source software. Nevertheless, I still prefer commercial software and think both – commerical and open source – can co-exist, as they already do today. This brings me to the point in which I disagree: I don’t think that paying big companies for a good product is necessarily evil. By your argumentation, you also had to pass on every major movie and only go to see the independent ones. I am not saying independent movies are bad, but come on, I know that you LOVE Lord of the Rings!

[h3title title=”Sophie” style=”quad”]

It’s my precioussssss…

Well, I’m happy (and thankfully mostly able) to pay people for good work. Of course I cannot expect programmers to do all this difficult coding for nothing but my thanks. They need to earn their living, I completely agree! What I do not agree with, is the way in which I am made dependant on big companies, who earn their money because I do not have a choice. If I once started to use a closed source program, it will be difficult to get away from it, because no other software will be able to open the data format correctly (look e. g. at Microsoft Word: they purposefully make it almost impossible for Libre or OpenOffice to show their f*cking *.docx-files correctly!). I am not able to check the program for security issues or whether the statistics are implemented  mathematically correct (one reason I am not a fan of excel). And I do think that the profit margins of at least some of the companies are really not justified. Bill Gates is just the extreme example. Yes, free market and all that nonsense, but the man became rich because of a monopoly (something that actually all agree on is not a good idea) and I am much more happy with the other choice we now have – Linux.

To wrap up: I agree it is fine to pay for a product, not everything needs to be free ware. People need to be able to earn their living by programming. But open source – that’s the important part, because

  • it is more efficient (no inventing the wheel twice),
  • it is safer (everyone can check for problems),
  • it is more flexible (anyone can work with it) and some even say
  • it is better, because nobody wants to share bad code.

Leave Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.