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
