Coisas que Fazem um Projeto de TI Fracassar

Origem do artigo: http://spot.livejournal.com/308370.html

Por: Red Hat’s Tom Callaway

 

== Size ==
* The source code is more than 100 MB. [ +5 points of FAIL ]
* If the source code also exceeds 100 MB when it is compressed [ +5 points of FAIL ]

== Source Control ==
* There is no publicly available source control (e.g. cvs, svn, bzr, git) [ +10 points of FAIL ]
* There is publicly available source control, but:
* There is no web viewer for it [ +5 points of FAIL ]
* There is no documentation on how to use it for new users [ +5 points of FAIL ]
* You’ve written your own source control for this code [ +30 points of FAIL ]
* You don’t actually use the existing source control [ +50 points of FAIL ]

== Building From Source ==
* There is no documentation on how to build from source [ +20 points of FAIL ]
* If documentation exists on how to build from source, but it doesn’t work [ +10 points of FAIL ]
* Your source is configured with a handwritten shell script [ +10 points of FAIL ]
* Your source is configured editing flat text config files [ +20 points of FAIL]
* Your source is configured by editing code header files manually [ +30 points of FAIL ]
* Your source isn’t configurable [ +50 points of FAIL ]
* Your source builds using something that isn’t GNU Make [ +10 points of FAIL ]
* Your source only builds with third-party proprietary build tools [ +50 points of FAIL ]
* You’ve written your own build tool for this code [ +100 points of FAIL ]

== Bundling ==
* Your source only comes with other code projects that it depends on [ +20 points of FAIL ]
* If your source code cannot be built without first building the bundled code bits [ +10 points of FAIL ]
* If you have modified those other bundled code bits [ +40 points of FAIL ]

== Libraries ==
* Your code only builds static libraries [ +20 points of FAIL ]
* Your code can build shared libraries, but only unversioned ones [ +20 points of FAIL ]
* Your source does not try to use system libraries if present [ +20 points of FAIL ]

== System Install ==
* Your code tries to install into /opt or /usr/local [ +10 points of FAIL ]
* Your code has no “make install” [ +20 points of FAIL ]
* Your code doesn’t work outside of the source directory [ +30 points of FAIL ]

== Code Oddities ==
* Your code uses Windows line breaks (“DOS format” files) [ +5 points of FAIL ]
* Your code depends on specific compiler feature functionality [ +20 points of FAIL ]
* Your code depends on specific compiler bugs [ +50 points of FAIL ]
* Your code depends on Microsoft Visual Anything [ +100 points of FAIL ]

== Communication ==
* Your project does not announce releases on a mailing list [ +5 points of FAIL ]
* Your project does not have a mailing list [ +10 points of FAIL ]
* Your project does not have a bug tracker [ +20 points of FAIL ]
* Your project does not have a website [ +50 points of FAIL]
* Your project is sourceforge vaporware [ +100 points of FAIL ]

== Releases ==
* Your project does not do sanely versioned releases (Major, Minor) [ +10 points of FAIL ]
* Your project does not do versioned releases [ +20 points of FAIL ]
* Your project does not do releases [ +50 points of FAIL ]
* Your project only does releases as attachments in web forum posts [ +100 points of FAIL ]
* Your releases are only in .zip format [ +5 points of FAIL ]
* Your releases are only in OSX .zip format [ +10 points of FAIL ]
* Your releases are only in .rar format [ +20 points of FAIL ]
* Your releases are only in .arj format [ +50 points of FAIL ]
* Your releases are only in an encapsulation format that you invented. [ +100 points of FAIL ]
* Your release does not unpack into a versioned top-level directory (e.g. glibc-2.4.2/ ) [ +10 points of FAIL ]
* Your release does not unpack into a top-level directory (e.g. glibc/ ) [ +25 points of FAIL ]
* Your release unpacks into an absurd number of directories (e.g. home/johndoe/glibc-svn/tarball/glibc/src/) [ +50 points of FAIL ]

== History ==
* Your code is a fork of another project [ +10 points of FAIL ]
* Your primary developers were not involved with the parent project [ +50 points of FAIL ]
* Until open sourcing it, your code was proprietary for:
* 1-2 years [ +10 points of FAIL ]
* 3-5 years [ +20 points of FAIL ]
* 6-10 years [ +30 points of FAIL ]
* 10+ years [ +50 points of FAIL ]

== Licensing ==
* Your code does not have per-file licensing [ +10 points of FAIL ]
* Your code contains inherent license incompatibilities [ +20 points of FAIL ]
* Your code does not have any notice of licensing intent [ +30 points of FAIL ]
* Your code doesn’t include a copy of the license text [ +50 points of FAIL ]
* Your code doesn’t have a license [ +100 points of FAIL ]

== Documentation ==
* Your code doesn’t have a changelog [+10 points of FAIL]
* Your code doesn’t have any documentation [ +20 points of FAIL ]
* Your website doesn’t have any documentation [ +30 points of FAIL ]

=== FAIL METER ===
0 points of FAIL: Perfect! All signs point to success!
5-25 points of FAIL: You’re probably doing okay, but you could be better.
30-60 points of FAIL: Babies cry when your code is downloaded
65-90 points of FAIL: Kittens die when your code is downloaded
95-130 points of FAIL: HONK HONK. THE FAILBOAT HAS ARRIVED!
135+ points of FAIL: So much fail, your code should have its own reality TV show.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s