views:

178

answers:

2

I have been working on an application that relies heavily on work that people have contributed to the open source community. Specifically I created a neat application that I think will help me retain customers and continue to get new customers and might even allow me a little pricing power. The application was developed in Python and relied on two modules that others developed. I have already made plans to acknowledge the PSF and these two developers financially. I basically am going to pay them what I can afford. I was relieved when I read on the PSF website that it basically took a $2,000 donation to get elevated to a sponsor member. I decided that I could afford the 2,000 but half would go to the PSF and the other half would get split between the contributors of the two most important modules I used in my application.

It would be interesting to read other people's thoughts on this issue. What is the right way to do this and what amounts are appropriate. I will not share the names of the modules since I think the receipt of my contribution is their private business.

+6  A: 

That is a commendable initiative.

Usually, when people contribute code to the community, they do not expect financial returns. They tend to do it to make their own life easier, to improve their reputation and their professional credentials, to share work as a way to give back to all who have shared before, or to feel that they are forwarding a common goal.

So depending on the contributor the best contribution could be one of:

  1. Some money as a way to say thank you. But the logistics of it are often dissuasive.
  2. Patches (code, documentation, artwork) to the project itself. Paying a graphic artist to make a real logo could be nice touch.
  3. A nice job where they can do interesting Python hacking for a living.
  4. A public testimonial of the usefulness and quality of their work (that they can use to get a nice job).
  5. A public code release of your own, and letting it known that you released you work to give back to community that provided the two specific modules.
  6. Themed schwag that the guys could give away at the next geek convention.
  7. Paid expense travel to have a dinner and a few pints with you.
  8. Several of the above in any order.
ddaa
+2  A: 

The only problem I see with trying to split some money between contributors to the modules is finding out who contributed. Unless the modules were solely written by named individuals, open-source projects are typically a conglomeration of inputs from various people.

For example, the Linux kernel is managed by Linus Torvalds but receives source code from many different people. Who would be the receipients of the money? On the other hand, the SPE Python editor is managed and coded by one person; there may be some source code donations by others but mostly it's just one guy.

In cases where the module is truly a community effort, I think it makes more sense to contribute to the community itself, rather than individuals. Ergo, a financial donation to Python.org (which you are already doing) or to the project(s) that manage the modules you used (if any exist). Otherwise some of the suggestions ddaa made are probably better.

crystalattice