The very idea of monetizing open source software – especially projects that have a list of contributors – is something that I spend more time thinking about than I’d like to admit.

One of the many Dev Practices

One of the many Dev Practices

And I bring this up because there are a number of things that I’m working on (and that I’ve seen my peers work on), that are directly impacted by this.

As with anything, I’ve my own opinions about this, but I’m curious as to what you guys think as it relates to monetizing open source software.

Monetizing Open Source Software

First and foremost, this is not a discussion around any of the terms and agreements that come with any of the popular open source licenses (especially the GPL given that that’s what anything that’s built on WordPress falls under).

Secondly, this isn’t so much a moral discussion as to if it’s right or wrong to monetize open source software since it can be made available more free under many popular licenses (and, for what it’s worth, I obviously have no problem with this).

But one of the challenges of monetizing open source software is how to reward contributors. Though there may be variations on each, I really see this reducing down to two scenarios.

The Open Source Scenarios

Let’s say that you’re working on a premium theme or a plugin, and you opt to open up the repository for other people to offer contributions.

This assumes that you’ll reject anything that’s outside the main mission and vision of your project, but that others may contribute fixes and patches for problems, optimizations, and so on.

Then you tag a version, release it, and begin (or continue) to make a profit.

How do you reward your contributors? Or do you?

1. Contributors Are Volunteers

On one hand, contributors are volunteers who are offering their time, expertise, and skill to improve a product that they enjoy, believe in, and/or want to see succeed.

And isn’t that the definition of volunteer?

a person who freely offers to take part in an enterprise or undertake a task.

To that end, the contributor understands that their contributions are being made “freely,” and doesn’t expect compensation – of any form – in return.

2. Reward The Contributors

On the other hand, if the product that you started becomes financially successful thanks to the efforts of not only your initial and continued efforts, but the efforts of other people who have contributed to the product, do you reward them?

If so, this presents a couple of questions:

  1. How do you determine how to reward each contributor?
  2. Contributors often add varying degrees of contributions to a project, so are some contributors rewarded more than others? If so, in what ways?

On top of that, will paying contributors motivate them to continue adding more and more to your project? Once they are being paid regularly, don’t they transition to some type of contractor (or something similar)?

What if this takes the project in a direction that you dislike, or you end up rejecting patches despite a significant amount of work on behalf of said contributor?

Obviously, this is a much more of a complicated scenario.

I’ve seen this play out in a number of different ways, each of which I firmly believe is up to the discretion of the project lead, but that can breed a number of issues with the project contributors.

Anything Else?

I realize that this is largely a personal preference and that there’s no right answer, but that doesn’t mean that we don’t all have some opinion or lean in a certain direction on the topic.

Generally speaking, I’m of the mindset of contributors are volunteers – and I say this not because I’m monetizing a project that receives profits, but because of my participation in a number of other open source projects.

That said, I don’t dissuade anyone from rewarding contributors – after all, would a project be in its given state without the contributors of others? There is something gratifying about giving back to the people who have helped you.

But there you have it – I tend to lean in the direction of the first scenario. You?