John Sample

Bits and Bytes
posts - 103, comments - 354, trackbacks - 16

On the source

Ok, I've been talking about releasing the source for a while now so let me explain the delay and recruit suggestions on how to proceed.

First of all, thanks for the all the email. I stopped responding for a bit there and I hope to do better in the future.

Second, I'm torn on how to release the source. If you have seen the background of the project so far you'll discover this started as a pet project after I couldn't find any viable source for reverse geocoding information. The installer was a nice touch, but keeping up with both the evolving census data and actual improvements to the program has gotten out of hand. Right now the installer has been (obviously) rendered useless until I can revamp it.

Part of the lack of communication was due to an episode with a user who needed help. It was a long, drawn out, frustrating email exchange which eventually netted a working system. I later found out the user was the employee of a LARGE global consulting firm and they were putting it on a client's system. (Hehe, whoever the client is got ripped off.)
I love GPL zealots, but frankly I'm not one of them as my mortgage gets paid by designing software.

Before I release the source I'd like to find a way to license it so that it can be used by small developers/low commercial/nonprofit but also balance the need for compensation for commercial use. I'm not looking for the “give it away and make money in support” model here because I really don't have the time and it would probably violate my employment terms. 

What I'm looking for:
1. Allow non commercial use.
2. No reselling, repackaging, commercial use without permission, although this doesn't necessarily mean any purchase is involved.

Ideally I'd like to form some sort of co-op where contributors could benefit from commercial use.

Anyway, any ideas on how to license this thing to protect the time investment it requires?


posted on Friday, February 10, 2006 2:43 PM


# re: On the source

Hi John: It's good to hear you're still around ... I was about to send out Search And Rescue teams to find out what happened to you :P ... ;)

I totally understand your position. I am no licensing expert, so I cannot tell you which license to release the code under.... However, I would really like to, primarily, be able use it in a small part of a commercial application (it would be used instead of the Open Source PERL code, which is difficult to integrate into a .NET app.). I hope you release it free for commercial users if they contribute to the project *before* deploying it in a commercial context. Wait. Before, you say "No," please read on.
I think this would be appropriate because your code is inherently not 'stand-alone', and therefore almost *any* use will build upon the code; this requirement could help create a very helpful index of geocoding related utilities and other resources - quite possibly a revenue generator for you through advertisements. The nice thing for you is: you get the "community" working to create the resources that add value and will be viewed by anyone looking to use your original code - all this while you do not need to develop anything further.

- Dan!

2/11/2006 7:51 PM | Dan

# re: On the source

Hello John:

I too was wondering if you had an accident or something... you were gone far too long I think.

It's a no-brainer for me to see your concern in getting nothing out of all your efforts... for what?...just to have people take your efforts and make it seem like their own. I share your frustration. That being said, it would be much much worse to abandon all your work and for no one to be able to share your hard effort contributions to improve upon their own works. So I would like to state that although there will be those who abuse and IMHO "steal" your rightful recognition and possibly your right to financially be compensated for such, that 9 out of 10 developers will be straight with you if you ask them what they will be using the software for.

Without rambling on much more, may I suggest that you require downloaders to simply register their use of the Geocode software for the record with you, and have them acknowledge that given that the software is initially free, that you reserve the right as you see fit down the road to potentially amend the "license" to include possible royalties limited to 1/10th of the proceeds from its use or $10K (whichever is the lesser amount) from the time of downloading and forthward. Also include that the license must be renewed annually with the downloader/product owner until such time that you choose to waive that right forthgoing. Possibly include a statement that they may be able to purchase a one-time non-exclusive royalty free perpetual use developer-tied license for $xxxx.xx with no support nor warranty or fitness for any particular use... that should cover you.

Such a simple license will then give you options down the road and possibly be able to then make a buck or two off of your work. It should be your descretion to decided whom you let use the code for free and whom will later be required to pay a known amount down the road... nobody is forcing them to continue using it.

So John, please keep up the hard efforts... you've done a wonderful job so far and I think that many out here also appreciate what you've created. Many of us recognize that you ought to have the right to charge those whom you wish to charge and give it away to those whom you wish to... its your decision and right.

BTW, please reveal the one who took advantage of your generosity... especially if he/she was working for a big company... they ought to be ashamed of themselves and public exposure is justified in my opinion.


Mark Chipman
2/12/2006 11:36 PM | Mark Chipman

# re: On the source

Thanks guys.

Yes, people who contribute should be able to use the code without a license.
By commercial use I don't mean mean using it on a site with google ads on it, unless you're making thousands a month off of it.

There have been several companies ( and individuals who have donated to the project in return for some help. Each time I've been able to put that money back to use.
For example, one of the issues with using MySql is the somewhat murky licensing with the connector/ADO classes. By using the MySql driver any code that uses this library would have to be GPL. To give everyone the option I purchased a 3rd party driver license which allows anyone using the geocode api to leave their source closed.

The next project purchase purchase is going to address some of the city/state/zip issues. I can get an excellent database of zip codes from the USPS, but it costs $400/year to license.

One thing I hadn't thought of was removing some information from the completely free version, like type 2 points.

Sorry Mark, there won't be any public flogging as tempting as it is. My job brings me into contact with just about every consulting company out there and many of my contacts read this site. The last thing I need to do is start a fight. To be fair they really didn't do anything wrong, I just didn't ask the right questions.

I'm going to go ahead and setup a VSS/CVS server of some sort and start giving out access while everything is being sorted out. IF the project gets to the point where there is a charge for use my goal would be to have any proceeds split between contributors. I think $ will be the best motivator in getting code contributed, plus add incentive for expansion.

I'm going to setup a CVS server tonight or tomorrow. Dan and Mark, send me your email addresses and I'll make sure you have access.
2/13/2006 8:32 AM | John Sample

# re: On the source

Thanks John. My email address is [email protected] or [email protected]

Appreciate it.

2/13/2006 3:46 PM | Mark Chipman

# re: On the source

Hi Mark,

I've read the above posts and the thoughts I have on the system are as follows. I agree with you regarding the problem where open-source software is being sold. In fact I was reading on recently where this guy actually has the nerve to sell all kinds of open source software and pull the names from it . However, I see two different uses for your code:

1. You could essentially sell your geo-codes the way other providers do...this I agree is rediculous, in fact the solution you created was from what I've read, is suposed to be an answer to that problem.

2. The geo-coding, reverse-geocoding could be used in conjunction with a home brewed app that serves another purpose, which has the eventual goal of trying to generating some revenue. Isn't this every developers goal for at least one personal project??

I take issue with a liscensing solution like the one in above posts, 1/10th of the profit generated or 10k whichever is greater really would have to have more definition. In senario 2, you'd really have to determine how much of the applications success can be attributed to the geo-coding aspect of it. And then how is this any cheaper then purchasing geo-coding credits from a provider who makes sure your maps are up to date, to me it sounds like more maintanance for something you potentially would have to pay for.

I agree what you've provided thus far is amazing..and i would love to see further development, I've been looking forward to being able to get more accurate reverse-geocoding from my own sql server... and downloaded sharpreader just to stay up to date with your posts..awaiting your return, congradulations on your child.

I guess I was just hoping it would remain open-source, if your looking to generate some revenue from the about deciding on a flat fee your looking for from the project. If you're looking for help developing it further, i'd be happy to help.


Frank Walsh
2/15/2006 7:31 PM | Frank Walsh

# re: On the source

Hi John,

Latinamerican countries have barely digital maps available. I am working on a way to make this disadvantege smaller. Is it possible to use your reverse geocoder with data from other countries like Colombia? I have shapefiles of some cities of thie country... may be I can extract the data needed to make the reverse geocoder work?


Juan C Olano
11/22/2006 2:13 PM | Juan C Olano

Post Comment

Enter the code you see: