Contributing a cleaner
Write your own cleaners to use yourself and to share with others. These "cleaners" define which files to delete (or vacuum, for example). BleachBit includes one cleaner each for Firefox, Internet Explorer, Adobe Reader, APT, and so on.
Writing the cleaner
Follow the CleanerML documentation for technical instructions on writing the cleaner.
Testing the cleaner
Backup any files which may be deleted before testing. Then, use this checklist for testing your cleaner:
- BleachBit should not delete settings that the user may regret.
- BleachBit is not an uninstaller.
- Each option accurately describes what it will delete. For example, an option labeled "logs" should not delete cache.
- The descriptions are generic and reuse strings, so translators have less work. For example, Firefox should simply be labeled "Web browser" instead of "A popular, fast, free web browser." Look at other cleaners to see which strings they use.
- On Windows, the cleaner should use $APPDATA, $USERPROFILE, $WINDIR, or $PROGRAMFILES but never ~.
Submitting the cleaner
If you wish to share the cleaner with others, submit it for review:
- Do not submit cleaners as your own in which you copied and pasted other's work. You must own the copyright.
- You must license the cleaner under the GNU General License Version 3 or later.
Open a "bug" ticket on Launchpad. (The name "bug" is misleading because it's used for new features too.)
- Submit the cleaner to cleanerml on GitHub as an issue (with a link to a gist) or pull request.
- Identify the platform you tested (for example, Ubuntu 9.04 or Windows Vista).
- Identify the application version tested (for example, Firefox 3.0.10).
- (optional) Describe how much space each option cleans. For example, "the log option deleted 2KB."
- (optional) Identify the home page of the application. (For some applications, it is unclear.)
Attach the cleaner. If changes an existing file, use 'svn diff' format. If it is a whole new file, simply attach the XML. Add the tag new-cleaner.
Then, wait for a review. Until the final publication, remember you can add the cleaner to your own collection for immediete use in BleachBit.
Cleaners will be reviewed and published based on factors including:
- Peer review (see "Reviewing a cleaner" below)
- Whether the cleaner already exists (enhancements to existing cleaners are given higher priority)
- The popularity of the application
- How much disk space is saved
- How sensitive the information is
- The quality of the submission
- The ease of installing the application (e.g., Adobe Photoshop requires a commercial license, some Linux software must be compiled from source)
Good places to check the popularity of an application include:
Not all submissions will be approved.
Reviewing a cleaner
Help review another person's cleaner submission. Because there are so many applications, versions of applications, differences in operating systems, etc., the help of the community is essential.
- Be polite.
- Review the testing guidelines (above).
- Check each option individually.
- On the Launchpad in the existing bug report, document your results. Example reviews:
- "I tested gFTP 2.0.18 on Fedora 10. The cleaner removed 2KB of logs and 500KB of cache. It did not remove any settings. I recommend changing the description from "FTP client" to "File transfer client," so it shares the same description with Azureus for ease of translating. Otherwise I recommend the cleaner for publication."
- "I tested gFTP 2.0.18 on Fedora 10. It deleted my settings."