Java Man Ponders Object Ownership

UPDATED: Sun's James Gosling proposes a spec to allow some file formats to remain in place no matter how they are modified.

UPDATED: For developers worried about digital rights, sometimes the simplest answer may be the best.

Consider the plea of Java programming language guru James Gosling, who this week suggested the time has come for a specification that would allow ownership of file formats to remain in place no matter how they are modified.

"For example, the file format used by most digital cameras," Gosling mused.

When a typical camera is set to record a JPEG , it's actually recording an EXIF file that uses JPEG compression to compress the photo data within the file.

Gosling, who currently serves as CTO of the Developer Product Group at Sun Microsystems , mused about the origin (particularly of ownership) of an object. The question he asks is, "What if the EXIF [Exchangeable Image File] header standard for JPEG (and other) files had a place for historical information?"

"Wouldn't it be cool if file formats of all kinds had provisions for recording the provenance of a file? So that Photoshop and other imaging applications could record and at least have a summary of what was done to the file?" Gosling said in his blog posting.

But could it work? Yes, in theory, Gosling went on.

"This would be vaguely like what happens with mod histories in source control systems like CVS [Concurrent Versioning System] and SCCS [Source Code Contol System], but integrated with the data, supported by the tools that do the modifications, carried with the file as it gets moved from place to place, and more automatic," he said.

While Gosling's EXIF example applies to image file formats, the concept could be applied to nearly any design that accommodates a header.

In the example of CVS, the Apache Software Foundation uses the code management system extensively in its platform because it allows for the ability to track and potentially revert incremental changes to the files. The system also allows for a reporting provision that is distributed to a mailing list as they are made, and can be used at the same time as many other developers.

With SCCS, Gosling's idea works even more profoundly as the core idea of the predecessor of Version Control Systems for Unix is the concept of checking in and out a file from an archive.

This happens through the use of keywords embedded in the source code that get expanded when the file is checked out. The technology also allows for the use of locks to prevent two people from editing the same file, something digital rights management enthusiasts might want to consider.

While it is still in the development stage, Microsoft is already doing similar things with WinFS in its next generation Windows operating system, code-named Longhorn.

"Everything that is stored in the WinFS store is an item and each item has metadata properties that are described by a schema. Items that follow the schema are stored in the WinFS store as serialized .NET objects and are accessed through T-SQL views that give access to the items' properties," Microsoft said in a January newsletter to its developers.

In the WinFS example, finding a file such as a photo stored on your disk involves: "querying the store against the metadata properties for an Image item, the information obtained from the EXIF header, as well as file information like the creation date and the actual bits that make up the image."






0 Comments (click to add your comment)
Comment and Contribute

 


(Maximum characters: 1200). You have characters left.