Why would someone use his own time to develop an open-source project for free and without compensation?
|
closed as not constructive by Jarrod Roberson, gnat, ChrisF♦ Apr 12 '12 at 20:46
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or specific expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, see the FAQ for guidance.
|
For small projects, reasons might be "hobby", "getting some experience", "fame", "joy" etc. but that's not how the big open source projects like Mozilla, OpenOffice, Linux work. Why did Sun buy StarDivision and made StarOffice an open source program (called OpenOffice.org)? Why does Mozilla create a top-notch browser and give it away as open source? Why are there people creating Linux, writing drivers and whatnot, and make it available to everyone for free? Why does Microsoft create opensource drivers for Linux so it can run better in MS's virtualisation? Because it makes some business sense for them. They make money that way, or at least plan to. In some cases, the dominance of MS's products, i.e. Windows, Office, Internet Explorer, was the reason the create a competing product, so it would be harder for MS to use their desktop dominance to conquer other domains, i.e. servers, internet services, too. This explains, to some extend, OpenOffice.org and Mozilla. In other cases, open source software is meant to drive sales of hardware, other software or services. Open Source drivers obviously help to sell hardware components to Linux users. RedHat sells support for their Linux distro, and they sell the fact that their Linux is genuine RedHat. Other products, e.g. Oracle, are certified for use on Redhat, but not on CentOS, even though it probably runs just-as-well. Server hardware is certified for Redhat, even though other linux distros probably run just-as-well. Big-money-clients don't care about the price, they want the certificate. Some companies, e.g. Google, sponsor many open source projects, because it helps their business. They don't do it for hedonism. They want a free internet, a pervasive internet, a widespread internet, where people use Google's services so Google generates revenue. |
|||||||||||||||||
|
|
This is a hobby for some people; believe it or not. Gillette will be happy to give you a free razor and sell you the blades. Some people make money in other ways and want to give back to the community. I'm sure Linus Torvalds has made plenty of money 'off' of Linux without actually selling the code and probably turns money away. Not all open source software was intended or designed for any user to just download, install and use, so you may end up spending more of your time depending on skill level and most people value their time. |
|||
|
Why does everything have to be about money? How do you think wikipedia works? Nobody gets paid to put content on the Wikipedia, yet it is arguable the best encyclopaedia around. edit: Let's talk money. Open source projects, as any projects, are written out of neccessity. You have a problem X and you write library Y or application Z to solve it, because
So now you spent a few evenings and weekends (and/or paid time) writing the next hot thing until you reach a point, where the baby starts walking. You now have to chose between:
Open source works, because it is a community. Because it is mutual. You do not get money by writing open source code. You get money by consuming open source code. So why do you write open source code? To give something back. |
|||||||||||||||||||
|
|
Monetary compensation isn't the only possible compensation. Fame (although mostly to a limited circle) is another. The joys of showing off what you've done is yet another. Me, I mostly do it because I have an urge to write software and if it happens to help someone else, everyone wins. |
|||
|
|
|
There are several reasons to develop open source applications. In general, the more foundational the need is the better suited to open source it is. For example, ASP.NET MVC, Ruby on Rails, Django, PHP, and other web frameworks are all open source. That's right, even Microsoft has a fairly well known open source project. The need for a well organized web framework that lets you focus on building a web application is larger than the specific web application you are building. Many people (myself included) contribute to open source because we use these frameworks in our day job. It's self preservation in a sense. If I don't have to keep reinventing the wheel just because I am at a new company, why should I? As to making money with open source, that is a tricky subject. Most open source licenses allow you to sell your software. The specific license governs whether you need to share your modifications (BSD/ASL style licenses do not while GPL style licenses do in most cases), or provide attribution ot the original project. The cases that I see work most often are:
Bottom line is that the source code may be open, but there are always people who need more than the raw code. I'm sure there are more ways to make money off of open source, you just have to be creative. |
|||
|
|
|
This question is not specific to open source, because you can write code, for free, and never release it to the public (although that would be rare because of all the known benefits of sharing code). The real question is, why do anything for free? The answer is, because it makes you happy. Personally, I love to learn, and I learn more working on open source than working on my paying job. Because learning improves my skills it also helps me to get better paying jobs. |
|||
|
|
|
Besides money, of course there is fame -- and then their is learning how something works by building it and constructing it yourself. Gaining valuable and marketable experience outside your normal work life. I think Ayende is a good example of this. As an aside -- generally I've found some of the best, most intuitive projects and frameworks I've worked with to be open source -- I think that people who are truly passionate enough to spend their free time building a project up from scratch or simply maintaining it produce a better product then people who are just grouped together from 9-5. |
|||
|
|
|
It's not only for making money but more often for saving money. The vast library of good OSS libraries and tools make it a natural choice. In same cases (GPL and friends) that means you're legally bound to make the resultant code OSS too. In other cases, it's just a personal choice, but you still get to receive other rewards (mostly some recognition, sometimes the chance of selling support, sometimes (happened to me) a good reference to show to potential employers) |
|||
|
|
|
There's a variety of reasons. Some people get paid for writing it, because their employer thinks it worthwhile (and there's plenty of potential reasons for that). Some people start companies based on F/OSS because they can make money from it. Some people use F/OSS and want to give back. Some people treat it as a reputation game, like academic research or answering questions here. Some people want a certain piece of software for their own purposes, and just release it because what they want is to use it, and they can sometimes get useful suggestions if other people can use it also. |
|||
|
|
|
One more than one occasion, I've contributed a patch to an open source project simply because I wanted to make sure that feature/fix would be included in future versions. It doesn't seem like a stretch that someone would release something as open source simply because it offered the possibility that others would use it and keep it current. I worked with one person who wrote code that (IIRC) validated CUSIPs. He released it on the net. Years later he downloaded a CUSIP lib for a different system. He was surprised to see a reference to the code he wrote years before. |
|||
|
|
|
You can support it to get money. If you have a program that is very well thought of and used by the community, say like jboss, you can offer your services and support. People will pay for it. |
|||
|
|
|
You can release it under a restrictive Free licence, such as the GNU AGPL, and then charge for exceptions. |
|||
|
The outfit I work for, started with a public domain code (written by the business owner) [Open source was years from being invented]. His original business model was to be a consultant on using it (use is not straightforward, and many hundreds of people make a living consulting). Of course the demands for feature enhancements were so great it became a proprietary commercial code(s)*. But, still most of the salaries earned are in rapidly diminishing numbers up the scale: (1) Users doing their jobs, (2) Consultants to group (1), finally (3) Developers/testers etc. I use the plural, because several other proprietary codes sprang from the same public domain source code release. |
|||
|
|
|
You may find yourself in the following position:
In this situation, participating in an open-source project is a perfectly sensible business decision. It can be pretty good advertising, too. |
|||
|
|
