Doubling Down on Open - Why not two separate repos?

When i read the "Doubling Down on Open" information correctly it looks like that the x-pack source code will reside in the same github repo as elasticsearch code itself and that there is a big confusion about licenses for this repo and the x-pack folder.

What i don't understand is why elastic is doing such strange things instead of just creating another x-pack repo with a cleary proprietary/eula license and leave the original repo(s) just unchanged and pure FOSS/ASL2?

Combining source code with totally different licenses in the same repo is weird and i have not seen such an approach ever before. And developers who make substantial contributions to x-pack (non-FOSS) still owe Elastic money when they want to use their own contributions. No one will seriously do that.

Yes, that's correct - we will be adding the X-Pack code to the Elasticsearch (and Kibana/Logstash/Beats) repos, into a folder called x-pack, to keep the code clearly separated. There will be no changes to the existing Apache 2.0-licensed code - we’re just adding the X-Pack code, under an Elastic License. We’re working on the details of the license language now and will publish it when it’s ready. This is a new model, and we’re taking a risk by opening the code of our commercial IP, but we are choosing to be more open as a company.

Today, we maintain X-Pack code in a separate, private repository because it’s closed source. But having the X-Pack code in separate repositories has real downsides - it means that issues, pull requests, builds, etc must be kept in sync across multiple repositories, for each branch, for each product, by each developer and all of our CI infrastructure. We took on that complexity within our engineering team because it was the only option with separate repositories. In opening the code, we’re taking the opportunity to simplify things dramatically, and that will make it easy for anyone to create and track issues, and contribute. By definition, this also means that we’ll be able to develop code more quickly, get feedback faster, and this ultimately allows us to make better products, which benefits everyone.

It’s important to note that there are free features in X-Pack - like Monitoring, grok debugger, etc. So a contribution to these features, like a new chart in the Monitoring UI, would be included in the free tier. I agree that there is little incentive for non-customers to contribute to Gold/Platinum features, but we are looking forward to the ability to directly collaborate with our customers on Github.

4 Likes

I think it's completely a win-win regardless of being an open-source only, or Basic license user, or a paying Gold or Platinum customer.

Before this change:

If you were using the free Basic license features:

  • If you found a bug (or had an enhancement request), the only thing you could do was tell Elastic about it in https://discuss.elastic.co or in an IRC channel.
  • You couldn't create a github issue yourself
  • You couldn't track or comment on any github issues on bugs or enhancements
  • You couldn't contribute to the features you were using

If you were a paying Gold or Platinum customer:

  • If you found a bug (or had an enhancement request), the only thing you could do was tell Elastic about it in https://discuss.elastic.co or in an IRC channel, or contact support.
  • You couldn't create a github issue yourself
  • You couldn't track or comment on any github issues on bugs or enhancements
  • You couldn't contribute to the features you were using

After this change:

If you are using the free Basic license features:

  • If you found a bug (or had an enhancement request), the can still tell Elastic about it in https://discuss.elastic.co or in an IRC channel
  • You can create a github issue yourself
  • You can track or comment on any github issues on bugs or enhancements
  • You can contribute to the features you are using

If you are a paying Gold or Platinum customer:

  • If you found a bug (or had an enhancement request), the can still tell Elastic about it in https://discuss.elastic.co or in an IRC channel, or contact support.
  • You can create a github issue yourself
  • You can track or comment on any github issues on bugs or enhancements
  • You can contribute to the features you are using

There's lots of reasons paying customers WOULD want to contribute to the commercial features they're paying for. They might have a fix for an issue that greatly impacts them but doesn't impact others and isn't being considered a high priority for Elastic to fix. But if it's important to them and they know the fix, they could now create the PR themselves and get it merged. After it's merged Elastic tests and maintains it. Same for an enhancement. The more customers contribute, the more valuable it becomes for all of them.

1 Like

@skearns @LeeDr got it, thanks. But when this is so great and beneficial why x-pack was closed source for so long time? Why not open it earlier or even better, made it open code from the first day on?

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.