I'd like to gauge interest from community members in writing documentation for Calcite. If people are willing to write docs for topics they understand well, I would be willing to help drive that process (collect docs, make sure they're complete, present them cohesively, publish them).
I realize the code is well-documented at the package/class/method level, and while that is great for reference, it's not ideal for understanding big-picture concepts and how subsystems work together. I've been working with Calcite for nearly 6 months and feel like I've barely scratched the surface in terms of understanding. I think some well-written docs would encourage new users to learn Calcite as well as help existing users take advantage of all Calcite has to offer, which in turn encourages people to blog about it, speak about it, etc. Suggestions for topics I'm interested in include: - Overview of Calcite - Conventions (enumerable, bindable, custom), traits - Evaluating expression trees - Pushing down operations, manipulating the relational expression tree Of course there are may other areas to document that I'm not even aware of, and I'd be looking to you to help define that. - Are there any Apache standards for docs we should be aware of? - Where do docs belong? I'm a big fan of in-repo docs written in markdown, viewable on GitHub, but http://calcite.incubator.apache.org might be the more appropriate location. I looked through jira to see if this work is already being tracked. Nothing comprehensive, but here are some related issues: https://issues.apache.org/jira/browse/CALCITE-37 Document JSON model file format https://issues.apache.org/jira/browse/CALCITE-359 Publish javadoc https://issues.apache.org/jira/browse/CALCITE-355 Create a web site Trevor
