[ILUG-BOM] How does Open Source guys earn there bread and butter?
Rajeev R. K.
rajeevrk at gmail.com
Wed Mar 11 01:33:36 IST 2009
On Tue, Mar 10, 2009 at 1:32 PM, Kenneth Gonsalves <lawgon at 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
>
More information about the Linuxers
mailing list