Why should you donate code to an Open Source Project
I have had to field this question a couple times in the last week; most recently from a old GeoTools buddy by the name of Cameron. Apparently I am working on Open Location Services and he knows a buddy who is working on the same thing.
How would you answer a question like that? We all know the default answers, they form mantras for the open source movement. Things like many eyeballs just donâ€™t seem that relevant when you are working in a niche like GIS (where data is king and programs are often â€œwrite once, run onceâ€).
So why donate your code to GeoTools?
Here is my answer:
1. Do you expect others to contribute "plug-ins" or additional functionality to your work?
If so donating your API to an open source project is a great way to slurp up additional functionality. The OpenLS spec defines the ability to look up addresses, this is an â€˜open ended problemâ€™ (where 100% success is not possible) so using an open ended solution such as a plug-in mechanism combined with community involvement would really shine.
2. Donating the implementation allows you to share your maintenance cost with others.
This is especially important when your implementation is defined against a specification that is going to be changing in the future. . The future is risky; share the risk (and work) with others.
Cameron responded with the other possibility:
3. Is someone else planning to write an OS version of your code? Thus removing the value from selling.
That would be the stick.