4

I'm working on an ambitious, commercially-driven open source project* (it probably falls under Wikipedia's definition of Open Core). I'm an engineer on the project, so I don't have too much sway over all of our policies.

The majority of the code is in public projects on GitHub, and we have public mailing lists, but that's pretty much the extent of our open source engagement. We use the mailing lists to respond to questions from the community, but a lot of topics go unanswered because they are low quality or because we have deadlines and we don't want to spend too much time on the mailing list instead of delivering features.

We have a corporate-mandated contributor agreement that is more like a contributor deterrent IMO.

We currently few or no passionate community members who feel strongly enough to represent our support as a volunteer.

I've been able to find a few guides (Producing Open Source Software was perhaps the best) about building open source communities, but all of them are under the premise that a project is pure open source with the ability to be transparent to the community.

For the things I've described above, I know we can do better, but I don't know that I will be able to get management's buy-in on any of those.

What kind of things can a commercial open source project do to engage and build an open source community?


*(I've intentionally not explicitly named the project; the views in this question are my own and do not necessarily represent the views of the rest of my team or my employer.)

2
  • 1
    You have to figure out who your customer is. Once you figure out who your customer is you can look at ways getting them to use your project, but if its one of several well known options that will be tough.
    – Ramhound
    Commented Apr 15, 2013 at 15:21
  • 1
    What do you want from the open-source community? What does "engagement" mean to you, in other words? Commented Apr 15, 2013 at 16:27

1 Answer 1

4

So what?

As in, you need to ask yourself "so what?" in order to help determine the answer to your various questions.

So what

  • is it you're looking for from an open-source community?
  • does it mean to them to be a member of your open-source community?
  • will you do to demonstrate your commitment as the commercial backer to the members of the community?
  • will you do to protect the community should your employer choose not to continue development of the core project?
  • will you put in place to make it easier for your community to understand what your product is; what it can do; and how to work with it?

I was actually half-tempted to vote-to-close as Not a Real Question because this is a very, very broad question. But I'll offer up questions in return in order to help you answer your own questions.

First off, what does having an open-source community around your core mean to your employer? Either there's value, or there isn't. Prioritize according to the perceived value to the business that will be generated. In this chicken-and-egg game, the business has to commit first.

Next up, demonstrate how the business is going to commit to the community. Is there a high barrier to understand the core? Put some tutorials out there. Can the core do anything interesting? Demonstrate it, or better yet continue to expand the core! Reasonable questions from the community not getting answered by someone from the business means you're not committed. Often times, you need a community evangelist within the company before the community finds its own evangelists.

Finally, consider what value there is to the community to use your core. Your software needs to provide value to them. That value could be "fun", making XYZ easier to do, or whatever, but there has to be some sort of appeal. You have to protect the community's investment of time as well. The talented folk who have the ability to advance your core aren't lacking from things to do. They need to see the value and long-term payoff in contributing to your commercial entity.

Those are the issues you need to delve into in order to find the answers you're looking for.


As an aside, the contributor agreement issue may or may not really be an issue. It's clear you don't like it. So what? Can you prove that it's detracting from contributing? Can you suggest a better way of protecting the company's ability to expand and control the project's direction while also protecting the community's contribution? I agree it may be an issue, but you have to evaluate it within the broader perspective.

Are there other projects within your employer that have successfully built a community of support? Identify what they're doing and yours is not. Run each of those differences against the So What? tests and implement the ones that matter.

1
  • Thanks for the very detailed answer. You've definitely given me a lot to think about, and there's a lot that I don't yet have a response for. Commented Apr 16, 2013 at 2:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.