Differences

This shows you the differences between two versions of the page.

Link to this comparison view

john:licensing [2014/10/11 18:00]
magnum
john:licensing [2015/03/28 20:47] (current)
solar updates to reflect the current status
Line 1: Line 1:
 ====== John the Ripper licensing ====== ====== John the Ripper licensing ======
  
-John the Ripper is released [[http://​www.openwall.com/​john/​doc/​LICENSE.shtml|under GNU GPL v2, with portions also available under more relaxed terms]]. ​ John the Ripper //Pro// is released [[http://​www.openwall.com/​john/​pro/​doc/​LICENSE|under a commercial license]].+John the Ripper is released [[http://​www.openwall.com/​john/​doc/​LICENSE.shtml|under GNU GPL v2 "or later", with portions also available under more relaxed terms]]. ​ John the Ripper //Pro// is released [[http://​www.openwall.com/​john/​pro/​doc/​LICENSE|under a commercial license]].
  
-Please note that GNU GPL version 3 differs significantly in both intent and outcome from version 2.  As [[http://​www.informationweek.com/​the-controversy-over-gpl-3/​d/​d-id/​1053031?​|many others do]], the John The Ripper development team considers it more problematic and prefers that it not be used. +[[:​people/​solar|Solar Designer]]'​s current preference is that new code contributions be licensed under very liberal terms:
- +
-Now, as it relates to [[patches|code contributions from the user community]],​ which is the primary topic for this wiki page, things get trickier. ​ Many contributors did not care to either explicitly place their code in the public domain or include/​specify a license for it.  This has been addressed by a Debian package maintainer approaching the contributors in [[http://​lists.alioth.debian.org/​pipermail/​pkg-john-devel/​2009-January/​|January]] and [[http://​lists.alioth.debian.org/​pipermail/​pkg-john-devel/​2009-February/​000279.html|February]] 2009. +
- +
-[[:​people/​solar|Solar Designer]]'​s current preference is that code contributions be licensed under very liberal terms:+
  
 <​code>/​* <​code>/​*
Line 18: Line 14:
 This is a heavily cut-down "BSD license"​. ​ You may also include the warranty disclaimer [[http://​cvsweb.openwall.com/​cgi/​cvsweb.cgi/​Owl/​packages/​passwdqc/​passwdqc/​LICENSE?​rev=1.7|like we did in the license for passwdqc]]. This is a heavily cut-down "BSD license"​. ​ You may also include the warranty disclaimer [[http://​cvsweb.openwall.com/​cgi/​cvsweb.cgi/​Owl/​packages/​passwdqc/​passwdqc/​LICENSE?​rev=1.7|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.  ​If you're modifying an existing source file written by othersyou may adjust ​the wording to refer to your "updates" ​rather than to the "​software" ​as a whole (the entire ​file will then likely need to be [[http://​www.openwall.com/​lists/​john-dev/​2011/06/02/12|re-licensed under the same terms]] by its other copyright holders).  If the only existing material you're reusing ​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 you may treat the entire file as your own work.+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 obfuscatedsuch 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 ​[[http://​www.openwall.com/​lists/​john-dev/​2012/01/11/1|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.
  
-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.+Overallwe'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).
  
-Please note that **//even when you changed someone else's file//**it should possibly ​include ​your license ​tooSee [[http://www.openwall.com/lists/john-dev/2012/01/11/1|this discussion]].+Historicallymany 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 [[http://lists.alioth.debian.org/pipermail/pkg-john-devel/2009-January/|January]] and [[http://lists.alioth.debian.org/​pipermail/​pkg-john-devel/​2009-February/​000279.html|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.
john/licensing.txt · Last modified: 2015/03/28 20:47 by solar
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate to DokuWiki Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki Powered by OpenVZ Powered by Openwall GNU/*/Linux