Saturday 17 January 2015

When should you write software for free?

In today's plethora of free software applications, I am asking the question it is really free and when should you work for free? Surely somebody has paid for it, what are the providers of free software trying to sell/push. I may be old school but Mum always said nothing in this life is free. Aside, our family was discussing the governments carbon tax and that emitters of CO2 need to pay a tax and my innocent daughter was very concerned and asked how much she would have to pay for exhaling. Think about it, somebody is sitting in front of a computer and writing some code with the intention of making it a free download, giving it to a customer for free or just giving it away. Why?, who is paying for his time?, his/her employer, his/her parents, or worst still themselves. Lets explore when it is OK to write for free!
So if you are writing some software for for each of these categories, should you provide it for free. I.E you are paying for it.
Family
In my life family comes first and if there is a genuine personal need and I can help out why not, as long as they are not profiteering from it. Example: Your brother wants you to set up a website for his business. You may charge him a lower rate but by all means not free, he is going to make money from it right? OK so when would family need free stuff. My wife is super super cautious about on-line security and keeping passwords safe, but was having trouble keeping track of the hundreds of sites and passwords she has. There are good password storage software options out there I said, how can I trust them she said, 256 bit encryption, salted master password one way hash I said. Don't know what it means and I don't trust them. OK so I relented and spent some time writing a password vault application for her. She felt special and I learn't some handy encryption algorithms in the process.
Business
Never, ever do work for free for a business, they are there to make money and if you are providing a service that will assist them in that endeavor then they should pay, no exception. Do not trust any of the standard statements, it will provide you good exposure, there is a promise of future work, we are a start-up, if you don't do it we will get somebody else to do it and the list of excuses goes on and on. I have fallen into this trap once too often and why I am qualified to say, if you do it for free you will always be expected to do it for free or less than what the work deserves. OK, so you have written some stuff for free for a business for whatever reason and they may be legitimate, yes I said never ever, what now? You need to be clear to the business that it is not free because I haven't charged you this time, it has a cost and I have paid for the cost and it is going against your ledger. It will balance one day and if it starts to get out of hand (you are doing more than you are getting paid for) you are being taken advantage of. It would be better to go and sit on the beach and reflect on your life.
Charity
A charity is a tough one, as there are many cases where a charitable organisation has budgeted for and prepared to pay for professional services. They don't get their rent, water and electricity for free. I guess it depends on your support of the cause. Know that there isn't any monetary payback only the satisfaction is that you have assisted in a worthwhile cause.
Friend
Business and friendship very rarely succeed, at some point money gets in the way. So where possible keep them separate, make them pay for your services and get them to charge you for theirs. By all means discount but if we are in business do not give away stuff to anybody.
Hobby
So you belong to a local club, they need a web presence, some form of registration for an event they are hosting. It is non-profit and you are providing your time in growing and helping the members of your club. If you are not being taken advantage of, and this may be difficult to gauge, then it is OK to do it for free. Again know that you have assisted in promoting your club, there is no monetary payback but you will have the satisfaction you have helped your club.
Other
I couldn't think of an appropriate category for this one, but this is one case where I could write software without getting fully paid for it. You want to learn a new skill and there is no better way to learn it if you have a specific goal in mind. You may take longer to write the code and the person/organization will benefit from it if they are prepared to wait while you skill up and hopefully your learning doesn't produce dodgy code. So they get code written for  little cost (they should pay something for it) and you gain a new skill. Note I didn't say free in this section as you are being educated which is your cost to educate, the person/customer you are writing for is paying in a longer than normal development cycle,the chance not everything will work correctly first time and the application for you to write

Wednesday 24 September 2014

Ignore the customers request?

After 3 years of using the same hosted accounting application for my business I decided it would be good to see if there were any better on-line products out there, technology has moved on right?
I selected to trial a package based on the ability to migrate my data and provide similar functionality. I must say from the outset everything looked great including a top class data migration service. A purely web based solution, these guys have produced a good accounting solution and hey, my accountant gave it the thumbs up so it looked all set to go.
I then went and tried to customize the invoice layout, should be an easy task it has a customize look and feel option. Once I got going with this I soon realized the options were very limited, a choice of a few standard templates and turn on and off some fields. So whilst I was happy to compromise on an invoice layout not exactly the same as the original it did need to come close.
So I contacted support to see if there were any other options and how I wanted it to look, stressed I could create any layout I wanted with my old software and wanted my invoice to come close to the original. Support were fantastic, assisted me with each point I raised and solved some of my issues, but I soon realized that this was just not going to work.

I said "I am consulting in the IT space I need to be sure that all communication from my company is of a high quality and error free. My brand logos and stationary have been designed with a common look and feel to reflect my companies professionalism in this regard. This goes for proposals, quotes, reports, statements, invoices etc.., why should I re-design my other stationary because the accounting package cannot produce the appropriate invoice layout?"
Support faithfully continued to assist me where they could, but I fear the product just cannot do it. So ends the trial and I will stick with my trusty old accounting package secure in the knowledge that if I ever change my company brand that I can make my invoice and statements look like my company designed stationary and not have to do it the other way around.
I truly hope that I listen to and more importantly understand what the customer is requesting and if I cannot deliver say so!

Wednesday 13 November 2013

Welcome!

Welcome to our blog!.
We have been keen to share some of our experiences, news and code snippets.
In the coming months we hope to fill this site with information other software developers will find useful.
Stay tuned.