Open source...

I write Free & Open Source software for a living. I wrote closed source software in the past.

When I know that anyone in the world can see and judge my code, I feel compelled to put in the extra hours to make absolutely sure the code is easy to read and understand. Open Source to me really is about collaborating with anyone in the world.

Closed-source software is more driven by business goals and it is strongly affected by the company's culture. I get my paycheck and I ship the end product. As long as it works OK, there is no incentive to make the code flawless - no one's going to use the code, except for your buddies, and you can slide your chair to their table and quickly explain some quirky code. Unfortunately for the user, I can ship some code with security flaws in it, and by the time it's found, I'll be working at some other company. Oops, all your credit card data has been stolen. Tough luck. There's no moral obligation - it's strictly business. I didn't do this, but it's not difficult to just let things slide when it's all about meeting the deadlines set by the client.

Obviously, people's work ethic differs, and not everyone has taste, or good software architecture skills, or the time and budget to create the best thing they can come up with, regardless of the openness of the project or product. Some of my closed source code is crap, some of my open source code is crap.

The difference between FOSS and business software is that with FOSS I feel like I'm contributing to the world, even by a small amount, and with closed source software, I'm just making someone richer - not necessarily by contributing positively to the world. I release my code as BSD, and I don't even mind if someone takes it and uses it for commercial purposes. I believe that those with good work ethic and moral standing, will contribute back to the project, and those who don't - well, it's unlikely we would have collaborated anyway.

Edit: Thank you kind stranger for my first ever reddit gold!

/r/ProgrammerHumor Thread Link -