hedronvision / bazel-compile-commands-extractor

Goal: Enable awesome tooling for Bazel users of the C language family.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Help us help this project by adopting a standard license šŸ˜

chadnorvell opened this issue Ā· comments

Howdy,

I work at Google on Pigweed, an open-source platform for embedded systems development thatā€™s widely used both inside of Google and by other companies, and thatā€™s shipping in millions of commercial products.

Weā€™re working on making Bazel the best build system for embedded development. A major part of that is providing an excellent multi-target C++ development experience via clangd. Bazelā€™s inability to generate clangd compilation databases has prevented us from reaching that goal so far, but this project fills that gap perfectly (as you well know!).

Our sole barrier to adopting this tool is the license. I've read the previous discussions on this in #9 and #63 and have a sense of your perspective on this. But thereā€™s just no path to us being able to incorporate code or binaries that arenā€™t licensed with a standard open-source license. Our only real alternative would be to build a new tool that does the same thing, which we really donā€™t want to do ā€“ itā€™s redundant, and youā€™ve already done such amazing work!

If youā€™re able to change the license to a standard MIT license (or perhaps the Apache license if youā€™re looking for more protections), we would have thousands of engineers using this project on a daily basis, and dozens of engineers working on the core tools that support those thousands of engineers. Any and all changes to the compile commands extractor would be submitted as PRs right here to the main repo.

If I understand correctly, the main goals of your additional license content are to:

  • Protect yourselves from liability
  • Encourage contributions back to the main repo (and discourage forks)

On the first point, Iā€™m certain that the standard MIT and Apache licenses absolve you of any legal liability related to this software. As a bonus, by using a standard license, your legal protections are vastly stronger than they are by rolling your own version of the license ā€“ in other words, you may have increased your legal risk by using a non-standard license.

On the second point, the use of a non-standard license is actually preventing us at Google from using this tool, working on improvements, and contributing them back to the main repo, which we would absolutely love to do. Here is some more perspective on why non-standard licenses actually inhibit contribution.

We really admire the work you've done on this tool and would love to use it more extensively. Let me know if we can make that possible!

Hi Chad! Thanks for reaching out and being so kind. We'd obviously love to make it something you can use, too. There are some upcoming developments here--and I'm optimistic we'll be able to get it so you can use it--but not ones I can share publicly just yet. Any chance you'd be down to hop on a GVC and we'll discuss? If so, lmk, and I'll write your google email (which I see in a pigweed commit).

Absolutely! Send me an email and we'll set that up.

(Closing for now because of private discussions, well under way.)