An open source project with real project documentation

You can find many open source projects on INTERNET (e.g. Linux, open office, ...)

But I did not find any open source project with full, good and REAL documentation .

I do not mean only the source documentation. I mean, collect customer requirements, design patterns and all paper work.

Yours faithfully

+4
source share
3 answers

Why do we have requirements documents and project documents? Work out an agreement between the two parties that wants certain software, and the other that is entrusted with this. The document is useful because it helps both parties work together to make the right software effective.

Sometimes in open source software you may find such relationships. And in such cases, you can sometimes find project documents. If you want to add a feature to the Python programming language, you must write a Python Improvement Proposal and get it approved to make sure re-implementation is what Python developers are ready to do. You can find many links for document processing in this OpenSolaris documentation page ; I assume the “customer” here is Sun marketing. I recently developed an API for some open source programs that someone else has implemented, and I wrote a specification for this.

But many open source developments follow a completely different model, using one or more of the following factors:

  • A unit of work is the only function or bug fix. Often in the error tracking system, you can find documents with the requirements for a single paragraph, if you want to think about them this way. Smaller units of work are actually a big advantage; the development of closed sources often cannot follow such a model, since the transaction costs (establishing trust, clarifying the need, agreeing on volume and price, etc.) are too high.

  • The developers themselves are working on the software. . If you know what you want, writing an official project document may not pay off. (Instead, you can write some squiggles on the board.)

  • The project was not originally intended for widespread use. . If the code is launched and does its work on your computer in an hour, how will a separate project document be created Help? If over time it turns into something that other people can use, at what point should the documentation included in the image be processed?

  • There was a project document, but it was not published. Remember that the goal of these documents is to help make the right software effective. After that, the documents are not very useful. (Also: open source software is often contracted for the company. Although the finished code is publicly available, process documentation may be explicitly or implicitly considered confidential.)

  • Developers simply do not want to do preliminary design. I tend to think that this is too bad, but alas, it helps.

    / li>

Sometimes the software is documented after its implementation and verification. Here is a part of the GCC manual describing its insides. Here is one about the Mozilla JavaScript engine . It is quite easy to find examples if there is a specific project that interests you. Googling linux kernel design found more free, detailed documentation .

+12
source

Open source projects usually start from itching to scratches, unlike proprietary applications that begin to target a rich potential client (customer requirements). Design patterns have nothing to do with documentation. This is just a template design. As for the documents, you make this sound “good.” :)

There are open source projects that pre-design before implementation. The quick that comes to mind is the DVR. Documents are available here . Martin Poole spent a lot of time on the documentation before he started working.

+3
source

Take a look at (earlier versions) jHotDraw . This is the version of the java shell for the HotDraw structure, which ao Erich Gamma (GoF) developed a template language for its work.

You are unlikely to find any projects (open or closed source) with complete and updated documentation, including dependency maps. You may be able to find something extremely small for educational purposes. For systems where this is prescribed by law, the actual quality of documents is usually very low, since they are not created for any real benefit to the author or consumer of information, but simply to cover legal liability.

In open source projects, there is a strong tendency to only write documentation that is directly used, as they have a very good prioritization workflow. Communication is needed when transferring work. Documentation can provide this. But in most open source projects, there is a strong tendency for people who want to use a feature to also be the developer of that feature. There is very little documentation in this situation. Open source projects need review documentation that describes working standards, design patterns used, and anything that can help new entrants gain speed.

If you want to understand how difficult it is to properly manage dependencies, see:

Design data management: five dimensions of CAD frameworks, configuration management and product data management van den Hamer, P .; Lepoeter, K. IEEE Materials Volume 84, Issue 1, January 1996 Page (s): 42 - 56 Object ID 10.1109 / 5.476025

+1
source

All Articles