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