So you want to start a successful open source business? (notes, from the Paul Fenwick talk)
So, today was the OSIA Melbourne meeting. It was most fun. Met lots of people, had interesting conversations. Kudos to Donna for organising it, and all those who came to dinner and drinks, much fun was had. I wrote notes down from the talk, but it looks like Paul Fenwick and Jacinta Richardson had already written a paper on Starting an Open Source Business. They both run Perl Training Australia. Not one to throw away notes, the following are my random scraps from the talk. Also to note, Paul is a most interesting speaker!
Paul’s elevator pitch? All his course notes (and talks) are available online. I did this for my OpenOffice.org stuff, so this kind of thing, greatly interests me. Kudos to Perl Training Australia, for having such foresight.
Let the notes begin…
Paul isn’t covering moonlighting, big business (where you have VC money). The focus is an open source consultancy (small business, easy to start up).
Systems administration is covered. You don’t even need to write open source software. Training? Support?
Selling FOSS — most customers don’t care if its FOSS or proprietary — they just want to get the job done. So its easy to pitch to small/medium scale business. The low-up front costs is useful, and think about the insurance aspect (i.e. Others can work on it, even if you exit the industry).
His first business, at university, was there to support his hobbies. Just odd jobs for IT buddies, some Html, and C under Linux. Then he learned Perl for Web/CGI, and before he knew it, he started his own business. As a sole trader, he was also a university tutor, and enjoyed tutoring, and the pay was peanuts in general. Eventually he got a real job, and he realised that having a real job sucks! (long hours, commute times, boring work, deadlines, not learning new things)
He then looked at consulting friends, and they earned $100/hour. He then thought, to earn $50,000 a year, he’d only need to work 2 hours per day (!). So, he started a second business…
Lesson 1: Money. Start personal accounting, and use GnuCash. If you want to start a business, start doing this now, because you want to know your financial status instantly. It makes taxes easier. You can also profile expenses — know what you’re spending on is crucial (know your savings longevity).
When you start your business, your savings will dwindle. Dwindling savings is scary, and you might be scared back into a real job, resulting in you wasting time and money.
Business with friends, was great. Meetings by pool, over BBQs, making beer, etc. Business focused on consulting, but he wanted to teach.
Lesson 2: Business with friends. When there is irreconcilable differences of opinion, you tend to lose friendships. Imagine, losing time, money, and friends!
He then started Perl Training Australia, as business number three.
Lesson 3: Contacts. Contacts from university, work, contacts (friends of friends). Most work came from word of mouth, as opposed to advertising. This is good, its cheap advertising. How do you get contacts? You network. There was one stage when he was cornering people on the bus even — he just talked to everyone. 30 seconds of what you do, what your skills are, why you’re important, and give them a business card.
So, you need money and contacts. What about talent? This is optional ;)
Lesson 4: Social Skills. What you really need is social skills with non-geeks. Your clients, don’t know if you write good code. They just want solutions! The only way your client knows you’re doing a good job, is if you’re telling them. Give them a daily report, if need be. Effective communication is important.
Most people don’t use the golden rule of social skills. Don’t be unwarrantably honest, don’t be insulting, be creative. Appreciate others, be polite. Don’t cause anyone actual hardship.
Discovery: clients were also small to medium sized businesses. They appreciate ‘personalised service’. No one likes going through the helpdesk loop. Have penalty rates before hand — imagine getting called at 2am on a Sunday morning!
Remember, there are different types of clients, and the difficult clients produce the most work. Ideal clients? Technically clueful and well-resourced. They hire you for specialist skills. Unfortunately, you won’t get too much work — too clueful and organised. Call them regularly, make them feel loved, so remain fresh in their memories.
Difficult clients, tend to be disorganised, have few technical skills, and may need full-time staff. Everything is always an emergency with them!
Intermediary clients — these are people that want you to do work for their clients. These folk can be interesting to work with — they can do specifications, scoping, management & client liaison, and even invoice on your behalf. They can also be awful — imagine getting poor specifications and scope. Not having access to the real client, you have to wait ages to get an answer. Worst? “You get paid, when we get paid”.
Most satisfying work, tend to have good closure. Some things never have good closure — this is like system administration. Its never going to end! Software maintenance, doesn’t have good closure (features, documentation, etc.).
Poor closure = good income stream!
“As a consultant, I can choose the work I do.” However, what it really means is that you choose between work and starvation! You cannot be picky at the beginning. You will have to do grunt work, before you gain the reputation.
Sys-admin and development work during the start, was hard for Perl Training Australia. He couldn’t develop training materials, and develop the actual training. He left his full-time work to gain more time, but during the first year of the business, he was working 12 hours per day! 2 hours per day, is clearly not enough. Clients want their work done now, not by Christmas.
So he worked 60 hours/week, and was happy. He kept saying he would take time off later. Remember, clients need constant support, so you’re not going to go on holidays.
Consultants get heaps of money. But only for billable hours. They don’t include things like office tasks (getting stamps!), book-keeping, travel time, systems administration of your own systems, meetings with clients that don’t employ you.
Ideally, you would like to make money without spending time. This is probably the number one reason to start a business. Good way of doing this? Recurring revenue via a hosted service or a subscription service. In training, each extra person on a course, don’t represent a big cost. Product sales is also useful.
Employees do work for you. They spend their time, to make you money. This means you can then do more work, or grow the business.
Hiring employees is a lot more work. There are legal aspects (tax department, contract negotiation, etc.). There is the requirement of office space. You need to show them the ropes of the business, because they will not know how your business works.
When you’re busy, it is the wrong time to hire. Think of the Mythical Man Month. You’re going to be overloaded. The right time to hire is when things are quiet. Always, have foresight, and planning as a small business owner!
In a large business, there are differences between sales and systems administrators. In a small business, the positions become less well-defined, so you’re going to have to ensure you and your staff multi-task. University students don’t really have this “Small Business Shock”.
Keeping the perfect employee? Keep them happy. Spoil them. Do whatever it takes. Because remember, hiring someone new, is actually expensive; you’ve already trained your employee!
Technorati Tags: languages, perl, business, open source, training, open source business
[…] Link […]