- Why there are bugs accepted in this forum and on GitHub issues as well? Which gets more attention, which creates more overhead for development?
This is for historical reason. This project was created in 2009 and GitHub in 2008, so at the very beginning, we did not even know GitHub :-)
We've created this forum to get feedback from users (and not only issues). It is also a good place for users to exchange about PlantUML (and this way we learn about what people are expecting).
Both gets 50% attention, which means that you can really use the one you like better.
- GitHub is easiest for people having already a github account
- The major advantage of the forum is that it can be used anonymously, so new users don't even have to create an account to give feedback.
Our secret wish is that in some future, some IA would be able to get all information on the forum (which is unstructured) and will generate some nice documentation about how to use PlantUML :-)
- Why there are lots of issues on Github that are fixed according to the comments, but never closed? (I can collect examples if someone may not see what I mean.)
I've opened several issues in Github recently which I've found while learning PlantUML and adapting my workflow to work with it. I prefer Github, because that acts like a central place for my contributions and issues towards most projects, but it is not important for the project, just saying...
However I'd like to better understand your process so I can be a better citizen when reporting my findings. So where issues should really go?
Ok, I'm going to explain our process.
First, I must say that your reports are perfect: you give some short examples about what is not working and you made some investigations to better understand what is working and what is not working. This is very nice because it really speeds up our resolution time :-)
Because the truth is that we have very limited time available.
So we have decided since the beginning that we will really focus on coding.
Everything else (documentation, issue closing...) is only secondary. Of course, we know this is important. We could have someone at full time dedicated to documentation, issue management and so on, be unfortunately we don't have this people. So we really do the minimum that works about these, and we are expecting the community to help us about it.
Our development process is totally chaotic:
1) We continuously take into account contributions from GitHub issues and the forum.
2) Many of them are minor issues that are easy to fix. We use 50% of our time on those issues because we don't like bugs and because it's easy. Once again, we focus on coding, which means that sometimes we don't even take the time to close the issue itself...
3) Some requests are new features requests. In that case, we wait to have several requests asking for something consistant and close, and we work on the new design needed for those new requests. A good example of these is the recent addition for EBNF and Regular Expression support. Let's says it's about 10% of our time.
4) The 40% time remaining is about major issues. Those issues are major in the sense that they are more "code design issues" than "coding issues". A good example of these is all issues about "namespace", "package" and "together". All those issues are linked together and caused by the fact that the initial design we've done in 2009 does not properly allow the management of namespaces. We have started a major refactoring about this some months ago to properly manage "namespace" but it really takes time because PlantUML code begins to be quite big and complex and because we don't want to break existing and working diagrams.
Also I am thinking that having 558 open issues in Github may give some prospective users a bad vibe about the project while my actual experience is that bugs are resolved quickly, just somehow there are many of them being left there unclosed indefinitely despite being resolved.
Well, any help is really welcome here.
Easy bugs are indeed quickly resolved. Some other may take more times.
Now, as I said, we don't have time to look at the 558 open issues so if you want to close some of them, please be our guest :-) I'm afraid it will be a boring job, though.
You can also edit the documentation itself here.
I realize that my answer will probably open some more questions... Sorry about that!
I will conclude by thanking you about your support :-)