John the Ripper licensing

John the Ripper is released under GNU GPL v2 "or later", with portions also available under more relaxed terms. John the Ripper Pro is released under a commercial license.

Solar Designer's current preference is that new code contributions be licensed under very liberal terms:

 * This software is Copyright (c) YEAR YOUR NAME <your at e-mail.address>,
 * and it is hereby released to the general public under the following terms:
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted.

This is a heavily cut-down “BSD license”. You may also include the warranty disclaimer like we did in the license for passwdqc.

The above is to be placed in a comment at the beginning of the source file(s) with your code. You will likely want to keep your e-mail address slightly obfuscated, such as replacing the @-sign with ” at ”, to reduce the amount of extra spam you will be getting as a result of publishing this.

Please note that even when you changed someone else's file, it should possibly include your copyright statement too. In such cases, please license your changes under terms no more restrictive than those of the original file. In particular, if the file was under GNU GPL v2 “or later”, please do not make it GPL v3 only (as that is more restrictive than “v2 or later”), and if the file is under the cut-down BSD license shown above, then please keep that license as-is. Thus, typically you'd need to add your copyright statement, but make no edits to the license statement.

If the only existing material you reused is a *_fmt.c file template (the usual set of #define directives and function declarations, and the struct fmt_main declaration at the end), then that is not subject to copyright, so please treat the entire file as your own work, and please license it under the terms recommended for new code contributions, above.

Overall, we're gradually moving to more relaxed terms by reducing the percentage of files licensed under terms more restrictive than the recommended license above. We'd appreciate it if you use these relaxed terms for your new contributions, and avoid GPL'ing them - and especially avoid GNU GPL v3 unless you absolutely have to (this applies only when you're bringing in third-party code that is already under that license and there's no good substitute for that code).

Historically, many contributors did not care to either explicitly place their code in the public domain or include/specify a license for it, and we did not insist on them doing it (in part because many of those contributions were only available as patches, until being merged into the jumbo tree years later). This has been partially addressed by a Debian package maintainer approaching the contributors in January and February 2009, and further by some jumbo maintainers similarly getting some other contributors to agree to specific license terms in postings to the john-dev mailing list. There might still be some contributions of unclear licensing status, though, so more work might be needed. doc/john-1.7.9-jumbo-7-licensing.txt in the jumbo tree reflects the status as of 1.7.9-jumbo-7, but it is already somewhat out of date as of this writing.