1d218770cSJoris Van Damme<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2d218770cSJoris Van Damme<html lang="en">
3d218770cSJoris Van Damme<head>
4d218770cSJoris Van Damme  <title>Proposal to Implement BigTIFF Support in LibTiff</title>
5d218770cSJoris Van Damme</head>
6d218770cSJoris Van Damme<body>
7d218770cSJoris Van Damme  <h1>Proposal to Implement BigTIFF Support in LibTiff</h1>
88a5381a0SJoris Van Damme  <p><b>NEWS:</b> We have located all four required sponsors. There are no more
9*7a17af90SJoris Van Damme    open slots. We will issue appropriate press release shortly.</p>
10d218770cSJoris Van Damme  <h2>0. Summary</h2>
11d218770cSJoris Van Damme  <p>BigTIFF logically extends the original TIFF file format (referred to as
12d218770cSJoris Van Damme    'ClassicTIFF' from this point on), breaking the 4 gigabyte boundary, in theory
13d218770cSJoris Van Damme    allowing files up to 18,000 petabytes in size. The BigTIFF specification is the
14d218770cSJoris Van Damme    result of work by a variety of parties on the LibTiff mailing list, including
15d218770cSJoris Van Damme    the current LibTiff maintainers, Joris Van Damme and Adobe staff. The BigTIFF
16d218770cSJoris Van Damme    specification has not yet been officially approved by the TIFF specification
17d218770cSJoris Van Damme    owner (Adobe) but implementation within LibTiff could accelerate that
18d218770cSJoris Van Damme    process.</p>
19d218770cSJoris Van Damme  <p>For more information on the BigTIFF file format, we recommend
20d218770cSJoris Van Damme    <a href="http://www.awaresystems.be/imaging/tiff/bigtiff.html">AWare Systems'
21d218770cSJoris Van Damme    BigTIFF page.</a></p>
22d218770cSJoris Van Damme  <p>BigTIFF is expected to be especially useful for people and vendors that are
23d218770cSJoris Van Damme    confronted with unusually large images, and still seek to use an open, simple,
24d218770cSJoris Van Damme    and extendable format. This requirement is frequently seen in the geospatial
25d218770cSJoris Van Damme    field, but also affects large format scanners, medical imaging and other
26d218770cSJoris Van Damme    fields.</p>
27d218770cSJoris Van Damme  <h2>1. Sponsoring</h2>
28d218770cSJoris Van Damme  <p>It is planned that LibTiff 4.0, the BigTIFF upgrade to LibTiff, would start
29d218770cSJoris Van Damme    March 1, 2007. A preliminary version (LibTiff 4.0alpha1) will be operational by
30d218770cSJoris Van Damme    June 15, 2007. Testing and final release improvements for LibTiff 4.0 will be
31d218770cSJoris Van Damme    completed by July 30, 2007.</p>
32d218770cSJoris Van Damme  <p>The LibTiff BigTIFF upgrade team is seeking USD 24,000 from four sponsors (USD
33d218770cSJoris Van Damme    6,000 each) to fund the project. Sponsorship payment will be invoiced upon
34d218770cSJoris Van Damme    delivery of the LibTiff 4.0alpha1 release (on or before June 15) with a 30 day
35d218770cSJoris Van Damme    payable, giving time for some technical review.</p>
36d218770cSJoris Van Damme  <p>In addition to the benefits of open interchange of BigTIFF data that comes from
37d218770cSJoris Van Damme    support in a public and free open source codec, sponsors will be given proper
38d218770cSJoris Van Damme    public acknowledgment. During development, they will be mentioned in the
39d218770cSJoris Van Damme    appropriate sections of the LibTiff and AWare Systems site.</p>
40d218770cSJoris Van Damme  <p>When LibTiff 4.0 with BigTIFF support is released, they will additionally
41d218770cSJoris Van Damme    receive public acknowledgment in a formal press release, distributed widely to
42d218770cSJoris Van Damme    news venues in the imaging and geospatial industries.</p>
43d218770cSJoris Van Damme  <p>A 'migration guide' document or any functional equivalent thereof will be
44d218770cSJoris Van Damme    included in the standard free distribution, but sponsors will additionally
45d218770cSJoris Van Damme    receive up to 20 hours of consulting and support on any BigTIFF migration issues
46d218770cSJoris Van Damme    that they may be facing, and/or any additional related requests they may have.</p>
47d218770cSJoris Van Damme  <h2>2. Development and Testing</h2>
48d218770cSJoris Van Damme  <p>The work will primarily be done by Joris Van Damme on behalf of his company
49d218770cSJoris Van Damme    AWare Systems. Joris was closely involved in the drafting of the BigTIFF file
50d218770cSJoris Van Damme    format proposal, and has also developed the proprietary AWare Systems TIFF
51d218770cSJoris Van Damme    codec that already supports BigTIFF. Joris Van Damme has a deep understanding
52d218770cSJoris Van Damme    of the TIFF format, and has been acting as a LibTiff co-maintainer for over a
53d218770cSJoris Van Damme    year, contributing the upgraded OJPEG codec as well as several other
54d218770cSJoris Van Damme    improvements.</p>
55d218770cSJoris Van Damme  <p>Joris and AWare Systems have agreed to crosstest their proprietary codec and
56d218770cSJoris Van Damme    LibTiff's support for BigTIFF extensively. Joris will also extend the test image
57d218770cSJoris Van Damme    library included with LibTiff, with a number of varying BigTIFF test files.
58d218770cSJoris Van Damme    These files will primarily include test files with issues that relate closely
59d218770cSJoris Van Damme    to the BigTIFF file format and the difference with ClassicTIFF. For instance,
60d218770cSJoris Van Damme    in BigTIFF the datatypes TIFF_LONG, TIFF_LONG8, TIFF_IFD and TIFF_IFD8 are all
61d218770cSJoris Van Damme    valid for tags pointing to additional IFDs, and thus files will be included to
62d218770cSJoris Van Damme    illustrate and enable testing all of these. Additionally, Joris will build a
63d218770cSJoris Van Damme    tool to enable creating test files that exceed 4 gigabyte, as these can of
64d218770cSJoris Van Damme    course not be included in the test suite in a more direct manner, and a tool to
65d218770cSJoris Van Damme    convert files from ClassicTIFF to BigTIFF, as well as the other way around for
66d218770cSJoris Van Damme    source BigTIFF files that do not exceed 4 gigabyte in size.</p>
67d218770cSJoris Van Damme  <p>Frank Warmerdam has also agreed to be involved in a consulting and validation
68d218770cSJoris Van Damme    role. Frank has been LibTiff's primary maintainer since approximately the year
69d218770cSJoris Van Damme    2000, develops large-image exploitation software for the geospatial industry
70d218770cSJoris Van Damme    (GDAL) and is currently President of the Open Source Geospatial Foundation
71d218770cSJoris Van Damme    (OSGeo). Frank will also be ensuring that BigTIFF improvements are made
72d218770cSJoris Van Damme    accessible to all users of the GDAL library.</p>
73d218770cSJoris Van Damme  <h2>3. Implementation Strategy</h2>
74d218770cSJoris Van Damme  <p>Many people who have a need for BigTIFF, use LibTiff already. We thus plan to
75d218770cSJoris Van Damme    support BigTIFF in LibTiff, applying a minimum change strategy much like the
76d218770cSJoris Van Damme    one that was applied in the creation of the new file format in the first
77d218770cSJoris Van Damme    place.</p>
78d218770cSJoris Van Damme  <p>To support BigTIFF, we will use a 64bit integer datatype. It is anticipated
79d218770cSJoris Van Damme    that some older platforms will not be able to comply with this need, and for
80d218770cSJoris Van Damme    that reason we will encapsulate all required changes inside a conditional
81d218770cSJoris Van Damme    compilation switch.</p>
82d218770cSJoris Van Damme  <p>While it is anticipated that there will be ABI (application binary interface)
83d218770cSJoris Van Damme    changes as part of a BigTIFF support upgrade to LibTiff, and possibly some
84d218770cSJoris Van Damme    more to support other major upgrades to LibTiff, the plan is such that
85d218770cSJoris Van Damme    the source level API will remain compatible for most LibTiff applications.
86d218770cSJoris Van Damme    Applications using specialized interfaces may require some minor source code
87d218770cSJoris Van Damme    changes, but we will provide backwards compatibility to support the majority
88d218770cSJoris Van Damme    of existing application level code.</p>
89d218770cSJoris Van Damme  <p>The resulting LibTiff version would transparently support reading traditional
90d218770cSJoris Van Damme    32bit ClassicTIFF files, and 64bit BigTIFF files, as well as writing either
91d218770cSJoris Van Damme    ClassicTIFF or BigTIFF files based on a flag in the TIFFOpen/TIFFClientOpen call.</p>
92d218770cSJoris Van Damme  <h2>4. Intellectual Property and Licensing</h2>
93d218770cSJoris Van Damme  <p>The licensing agreement of LibTiff will remain unchanged.</p>
94d218770cSJoris Van Damme  <h2>5. Contact information</h2>
95d218770cSJoris Van Damme  <p>Please contact <a href="mailto:[email protected]">Frank Warmerdam</a> and/or
96d218770cSJoris Van Damme    <a href="mailto:[email protected]">Joris Van Damme</a> for more information
97d218770cSJoris Van Damme    on sponsorship agreements.</p>
98d218770cSJoris Van Damme</body>
99d218770cSJoris Van Damme</html>