New Domain: :-)

I’ve recently acquired a new domain that I’m very pleased about. will now forward to this website in the same way as Only with six less keystrokes required.


When discussing domain names, small is way better 😉

Software Licensing and Software Piracy: Part 2

Part One of this article finished with the following question:

What is it fair to expect your customer to do to license their copy of your product, and so help protect your product, your sales, your livelihood and the future investment and development in a product that is important to both you ?

I believe that it is fair to expect the customer to do something to help the software developer protect their product, after all if the developer doesn’t stay in business then the product doesn’t have a future and the customer could be left high and dry.

That’s not to say the customer can be expected to jump through any hoops … the emphasis is on the developer to provide a method of licensing their product that can be done quickly and easily and thus encourage the customer to purchase and use a legitimate copy of the software rather than paying a visit to **insert name of dodgy virus ridden download sites here** or similar.

My opinion is that if I, as a user, purchase a piece of software for my own use, then I should be entitled to copy it onto my PC and my Mac and my Laptop for use whenever I like. I should also be able to copy it onto a USB Drive, connect the drive to a friends computer and use the product there also. I should not however copy the software to my friends computer thereby giving them the ability to use it in my absence. I expect to have to follow a documented procedure to identify to the software that I am the legitimate owner. This should be a simple and one off process.

I believe the previous paragraph is fair to both the customer and the software developer. I believe most people are honest and do not mind paying a reasonable price for a quality product. The software industry has in some ways become its own worse enemy with some companies having complex and unworkable, illogical and unfair licensing practices. ‘We need the customer more than they need us’ is something developers should be bearing in mind.

What prompted me to look into Software Licensing and then to write about it and to ask for feedback from other colleagues, professionals and interested parties, is that I have a new product soon to be released. In my opinion every new product is an opportunity to improve the purchasing and licensing experience for your customer. You only really get the one chance to get it right.

oneSql ( runs natively on Windows, Mac and Linux. It supports five languages and four databases. It is a tool that some DBA’s and Developers will want to put on a USB drive and carry around. Does (should?) copying oneSql to a USB Drive go against the Software License ?

No. Restricting access to a single computer either by the installation of Configuration Files or Registry entries goes against the design of Utility software. Utility software which in my humble opinion is the Developers or DBA’s equivalent of the tradesmans tools.

Can you imagine a screwdriver being licensed to only be used on a given object ? What if you had to pay for another license for every object on which you used your screwdriver ? Forget the expense, it’s just not convenient. I don’t want to punish legitimate users of my software in a vain attempt to stop people stealing my software.

The Software License I have settled on for oneSql is simple, and is basically per User / Concurrent. It is so simple it is summed up in the following, single, paragraph.

The oneSql Software License

You can copy and use oneSql on your own personal computers with one instance of oneSql allowed to be in use at any one time. You can put oneSql on a USB device and plug that into anyones computer and use oneSql from the USB device for as long as you need. All Licenses are valid for all supported Operating Systems, all supported Languages and all supported Databases.

I am making it easy for the customer to know if they are infringing the spirit of the Software License agreement. I am not stopping them, or even making it particularly difficult for them to disregard the license, but I am asking them for honesty. If that fails then there are several other incentives to help the customer make the right decision …

Active Incentive: Referral Fee
With a referral fee paid to a oneSql customer when they recommend someone else, it is in the customers financial interest to get their friends and associates to purchase a oneSql license.

The following short and simple (can you see a theme here?) paragraph explains.

The oneSql Software Referral Scheme

A payment is made to an existing customer 30 days after a new customer makes a purchase based on an existing customers referral, and quoting the existing customers referral ID within 48 hours of purchase. The payment amount is 10% of the new customers spend (before taxes) and the payment will be made via Paypal.

Passive Incentive 1:
The licensed user name is displayed in the titlebar of the startup window as well as on the main window. Hopefully this is a deterrent as the original purchaser does not want their name showing up elsewhere and the user doesn’t want to see someone elses name where theirs should be.

Passive Incentive 2:
oneSql is fairly priced. That’s self explanatory. Customers do not want to feel they are being ‘ripped off’ or being taken advantage of.

Passive Incentive 3:
Offer a choice of license types and schemes that not only give the user choice, but also offer additional discounts for worthy establishments, education and charities for example.

The different types of software license that are necessary in order to give the customer the choice they require, can also bring additional and unwanted complexity. In order to also give the customer the licensing choice as well as the simplicity they desire the additional license types are all costed at N * x. N is the Single User Standard Price, here shown as $30 and x is the multiplier. An example is shown below:


Trial Mode

The above incentives are for a potential customer who has obtained an illegitimate license from somewhere and I am trying to attract them into the fold. What about a customer who has downloaded a Trial Edition of the software ? For them we have to give them the chance to see the full capabilities of the software, while also convincing them to reach for their wallet. Trial Mode restrictions can make or break a product. For oneSql I have implemented the following:

  • Restricted the Saved Connections to Four
  • Generated a Nag Message after Every Query

Note that I have not restricted the Trial to 30 days or similar, nor have I restricted the functionality in any way. The potential customer can still see and access the full capabilities of the product, I have just made it a little bit less convenient than if they had purchased a licence.

In order for the Trial Mode to be successful for you and the potential customer it is necessary to again pay attention to the overall customer experience.

For oneSql I supply a configured sample database so that the user can experiment with the product immediately. I also supply a full, quality manual. Something missing in the vast majority of software products available today. Will every customer read it ? No. Will a high percentage of customers notice if it’s not there? Probably. The customers experience is what will get you a sale,  or not. I believe that is how it should be.

Part Three of this document discusses some of the technical methods, issues and problems involved with Software Licensing.


Affiliate Links

Software Licensing and Software Piracy: Part 1

Your favourite piece of software was created by someone, or many someones, who used their time and hard won expertise to build something useful or enjoyable, or both. With the exception of Free Software or Open Source Software, that someone is entitled to, expects and deserves to be rewarded for their efforts.

If a price is attached to the software and you use the software without paying the price that is asked, then that is Software Piracy. Many would argue that it amounts to nothing less than theft.

If I sell physical products, lets say Widgets, then if I have 10 and you take 10 without paying for them, then I now have 0, you have 10 and hopefully a guilty conscience as well. That is theft. If however you use my software without paying for it then I am not directly affected by it. I still have it. Would you have bought it if you couldn’t have obtained a pirate copy ? Maybe. Maybe Not. In my opinion that is why Software Piracy differs from traditional theft. What you have actually done is taken away my chance of receiving income from you for that software sometime in the future. It just isn’t clear cut either way, with laws, policies and attitudes being firmly rooted in the ‘pre digital media’ 20th century.

Having established that there is a cost to producing software and that the developer does deserve to be rewarded for their time and efforts, it stands to reason that we have to have a mechanism in place that makes this possible. That mechanism is generally known as Software Licensing.

I’ve been developing software for financial reward for nearly as long as I’ve been using computers, getting on for thirty years, and I have never wavered in my belief that whatever form of licensing you use, you should never punish the genuine, fee paying customer for the actions of the Software Pirate.

Seriously, I have bought software in the past that had licensing schemes so restricting or complex or time consuming (or just plain ridiculous), that I have saved time and effort by downloading a cracked copy of the software and using that instead, all the time cursing the software developers for making me waste my time and effort. In effect punishing me for my honesty.  As a Software Developer or Software Publisher that’s not an experience you want for your customers.

Whatever Software Licensing mechanism is used, there will always be some who do not like it and resent it being used. If as a developer you have done your best to minimise the impact on the genuine customer, whilst making some effort to thwart the Software Pirate, then you have done all you can and any customer who is going kick up a fuss about your licensing mechanism is unlikely to be a customer you actually want. Most customers would actually like you to stay in business and realise that to do that, it is necessary to be paid for the work you do, and / or the products you sell. Sacking your customer can sometimes be a good thing. But that’s a subject for another blog post 🙂

So what is a fair software license, for both the supplier and the customer ?  What is it fair to expect your customer to do to license their copy of your product, and so help protect your product, your sales, your livelihood and the future investment and development in a product that is important to both you ?

Part 2 Soon …


Affiliate Links

Sorting and Archiving

Sell Some • Bin Some • Keep Some

In my ongoing quest to reinvent myself this year I’ve been sorting out my Software Products and archiving Source Code, Documentation, Images, Demo Movies etc. The image below is most of the software products I have written since 2009, mostly in Xojo / Realstudio, some in VB.Net, C#.Net and a couple in CoronaSDK.

I would never have guessed there would be quite so many 🙂


Products and Affiliate Links

Free: macsFileMover

This is the second of my products that I have decided to release , free of charge for personal, non-commercial use. This is a  small utility product for Mac OSX and Windows.

If you find my software useful and you feel you’d like to help with my personal quest for a USA PRS Guitar then feel free to make a donation via Paypal. My address is 🙂

Click Here for Further Information …

Product: macsFileMover
Purpose: Automated File Moving and Copying
Platform: Windows and Mac OSX
Size: 5Mb
Copyright: Steven John Cholerton


Supplied Free Of Charge for Non Commercial Use Only
Businesses and Other Organisations Contact Us:


macsFileMover allows you to setup multiple file Source and Destinations and at a user determined interval the contents of the SOURCE folder will be COPIED or MOVED to the DESTINATION.

That is pretty much all it does.  Where it excels is when used on servers particularly when regular archiving of logs etc. is required. Once setup the Source and Destinations can be saved to a preferences file and then reloaded when you next use the software.



Affiliate Links