<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 16, 2015 at 5:14 AM, Joe Julian <span dir="ltr">&lt;<a href="mailto:joe@julianfamily.org" target="_blank">joe@julianfamily.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000"><span class="">
    <br></span>
    I&#39;ll just address this one point in this email because it&#39;s such an
    important one. This is not just an open-source project because some
    company&#39;s developing a product and lets you have it for free, this
    is an open-source <b>project</b>. We, the members of the community,
    are as responsible for that problem as the folks that know how to
    write in C; perhaps even more so. <br>
    <br>
    I implore you to add your skills to improving the documentation. You
    have the ability to see the documentation from a completely
    different perspective from the folks that wrote the code. They may
    not have documented --remote-host because they perhaps added it for
    an internal reason and didn&#39;t expect users to use it. By looking at
    it from a different perspective, you may see a need for
    documentation and have the ability to implement it.<br></div></blockquote><div> <br></div><div>I globally agree with your statement but there&#39;s a catch here, more of a chicken-and-egg problem actually! In order to contribute to the documentation or help other users, I must first be able to understand the project myself! The mere documentation is missing at almost every stage in GlusterFS and this is problematic. If I&#39;m not able to put GlusterFS at use understanding how it works and how it interacts between all of its components, how am I supposed to explain it to other people?<br><br></div><div>I&#39;m a sysadmin for over 2 decades and this is the first time I see such a major project (GlusterFS is not a small HelloWorld app, it&#39;s featureful, complex and envolves learning some concepts) with so little documentation. As I said before, I currently have *no* *clue* of all the options and directives I can use in the main configuration file /etc/glusterfs/glusterd.vol for example! There&#39;s only a &quot;sample&quot; configuration file with no further detail than the classic &quot;paste this into the file&quot;. Well no thank you ;) I won&#39;t paste anything to any configuration file without understanding it first and have a complete set of directives I can use. I have the reponsability of having a running service and can&#39;t just &quot;paste things&quot; as told :-)<br><br></div><div>The only way I got GlusterFS to work is by searching BLOG posts and this bad IMHO. The way I see how a project ecosystem should be managed is like this : The devs should not only code but provide the full information, documenting every single option and directive because no other than them know the project better than they do! After that, the ecosystem will grow by itself thanks to technical people that create blog posts and articles to explain various creative ways of using the software. The documentation from the devs does not have to be ultra exhaustive explaining all possible use cases of course but at least, document everything that needs to be documented to let other people understand what they are dealing with.<br><br></div><div>Let me take 2 real world examples to get the general idea : Postfix and NGinX! They are flexible enough to provide a quite large set of use cases. Their documentation is impeccable from my point of view. They provide an exhaustive documentation of their inner options like this - <a href="http://www.postfix.org/postconf.5.html">http://www.postfix.org/postconf.5.html</a> - and this - <a href="http://nginx.org/en/docs/dirindex.html">http://nginx.org/en/docs/dirindex.html</a><br><br></div><div>See, even if you forget all the HowTo&#39;s, articles and stuff, which are great additions and bonuses, you can manage to get out of the woods with these docs. That&#39;s exactly what I miss most in GlusterFS. There are here and there options explained but often with no context.<br><br></div><div>To the very specific case of &quot;--remote-host&quot; option, there&#39;s a design problem in &quot;gluster&quot; command. Launching it without arguments and you get a prompt and the command completion helps a bit. Now, try &quot;gluster -h&quot; (or --help or -? or whatever) and you end up with &quot;unrecognized option --XXX&quot;. This is counter intuitive again. You can&#39;t experiment by trial and error to figure out things when you&#39;re in the dark, that&#39;s why I had to take a peek to the source code and find out the existence of other options.<br><br>If you spend so much time trying to find information instead of experimenting with a project, you may grow bored and leave. This would be bad because the lack of documentation may lead people to avoid a project which could be really useful and good! GlusterFS features exactly what I want for my usage, that&#39;s why I picked it up but I didn&#39;t think it would be so hard to get proper documentation.<br><br></div><div>For example, I can&#39;t get SSL to work with my 3.6.2 setup and there&#39;s not a single bit of doc about it. There&#39;s only <a href="http://blog.gluster.org/author/zbyszek/">http://blog.gluster.org/author/zbyszek/</a> but even after following the necessary steps, I end up with a cryptic log entry &quot;Cannot authenticate client from fs-00-22666-2015/03/16-11:42:54:167984-Data-client-0-0-0 3.6.2&quot; and repeated for all the replicas :-( I don&#39;t know what GlusterFS expects in this case so I can&#39;t solve the problem for now.<br></div></div><br></div><div class="gmail_extra">I&#39;ll stop boring you now, you get the point ;) You can only explain what you clearly understand and for now, this is still way too foogy for me :)<br clear="all"></div><div class="gmail_extra"><br>-- <br><div class="gmail_signature">Unix _IS_ user friendly, it&#39;s just selective about who its friends are.</div>
</div></div>