barefootnetworks / Open-Tofino

Other
314 stars 66 forks source link

License Is Not Compatible With Open Source #14

Closed CommitThis closed 2 years ago

CommitThis commented 2 years ago

The repository is licensed as CC-BY-ND-4.0. Despite CC licenses not being intended for use with code, the fact that this license is used means that it is not compatible with open source. Taking the worst-case view (which one must), any adaptation, transformation, or anything that is builds upon this work cannot be shared. This would include executables or P4 programs including any of the headers, and I would then not be able to create an open source helper library based upon the protobuf definition requested in #10 (which I intended on doing).

Given the name of the repository, I was wondering whether this was an oversight? Would you consider re-licensing under GPL or Apache (The p4.org philosophy appears to abhor GPL)?

CommitThis commented 2 years ago

If this works, ping at @ralfkundel for visibility

vgurevich commented 2 years ago

@CommitThis

Thank you very much for reaching out. We will investigate internally.

vgurevich commented 2 years ago

@CommitThis -- the information we publish on this site is not really "code" the way most open-source projects understand it, because it does not contain the actual implementation(s). Rather, these are interfaces that allow people to write programs that use our "code". The reason for choosing this specific license is because we need to retain control over these interfaces and avoid unnecessary forking or redefinition of those, since it will create nothing but confusion (not to mention that it is not going to change the actual implementation). But, I'll repeat, we want everyone to be able to use these interfaces and, in fact, we encourage you to do so.

So, please, go ahead and #include these .p4, .h or .hpp files, use .proto files to generate protobuf/gRPC bindings for the programming language of your choice, etc. -- you are covered.