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