SharpZipLib (#ziplib, formerly NZipLib) is a Zip, GZip, Tar and BZip2 library written entirely in C# for the .NET framework. It is implemented as an assembly (installable in the GAC), and thus can easily be incorporated into other projects (in any .NET language). The creator of SharpZipLib put it this way: "I've ported the zip library over to C# because I needed gzip/zip compression and I didn't want to use libzip.dll or something like this. I want all in pure C#."
SharpZipLib was originally ported from the GNU Classpath java.util.zip library for use with SharpDevelop, which needed gzip/zip compression. bzip2 compression and tar archiving were added later due to popular demand.
The SharpZipLib homepage has precompiled libraries available for download, a link to the forum for support, release history, samples and more.
This software is released under the GNU General Public License, version 2 with an exception which allows linking with non GPL programs. The exception to the GPL is as follows:
Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination.
As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.
Module | Namespace |
---|---|
BZip2 implementation | ICSharpCode.SharpZipLib.BZip2.* |
Checksum implementation | ICSharpCode.SharpZipLib.Checksums.* |
Core utilities / interfaces | ICSharpCode.SharpZipLib.Core.* |
Encryption implementation | ICSharpCode.SharpZipLib.Encryption.* |
GZip implementation | ICSharpCode.SharpZipLib.GZip.* |
Tar implementation | ICSharpCode.SharpZipLib.Tar.* |
ZIP implementation | ICSharpCode.SharpZipLib.Zip.* |
Inflater/Deflater | ICSharpCode.SharpZipLib.Zip.Compression.* |
Inflater/Deflater streams | ICSharpCode.SharpZipLib.Zip.Compression.Streams.* |
SharpZipLib was initially developed by Mike Krüger. Past maintainers are John Reilly and David Pierson. The current maintainer is Neil McNeight.
Much existing Java code helped to speed the creation of this library. Therefore credits fly out to other people.
Zip/GZip implementation:
A Java version of the zlib which was originally created by the Free Software Foundation (FSF). So all credits should go to the FSF and the authors who have worked on this piece of code.
Without the zlib authors the Java zlib wouldn't be possible: Jean-loup Gailly, Mark Adler, and contributors of zlib.
Julian R Seward for the bzip2 implementation, and the Java port by Keiron Liddle of Aftex Software.
Credits for the tar implementation fly out to : Timothy Gerard Endres
Special thanks to Christoph Wille for beta testing, suggestions, the setup of the web site, and for his tireless efforts at cat herding.