Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I can certainly see how the market has won over code in many situations.

I find it personally frustrating, because it goes against my ethical code: I care about what I create, and won't work for a company that takes short-cuts. I would especially walk out the door if it became clear that they were trying to hide serious flaws under the guise of a quality product.

The industry is so young, that it is difficult to protect consumers. There are people being fooled into purchasing all kinds of things, but at least with a toaster there are regulations like "can't electrocute people". With software, no one demands to see the source to ensure they haven't invested in an unmaintainable piece of garbage; and license agreements are laughably evasive, ensuring that companies aren't really responsible for anything.

That's why I am still interested in seeing where open source goes. In just 5 or 10 more years (a lifetime for maintaining code), some of the worst offenders in corporate environments could be really screwed, as their rickety messes start to crumble. Their most talented programmers will likely have left in disgust. Marketing will becoming increasingly the task of putting lipstick on a pig.

Whereas, many free software projects are basically honest: you can't really hide ugly hacks in open source, and maintainers are already highly motivated and eager to show the world how they think something should be done. Young people are already more likely to be knowledgeable about software, which will lead to more forms of marketing based on quality (e.g. writers, colleagues, neighbors, friends, who can guide your decisions based on quality and not flashy ads). For the rest that isn't open-source, government may catch up a little and start bending the industry to avoid some of the worst offenses.



To risk stating the obvious -

Most great coders code because they love doing it, or love what they're making. Despite commercial contributions, open source projects thrive on this. When you're a company that sells software, you exist to sell more software. That's the purpose of marketing.

Good code is only useful to the extent that it makes it possible to continue marketing new features, and thereby increase sales. I think this is the reason for the distrust programmers have traditionally had for the people who sell what they make.


I've spend some of my time in the last four years trying to help an Open Source project doing marketing. From my personal perspective (since I also do this for for-profit companies), I believe there are some flaws in your opinion.

(1) Hiding low quality: Theoretically, this would be a point -- if and only if "quality" could be judged objectively. This is seldom the case: Just look at the design decisions different Open Source projects make and how many flame wars these decisions ignite.

Granted, sometimes code lacks objective quality. This is sometimes simply due to the ignorance of programmers -- for example, not salting a password in web applications.

However, most of the time, the lack of quality argument is simply due to people having different preferences! Making code is expensive; it takes quite a long time to build something that's useful and working.

In other words, there's a trade-off and people need to make decisions which goals are pursued, first. Any decision will result in disappointments. Sometimes, management needs to make decisions that emphasize different values then yours, usually the need to make revenue. But also consumers sometimes have different preferences: some would spend an available amount of development time on code security, others would spend it on usability, others on the amount of corner case functionality, others on something entirely different.

Even Open Source projects have problems, here. For example, a few years ago, GNOME developers were absolutely certain they could raise the quality of their product by implementing a spacial file manager. They were "highly motivated and eager to show the world how they think something should be done."

It was a disaster. Most users hated it instantly (strictly speaking, because there was no obvious and easy way to opt-out of it).

Here's the major mistake: Just because you're a developer with an idea, doesn't mean you have a clue what consumers want. In fact, that's the problem in most of these "low quality" arguments, especially when made by Open Source advocates: The software you refer as to, probably has no low quality; it just offers quality you don't recognize or need.

(2) Protecting consumers: This is just another form of the victim assumption many (left) politicians also like to use. You're assuming consumers are innocent and are being "fooled into purchasing" crap. Most of the time, consumers are not innocent. In fact, the most powerful sales arguments are those that build on the greed and selfishness on the consumer: How to make more money, get more sex, be more powerful. In fact, even one of the major sales arguments of Open Source is 'Make more money' (by spending less on license fees).

You can't sell crap to an informed consumer. But why are some consumers ignorant, then? Nobody stops them to educate themselves! You could say, the real reason is their laziness and unwillingness to learn. In other words: They are ignorant because they are greedy. And in fact, that's an argument also used quite a lot by opinionated (Open Source) developers. However, it just means people are selfish and rational on how they spend their time.

Your analogy to toasters is also flawed: There may be some exceptions, but in general making the "wrong" decision about software usually doesn't really hurt people -- in contrast to toasters.

(3) Ethical code: This is just a word many people like to use without due consideration, like "freedom". You probably seriously care about your code, but that doens't mean you're acting ethical. In fact, caring about your code just means you're selfish; for if there's a trade-off between the purity of your code and a feature request by your customers, you're probably going for the purity.

The more probable cause for your frustration is simply that other people don't share your point of view concerning things you care about. Sometimes that means you to do things you don't like. Sure, that's disappointing, but that's just how it is.

Neither marketing, nor market failures, nor Closed Source Software has something to do with it. These are just convenient rationalizations.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: