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

Reply via email to