Actually I'm really curious about the "users" that clang.org serves, and
I think it would be useful to take those use cases to heart and improve the
normal releases correspondingly. E.g. you mentioned somewhere else that the
download on clang.org is code signed? is that something that users would
appreciate and that we should integrate into our regular release process?.
You also mentioned some stuff like a GUI AST viewer, and nodejs bindings?
Are users really digging those? I think those last two would be great to
move closer to upstream regardless.
Also I just wanted to mention Alp, that you've been doing a great job
interacting with the community and our development process (incremental
development, tests, code review, etc.). (well, this strangeclang.org scenario
aside (although in the end I'm glad that domain is in "friendly hands" and
not a squatter or porn ads!))
I think that Alp made a really good point: "Clang" is a developer-facing
product that a lot more developers interact with than compiler engineers.
llvm.org and even clang.llvm.org are really focused on bringing people
into the open source community and serving us compiler hackers, but it does
a really poor job serving users that just want to use a compiler and look
up a few options or language extensions.
When I reorganized the clang docs front page, I was actually amazed at how
things fell out. We actually have a quite nice slice of docs that broadly
fall under the category "Using Clang as a Compiler" <
http://clang.llvm.org/docs/#using-clang-as-a-compiler>, and I made sure to
put those front and center.
Oh, and the main web page could really use an update, being almost
unmodified since its inception.
Yeah it would be nice to have a web site that looks like it was developed
by a web designer, not a compiler hacker Our dragon logo is awesome, how
did that come about? Maybe we could emulate that process to net a fresh
fancy webpage. (I'm assuming that the dragon logo wasn't designed by a
compiler hacker; if it was, then this is me bowing to their skill).
In many ways, this is the same problem that projects like Eclipse have.
Since eclipse is both a community and an IDE, the main "
http://www.eclipse.org" web site is pretty useless for people who just
want a Java IDE. I'm not finding any great examples of open source
projects "doing it right", but linux.com for example is targeted as users
and advocates of the linux OS, not at kernel hackers.
I think the "normal" way to do it these days (for better or for worse) is
for a project's home page to be entirely "non-developer-centric", but have
a "github" ribbon/button that developers know to look for. Then the README
on github branches out to IRC, mailing lists, and of course the bug
tracking and repo are there on github. It works well. Sometimes the "home
page" is hosted on github pages too (on http://<username>.
Another common pattern for slightly "older" projects is to make the page
primarily "non-developer-centric" but have an easy-to-see "get involved"
However, there aren't many projects of the size of LLVM and so it's
anybody's guess whether it's meaningful to draw inspiration from these
other approaches. I do think it would be nice if we had a really nice
README, and that a WebUI source browser with pretty README renderer was
just one click away from the homepage (and showing checkout/clone URLs
throughout), as that puts people that much closer to checking out the code,
which puts them that much closer to sending patches, etc., etc..
Actually, I just did an experiment: from landing on llvm.org, how long does
it take me to find a page with a checkout/clone URL?
(Before reading on, try going to llvm.org and clicking your way to a
I was very surprised: it took me like a minute
The path I found from landing on llvm.org to getting to svn co/git clone is:
llvm.org > Documentation > Getting Started with the LLVM System
It took me >30 seconds (Ctrl+F "SVN", etc.) of head scratching to figure
out that Documentation would take me to somewhere with a repo URL. After
that I happen to know since I know the docs well that GettingStarted.rst
has the clone URL's, but someone who didn't know that would have had a hard
time guessing that, and there is a whole division of docs in the way before
they would even *see* "Getting Started".
(admittedly, searching for `llvm svn` and `llvm git` does go directly to
GettingStarted.rst, so maybe I shouldn't be so alarmed)
clang is a lot better, it's just clang.llvm.org > "Get started" (although
"Get started" is a bit hard to find).
Compare this with the other sites I just mentioned, where the process is
just "land on the page" > github, done. This ease also translates to any
functionality covered by github, e.g. bug tracker (try finding your way to
the llvm bug tracker from llvm.org; the best I was able to do was
llvm.org> Documentation >
http://llvm.org/docs/HowToSubmitABug.html > "the LLVM Bug Tracking System";
search engine results were fairly good though)
I think it would be beneficial for the project to optimize this path. Most
of what I can do is in the docs/ side of things though (I am clueless about
the llvm.org website).
I think it could be really great to have a user-centric landing page, and
if we do that, making clang.org be it would be truly great.
Agreed. That sounds like a perfect use for the domain.
-- Sean Silva