I am looking for free tools for open source project documentation.

I am trying to start an open source project on GitHub. The project is a Ruby on Rails web app (RESTful backend) with Postgres or MySQL database. AngularJS2 frontend.

It should be online to show potential contributors.

It should be able to, at least, draw class diagrams and database diagrams - both automatically from existing code/database and manually for planning new projects.

Any suggestions?

  • 1
    Are you looking to document the planned functionality or the existing and potential future functionality? Commented Mar 9, 2016 at 6:13
  • 1
    Hi Steve, I need it for both cases.
    – AntonIva
    Commented Mar 9, 2016 at 6:26
  • DoxyGen will give you class diagrams of existing code. Not database diagrams, though. For those, if you use MySql, then MySql Workbench will do the trick. Hmmm, ought you to mention the database, or do you want to be totally flexible. For not yet designed databases, I like to use MySql Workbench to design them, even if I won't eventually use MySql, but there are a bunch of free tools to to design new classes & databases. G.I.Y.F ;-)
    – Mawg
    Commented Mar 9, 2016 at 8:17
  • 1
    what language and database are you using? it would help to zoom into appropriate tools.
    – kenchew
    Commented Mar 9, 2016 at 8:23

1 Answer 1


I would consider looking for a tool that allows you to both document your plans and generate the current code from documentation within the code such as comments, etc., i.e. can both take more or less free form input and can generate information from the code base.

Personally I would take a look at Sphinx which has the following features:

  • Free form text in reStructuredText which is easily version controlled
  • Can generate documentation from python and C/C++ code with several other languages supported by extensions
  • Multiple styles and themes
  • Can generate the documentation in several formats including html for web sites, LaTeX (for printable PDF versions), ePub, Texinfo, manual pages, plain text.
  • Syntax highlighting of code fragments in over 300 programming languages thanks to pygments
  • Multiple types of diagrams can be embedded using GraphViz either generated from the code or manually added from dot files.

A list of projects using Sphinx, with links to the documentation, can be found here.

Sphinx and GraphViz are both Gratis and Open Source and are cross platform running on Windows, OS-X and Linux.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.