F/OSS Fail meter

Size

  • The source code is more than 100 MB.
  • If the source code also exceeds 100 MB when it is compressed

Source Control

  • There is no publicly available source control (e.g. cvs, svn, bzr, git)
  • There is publicly available source control, but:
    • There is no web viewer for it
    • There is no documentation on how to use it for new users
    • You’ve written your own source control for this code
    • You don’t actually use the existing source control

Building From Source

  • There is no documentation on how to build from source
  • Documentation exists on how to build from source, but it doesn’t work
  • Your source is configured…
    • …with a handwritten shell script
    • …by editing flat text config files
    • …by editing code header files manually
    • Your source isn’t configurable
  • You source builds with…
    • …something that isn’t GNU Make
    • …a third-party proprietary build tools
    • …something you wrote for this code

Bundling

  • Your source only comes with other code projects that it depends on
  • Your source code cannot be built without first building the bundled code bits
  • You have modified those other bundled code bits

Libraries

  • Your code only builds static libraries
  • Your code can build shared libraries, but only unversioned ones
  • Your source does not try to use system libraries if present

System Install

  • Your code tries to install into /opt or /usr/local without explicitly telling it to do so
  • Your code has no “make install”
  • Your code doesn’t work outside of the source directory

Code Oddities

  • Your code uses Windows line breaks (“DOS format” files)
  • Your code depends on specific compiler feature functionality
  • Your code depends on specific compiler bugs
  • Your code depends on Microsoft Visual Anything

Communication

  • Your project does not announce releases on a mailing list
  • Your project does not have a mailing list
  • Your project does not have a bug tracker
  • Your project does not have a website
  • Your project is sourceforge vaporware

Releases

  • Your project does not do sanely versioned releases (Major, Minor)
  • Your project does not do versioned releases
  • Your project does not do releases
  • Your project only does releases as attachments in web forum posts
  • Your releases are only in
    • .zip format
    • OSX .zip format
    • .rar format
    • .arj format
    • an encapsulation format that you invented
  • Your release does not unpack into a versioned top-level directory (e.g. glibc-2.4.2/)
  • Your release does not unpack into a top-level directory (e.g. glibc/)
  • Your release unpacks into an absurd number of directories (e.g. home/johndoe/glibc-svn/tarball/glibc/src/)

History

  • Your code is a fork of another project
  • Your primary developers were not involved with the parent project
  • Until open sourcing it, your code was proprietary for:
    • 1-2 years
    • 3-5 years
    • 6-10 years
    • 10+ years

Licensing

  • Your code does not have per-file licensing
  • Your code contains inherent license incompatibilities
  • Your code does not have any notice of licensing intent
  • Your code doesn’t include a copy of the license text
  • Your code doesn’t have a license

Documentation

  • Your code doesn’t have a changelog
  • Your code doesn’t have any documentation
  • Your website doesn’t have any documentation

links

social