Very nice points KG On Wed, Jul 25, 2012 at 4:56 PM, kenneth gonsalves <law...@thenilgiris.com> wrote: > On Wed, 2012-07-25 at 13:07 +0530, Arun Venkataswamy wrote: >> Has anybody in this list or people you know - have made money by >> creating >> open source products? > > I have. Not much money, but money. My model is like this: > > I offer to build applications for the client, charge what I feel is a > reasonable sum and convince them that if the software is open source > from the start it is easier to get people to contribute to it, the code > is available if I drop dead and it is easy for them to upgrade and debug > errors. My costs are cut because whenever I am stuck I can always find > people who are willing to write some code for free (although sometimes I > pay) because it is open source. I also insist on my clients learning the > basics of issue management and refuse to do anything unless a proper > ticket is filed. I do not have to lie to the client about progress and > never give progress reports. I tell them to look at the repo to see if I > am doing work or not. The model often fails because the client cannot > get used to the way I do things. When it succeeds, it works great. The > client as a co-developer. Note that all my work is web apps (not > websites). > > Some things I have learned: > > 1. The person I interact with on the client side *must* be the person > who takes the decisions in the client concern. It does not work if I > have to interact with an underling. > > 2. The development must be module by module and should go into > production immediately - if the guy wants the whole thing ready before > going into production, I decline to do it. > > 3. One has to be extremely flexible with regard to design changes and > new feature requests. The client may think he knows what he wants, but > once in production, he may realise he needs something else. One must be > prepared to rip the guts out of the app and rewrite - without losing > data. > > 4. I push as much of the work as possible on to the client - he has to > enter the data (I may make a script to load the data from a spreadsheet, > but he has to actually get everything ready and run the script). I show > him how to back up, but he has to do it. Likewise simple upgrades like > doing hg pull, hg update and restarting the server is his job. Like wise > for database migration, I give the script - he has to run it. > > 5. Design - he has to hire someone for that. In one case the guy learned > css and html and did it himself. (it looked horrible, but he was happy). > There are two reasons why I do this - 1. I am not capable of drawing a > straight line even with the aid of a computer and 2. design is the one > field in which the open source methodology does not work. No committee > or group of people can do good design - one guy has to do it. If he > needs help, the helpers have to do what they are told - no vote. > > 6. Last and most important - make proper agreements and make sure the > schedule of payment is met. No pay, no work. The flip side is that when > they see I am flexible with regard to doing mid course changes and > adding new features they do not quibble about paying more. > > One of my big successes was building an app for a Finnish NGO working in > Mumbai. We started with one site and soon several sites in 7 countries > in the region. The lady in charge of Asia then took a year or two off to > take a course on how to get things done by IT people. She was shifted to > Africa and we have now covered 4 countries there. The course she took > did not help her at all as it was to do with how to extract work from M$ > Weenies. But she has learned issue management - you may look at the > discussions in the open and closed issues in this project here: > > https://bitbucket.org/lawgon/kenyakids/ > > now her bug/feature reporting is as good as most professionals. > > We are soon going worldwide, and quite a few other NGOs are lining up - > my client is doing the marketing for me (and not asking for commission). > > I have had one spectacular flop also - some members of our LUG will > remember as they were involved. The flop was due to the fact that I > ignored most of the principles mentioned above - especially point No 1. > > One last comment - do not write code unless 1. some one pays you or 2. > you need it for something you want to achieve. You can think of some > fantastic idea that you think will be the next facebook or will fulfill > a need that people will pay for - ok, if you must, do it, but do not > expect to make money from it. As some one said, if people will not pay > for something, they certainly will take it if it is free. > > -- > regards > Kenneth Gonsalves > > _______________________________________________ > ILUGC Mailing List: > http://www.ae.iitm.ac.in/mailman/listinfo/ilugc
-- Gayatri Hitech http://gayatri-hitech.com _______________________________________________ ILUGC Mailing List: http://www.ae.iitm.ac.in/mailman/listinfo/ilugc