On Tue, Mar 10, 2009 at 1:32 PM, Kenneth Gonsalves lawgon@au-kbc.org wrote:
On Tuesday 10 March 2009 13:04:51 scrapo wrote:
Interesting the Original Poster must be wondering what is happening. He asked a newbie question - If i am writing code and someone else can use it without paying me for it, then how can i make money. Do any of you have an answer for him ?
that is not what he asked. His was basically a 'piracy' question.
I think Rajeev R K can give examples of how he made money in open source.
[[ Warning -- Long and Verbose Mail... I suggest you read it when you have a few minutes to spare... Also, all the opinions in this mail are of a personal nature, but have been moulded by influences across the software industry, most notably by the greats of the F/OSS movement.]]
Well, I saw this question late last night, but was a bit too sleepy to answer it.. And here i come back on tonight, and already the thread has run on like hanuman's tail :P
There are many angles that you can approach your querstion, but i will focus on 2 of them. Please be patient, as my post will be long. Rest assured, you will see how it all relates to your question by the end, and will understand the logic behind it too.
1. The Coder Conundrum - The major paradigm shift here is that, just the ability to write code alone does not automatically make money for you. Lets contrast this with an illustrative comparison with the automobile industry. In such an analogy, the coder would be the design and prototyping department. Their role is to convert An Idea into a usable design(the architecture), and further on into a functional Car(the Program). Now, As a car buyer, i would not be willing to spend the millions required to perform this research and design activity. In the auto industry, that design prototype is taken forward into production, using raw materials, to produce a finished car. It is then priced on the total cost of the raw materials+labour per car, The cost of the Design activity, The Cost of Distribution and warranty service, and The Mythical X( A.k.A the amount that the Automobile Company thinks the consumer will be willing to pay over and above the raw costs to own that car, A.k.A the profit). Now, when you factor this over a few million units of "A Car", the production costs are reasonably stable(With some variation brought on by the economics of scale, or the politics of mamta), while the per car cost of design decreases with the number of cars produced. This explains why a car like the REVA costs close to 6 Lacs, while the humble old maruti 800, which is a thousand times more complex and intricate can be had for under 2 lacs(Less than 1 lac for maruti, actually). Now, when we come back to software, while software does have a cost associated with Design and Development, the Costs relating to production and duplication are almost nonexistent or at most very very small comparatively. By this logic, the more popular a software gets, the cheaper it should consequently become. If the auto industry worked this way, it means if i buy a maruti 800, it costs me almost nothing to build a second or a third or the three hundredth maruti 800 and either sell or even give them away. As you know, we're not about to start building maruti 800's in our backyard :), But we can and do make copies of data on our computers(software being just one type of data... purists please excuse). But since this is not how most traditional companies like to operate, they try to fix tit by targeting what they perceive to be the problem in the entire system, namely the low cost of re-production. They do this via various means, including Technical(Keys, licence files, Dongles etc.) and Legal(Licences), thereby creating an artificial scarcity, allowing the price to be kept constant while the fractional cost goes down.
This is where The Open Source Philosophy makes it's first big break. We target the other half of the system, the one that the commercial companies dont touch, namely the Design and Development Cost. Put Simply, it converts the cost of development into tiny little pieces and spreads it around, making development more effective, thereby reducing the total cost of development. In Our Car Analogy, It's like saying I'm not ready to pay for the development of a CAR, but I'm willing to develop a Brake Pump, and donate the design to the effort. In effective terms, by developing and donating the brake pump, i am reducing the cost of developing that car, by the cost of developing the brake pump. As larger and Larger numbers of people start doing pieces of the work, eventually the design gets built. Therefore, the entire paradigm of Free Software(at least the financial paradigm) is to reduce the cost of developing software to 0 by using volunteer effort, so that it complements the already near 0 cost of true re-production and distribution of software.
Now, if you consider the auto industry, it is not just made up of Car Manufacturers. On the contrary, the car manufacturers are not even the largest part of the system(though they are a vital part, without which the system cannot function.). The Distribution Infrastructure(The Dealers and showrooms), The Consulting Services(Driving Schools), the Rental Industry(Taxi Cabs, Rental Cars, Vehicle Leasing), Maintainance(Service and Repair Centers, garages), are all part of the system, and if you notice, they are all services. This is where many Coders make money, by providing services build around the code that they have written. However, the open nature of this system allows them to also provide services built around code they havent written, leading to the ability to distribute and balance the workload of providing services across a large number of people. While the coder has the advantage of understanding the code the best(at least initially), he has to provide a service that the user wants to be able to make money(it could be building a new feature, or helping a company deploy the code, or training people on the code, etc.,). Another thing to remember is that a vast majority of coders in the OSS ecosystem do it on a spare time basis, and do not have an immediate need for the code itself to generate revenue for them. It still works because of the sheer mass of people involved, which makes even such small bits-and-pieces time/code contrigutions add up to something significant.
2. The Epitome of Efficiency - Now this is where the opensource system really shines. In terms of efficiency of code development and use. If for example, Coder A develops a program(using resources, time and money = X), and is marketing it in a Closed fashion, and Coder B comes up with an idea for an improvement or a new feature for that system, he has no choice but to Develop the entire program from scratch till it is equal to the program from Coder A, and then implement his Improvement ( X + dX Simplistic i know, but will do for this example). The Total cost of the ecosystem is therefore ( 2X + dX). Now if the same program was being developed in an open source fashion, Coder B could just improve the work of Coder A, and the cost of the new feature would just be ( dX ), and the cost of the total system would be ( X + dX ). Also, noy Coder A has access to the improvement made by Coder B, while in the closed system, Coder A would have to redevelop the same new feature again. As the number of features and complexity of the system increases, the open source system cost increases in a linear fashion, while the Closed source model Costs increase in an exponential fashion( which is why so many companies just go bust or get taken over by larger companies. they find it easier just to buy the company out rather than re-develop in this extremely inefficient model). In addition, another thing to consider is the quality of the code itself. In a Closed source model, the quality of the code is a factor of the quality of the developers and the testers. There are limits to the level of quality that can be achieved by this system, and to put it mildly, the software is only as good as it's best developer(this scales surprisingly well, and is much more accurate than most people expect. Case in point -- Windows Vista -- I rest my case :D. One of the largest development teams in the world, and they still couldnt make it bug/problem free, or even close :). Now in the open source model, the environment of open collaboration, peer review and cut-throat competition(if a guy writes better code than you, his code WILL displace yours, even if you were the original author). This means that eventually, over time, a couple of things happen. Firstly, A Program will get better and better because of improvement in code quality. Secondly, a new program will become easier and faster to write, since various parts of it will already have been written and will only have to be adapted and integrated. In some cases, with things like web services and frameworks, we are even reaching the point where most major parts are already done, and writing a new software program is little more than a customization process, The Epitome of Efficiency.
So As you can see, the entire system IS DESIGNED to allow what you described, namely Person B taking Person A's work and improving on it and/or using it for profit. Now do not confuse it with stealing. If i steal your Car, I get to use it, But i deprive you of your ability to use it. Therefore, i have made you lose something. Now, instead if i walked up to your car, pointed a magic-ray-gun(A.K.A a Copy function) at it, and cloned the car, and drove away the clone, leaving your car as it was and you free to continue driving it, would you still call it stealing?(makes you think, doesnt it). Now, I Do make my living, my bread & butter(and Jam, if you will), within this same system, almost exclusively from open-source software and systems. I specialise it Training, Integration and Deployment of Open Source Software. Now the skills needed by a good trainer are significantly different from the skills need by a Good Coder, Ditto a Good Deployment and Integration Expert. I have built those skills and exchange those skills for money to make my living. I am not a great coder(not even a good coder, for anything other than small patches), but i still survive and thrive here. Eventually, It comes back to the coders, as a company that believes in opensource software because they have seen it work wonders for them are more likely to step out and fund an open source developer to build their next software requirement, rather than go to a commercial company to get it developed.
Now, what IS wrong here is the fact that Person B is taking credit for the work of Person A. That falls into the realm of Lying and Misrepresentation. And That is what Copyleft(right) is here to protect against. Some licences do not protect against this, but others, like the GPL do protect against it, and much more, and that is why a large number of OSS developers like to use the GPL for the code they right. Now, if Person B does copy your code, and lies to a company saying it is his own, you now have the legal recourse to sue him for violation of the terms of the gpl, and could theoretically get all the money he fraudulently made off your misrepresented code given to you(practically, knowing the conditions under which the legal system operates, the lawyers will get most of it). A Number of companies that tried to do this have been caught at it, and eventually had to reform. I'm sure some small time companies are continuing to do it, and remain un-punished, but rest assured, if it is a popular product, someone, somewhere, sometime will notice there is a violation going on, and it will get publicised. Also, as companies are getting more and more savvy about the IT ecosystem, they are becoming more and more interested in the processes followed by their in-house and our-sourced developers, and if it is a big project, chances are that open source software finds a legitimate entry in.
In Summary, The FOSS Process is designed to be flexible, efficient, and profitable too, but in a manner that is different from what we may be used to seeing.
a photo of him is sufficient to show that he is making good money ;-)
Lolz... Has saswata shown you the picture of my plate of desserts?? My size has more to do with my love for food, and my having a mom who's an AMMMMAZING cook, than the money i make... (Also, spending my college days hammering away on a keyboard instead of chasing a ball around the field or the girls around the canteen may be a significant factor)(p.s. I made the girls chase me, so i dont have to spend the energy :P Just thought i'd add that clarification)
Regards R. K. Rajeev
-- regards Kenneth Gonsalves Associate NRC-FOSS http://nrcfosshelpline.in/web/ -- http://mm.glug-bom.org/mailman/listinfo/linuxers