From 4f49b16079b27d7ce633619e4cddfdf2bffbc952 Mon Sep 17 00:00:00 2001 From: cashmere Date: Fri, 4 Sep 2026 09:05:24 +0200 Subject: initial commit --- www/foss-cklist.wiki | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 www/foss-cklist.wiki (limited to 'www/foss-cklist.wiki') diff --git a/www/foss-cklist.wiki b/www/foss-cklist.wiki new file mode 100644 index 0000000..cdf90f3 --- /dev/null +++ b/www/foss-cklist.wiki @@ -0,0 +1,112 @@ +Checklist For Successful Open-Source Projects + + +This checklist is loosely derived from Tom "Spot" Callaway's Fail Score +blog post +http://spot.livejournal.com/308370.html (see also +[1]). +Tom's original post assigned point scores to the various elements and +by adding together the individual points, the reader is supposed to be able +to judge the likelihood that the project will fail. +The point scores, and the items on the list, clearly reflect Tom's +biases and are not necessarily those of the larger open-source community. +Nevertheless, the policy of the Fossil shall be to strive for a perfect +score. + +This checklist is an inversion of Tom's original post in that it strives to +say what the project should do in order to succeed rather than what it +should not do to avoid failure. The point values are omitted. + +See also: + + +
+ +
    +
  1. The source code size is less than 100 MB, uncompressed. + +
  2. The project uses a Version Control System (VCS). +
      +
    1. The VCS has a working web interface. +
    2. There is documentation on how to use the VCS. +
    3. The VCS is general-purpose, not something hacked together for this + one project. +
    + +
  3. The project comes with documentation on how to build from source +and that documentation is lucid, correct, and up-to-date. + +
  4. The project is configurable using an autoconf-generated configure +script, or the equivalent, and does not require: +
      +
    1. Manually editing flat files +
    2. Editing code header files +
    + +
  5. The project should be buildable using commonly available and + standard tools like "make". + +
  6. The project does not depend on 3rd-party proprietary build tools. + +
  7. The project is able to dynamically link against standard libraries + such as zlib and libjpeg. +
      +
    1. The project does not ship with the sources to standard libraries. + (On the Fossil project, we will allow the SQLite library sources + to be included in the source tree as long as a system-installed + SQLite library can be used in its stead.) +
    2. The project does not use slightly modified versions of standard + libraries. Any required bug fixes in standard libraries are pushed + back upstream. +
    + + +
  8. "make install" works and can be configured to target any + directory of the installer's choosing. +
      +
    1. The project contains no unconfigurable hard-coded pathnames like + "/opt" or "/usr/local". +
    2. After installation, the source tree can be moved or deleted and + the application will continue working. +
    + + +
  9. The source code uses only \n for line endings, not \r\n. + +
  10. The code does not depend on any special compiler features or bugs. + +
  11. The project has a mailing list and announces releases on + the mailing list. + +
  12. The project has a bug tracker. + +
  13. The project has a website. + +
  14. Release version numbers are in the traditional X.Y or X.Y.Z format. + +
  15. Releases can be downloaded as tarball using + gzip or bzip2 compression. + +
  16. Releases unpack into a versioned top-level directory. + (ex: "projectname-1.2.3/"). + +
  17. A statement of license appears at the top of every source code file + and the complete text of the license is included in the source code + tarball. + +
  18. There are no incompatible licenses in the code. + +
  19. The project has not been blithely proclaimed "public domain" without +having gone through the tedious and exacting legal steps to actually put it +in the public domain. + +
  20. There is an accurate change log in the code and on the website. + +
  21. There is documentation in the code and on the website. +
-- cgit v1.3.1