Why Open Source

I have to admit, it took me awhile to understand why anyone would want to open source their software. I understood perfectly well why I would want to use it, but as a developer who makes money from writing software I assumed you don’t make money writing open source software, thus, you starve. I understand now how it works and will explain simply for both developers and business why open source software makes sense.

First I’ll start with business.

If you are a business owner think about this. Who has the most money to spend on the products you make? Well, medium to large businesses. They spend hundreds of thousands to millions every year. You’d like to write software to target these businesses. You will need to spend quite a bit in advertising and sales to hit that market. And of course, lots of money will need to go into the production of the software.

What if you make this product and all of the little guys test it for you? What if non-customers help you bug fix it? And after your initial release, what if they continue to add features, fixes, and value to your product for free? What if they market it for you and provide an initial level of support? Well, this is open source software. You share the product with the world, let them use it, contribute to it, make it their own, and then you still make money from your original target market through something they couldn’t go without, support. Those with the money are still paying for it, but those without get to benefit from it and will add to it.

Developers look at things differently.

As a developer why would you want to write open source software? Think of all the code you’ve written that you just know has been written before. Think of all the wheel-reinventing you’ve done throughout your career. As an industry we aren’t moving forward in technology if we spend all our time writing the same thing for our own company or clients that everyone else is writing for THEIR companies and clients. But, if we start sharing this are we going to run out of a job? No, we’ll spend our time writing new code and implementing new ideas. Our clients will always want something more than what’s available. We as an industry can push the technology forward as a whole and everyone benefits.

That’s how I see it. Open source is a win-win-win for those writing it, those who use it, and those who support it. Better software comes out of it. People still make money and feed their families. And you make the world a better place.

One Response to “Why Open Source”

  1. Keith Gaddis Says:

    I’ll give you a good example, from your own site, no less! I’ve been playing with your AS3 implementation of ActiveRecord evaluating whether to use it or roll my own, and i’ve already made some changes that would be useful in the wider scope of the code. Of course, that code isn’t truly open-source, yet (hint hint!)–I may have to rip it out still if its not ultimately licensed in a way I can use it.

    As for the larger case for open-source, sometimes it makes sense and sometimes it doesn’t. One thing to look at: Is the code useful on its own? In the case of the above library, the answer is no, at least as far as an end user is concerned. While eminently useful to a developer, its ultimately supporting a more targeted development effort, and therefore it makes sense to put it out under an OS license. As more people use it, the code improves, and all the targeted development efforts that rely on it reap the benefits.

    On the other hand, we all have to eat! I’m a huge fan of OSS, but when you spend hours, weeks, months, even years developing applications that make money for other people, that’s probably not something you want to give away. My experience with it is that unless you’re giving it away to a pool of developers, as with libraries, you’re probably not going to get much in the way of dividends for your effort. Sure, the odd support contract will come your way, and there are certainly cases where you can build quite a business off it, though they seem to be the exception rather than the rule. By and large though you need to have paying customers somewhere in the chain.

    The other area OSS makes a lot of sense is when the software being written is not intended to make money–internal applications used by major corporations, for example. A lot of software gets developed in companies of varying sizes that’s merely there to let them do their jobs better, and in a lot of cases, releasing those apps to the world makes sense in that they’re not losing dollars, and they may well benefit from community development efforts.

    i didn’t mean to post my own little diatribe here! interesting discussion though, and please email me if you’re interested in collaborating on the AS3-AR library.